@sebkritikel sorry I missed your reply - thanks for your valuable suggestions!

Latest posts made by SimonM
-
RE: Would RRF be suitable for an automatic storage machine?
-
RE: Would RRF be suitable for an automatic storage machine?
@infiniteloop Yes, with those additional comments, it does seem like an external SBC for the higher level operation would make sense, thanks.
-
RE: Would RRF be suitable for an automatic storage machine?
who then can trigger events (invoke sub-programs), which is useful to control actuators etc.
Excellent, this sounds useful to automate / iterate over checking for new items at the "goods in" buffer area. I could have four positions, each connected to a GPIO that would alert the control application if an item needed to be collected.
...I would add potential jams and other malfunctions.
Yes, as you suggest, this is an area which could have a broad range of complexity. I would hope that slotted optical beam-break switches, inductive probes and mechanical microswitches will be easily accommodated in the GPIO scheme, although I understand that I might need to multiplex them into an aggregator to reduce the number of controller board GPIOs they occupy. E.g. all the machine door microswitches could be aggregated onto one GPIO. I might also investigate the use of stallguard to detect moving parts collision.
I would certainly be happy with a FIFO system to start with. Two main operating modes will be "automatic storage" and "automatic retrieval". In "AS" mode, sense any item which has been placed in the "goods in" buffer area, which will be a set of storage positions identical to the storage rack positions but are accessible to the user, or another machine in future. Then move to an occupied "goods in" position, pick the "pallet" up (which will be the adapter plate I previously mentioned, where the cables are clipped and excess length stowed). Then move to the next vacant storage rack position and deposit the pallet, before returning to an idle position or collecting the next item in the "goods in" buffer. "AR" mode would check for vacant positions in the "goods in" buffer area and load items into them, in the same order in which the storage racks were filled.
trivial cases can be scripted and run on a Duet
I'm hopeful that what I describe above could fit this scenario. I think I can see the kind of script which would be adaptable to save storage position status (vacant/filled) to a file on the SD card. I don't think I will be doing sufficient numbers of movements to cause issues with SD card storage, but I will investigate alternatives.
Do you have a concept of necessary controls -
Estop! And then I would want a mode select, which could be a toggle switch on a GPIO, and a run/idle button, which could be a latching push switch or another toggle/rocker switch on GPIO. A basic display to give error status information, along with a momentary push button might be useful to clear errors after user investigation and attempt to follow the programme. I would use a PanelDue or the web interface if it became clear that these are easy to configure as a non-traditional HMI. Open to other suggestions.
So for my basic implementation, which would be a "minimum viable product" for our own use, I think RRF/Duet Duet 3 Mini 5+ might be able to do what I need.
Thanks for all your advice!
-
RE: Would RRF be suitable for an automatic storage machine?
@infiniteloop thank you for replying. I agree there are many similarities between a PnP machine and an ASRS. I had searched for the latter on the forum with no results. After widening to "PNP" (most results are related to inductive endstop sensors) and "pick and place" there are still few results. Most of them are about getting the configuration to the point where OpenPNP can interface with the controller board and "take over" from there, which doesn't give me much insight.
I have looked at Marlin as a potential machine control firmware as it is used for the Opulo LumenPnP machines, however, I understand the founders had a good relationship with the Marlin dev team early on in the project and were able to make the changes needed via their help. I do not have that advantage so am attracted to the flexibility of RRF.
I can provide the following meat that might stimulate further thoughts and discussion:
- I can assure you I am not involved in an academic exercise. I want a machine, I have experience of designing, building and upgrading my own 3D printers and have most of the skills needed to complete this project already. The higher level software control is where I am least experienced and will need to do most work. I am looking for an adaptable machine controller firmware so I can spend my effort developing higher level behaviour, rather than debugging the lower levels.
- I have been conceptualising all the various parts of this machine for a while and am investigating one aspect of it here on this forum. I did not want to waste my or your time with details which may not be needed for general comment on the suitability of RRF for an ASRS application. I am happy to provide more detail if it assists the conversation. I would be interested in hearing more about your recommended approach to the second step in developing a software model. Are there existing well-trodden approaches to custom machine software design, or is a particular language and set of software tools suggested? ROS has the Gazebo simulator - do you think that's the kind of thing needed or is there something else, or am I better off looking at generating GCODE from a particular generator, like fullcontrol or a python script?
- Where I see similarities between ASRS application and 3D printing - bed probing. The storage locations may not be perfectly spaced and even with guides to accommodate inaccurate positioning, I might prioritise a feature where the effector can measure and the system store the locations more accurately. Similarities between PNP and ASRS - Feeders are somewhat similar to the pick-up positions I'm planning, so I'm sure there's plenty to learn from PNP control software designs. There are clear differences, in that most CNC machine controls run a sequence of operations which are finite. ASRS would have to continually loop over checking the pick-up positions, moving parts to free storage locations and recording the occupancy status of each storage position.
- The items are cable assemblies which have their ends coated and the storage area is where they dry. They will be gripped by their cables and hang down, both in transit and while in storage. Longer cable assemblies may need their uncoated segments coiled to ensure the storage racks can be as close to the floor as possible. Because of the variation in cable diameter and length (possibly need to coil some) I plan to use an interface plate which the cables are clipped to but provides an easier effector interface than if the effector had to try and grasp the cables with a gripper. The plate will also simplify hanging in the storage/drying positions on the racks.
-
Would RRF be suitable for an automatic storage machine?
I have a need to move small items and store them on racks. The mechanics would be comfortably within the range of a Cartesian 3 axis robot based on V-slot beams and carriages.
Although automatic storage and retrieval systems (ASRS) are common industrial items, it seems there are relatively few diy attempts published to any great level of completion, beyond basic proofs of concept (please share links if I'm wrong on this).
I am seeking opinion from those who are familiar with RRF and perhaps adapting it to original applications, whether you think RRF should be shortlisted in my consideration for a machine controller for my ASRS. As well as the main 3D kinematics, I envisage that the effector may need an RC servo to lock payloads in place and a few limit switches to detect if a payload is present or not. I envisage a small set of loading points, where items will be manually placed prior to automatic storage on the racks. The system will need to detect when these loading positions are occupied without using the effector, so I imagine an optical or inductive sensor will be needed on each one.
Are there any existing features which might be particularly useful? I'm thinking of tool change routines which could be adapted to place an item on its rack or pick it up again.