Sunday, December 08, 2024
FPath: Graphical Stigmergy
One of the major problems with the Feynman Path approach is minimizing and correcting the unavoidable errors as large tools make smaller tools. One way forward is to simply accept that the machinery will be imprecise and use a closed loop feedback system to help eliminate those errors. Developing such a control system is the reason why most of the work on the FPath Project has so far been software.
In Experiment 004 the Walnut software was used to demonstrate a path following and error correction behavior using real time object recognition. A rather crude XY stage was used to move a 5mm red circle along a green path. The green path is entirely virtual and is overlaid on the video stream by software.
The video documentation for Experiment 004 can be found at the link: https://youtu.be/bCb2k8tKX6k
If you watch the video you will see that cheap DC motors glued to LEGO bricks are used to move the tool head. Why do this? Surely something of higher quality would be better? Well, yes and no. Yes, the quality of the movement could be improved and it certainly would not be hard to find better alternatives to the gear motors currently in use. But no, I actually want the poor quality movement. The goal here is not to have accuracy handed to me on a plate but rather to get experience taking inaccurate tools and making the resulting output accurate. This is a simulation of what needs to happen when larger machines make smaller machines and there is no realistic way to improve the accuracy of the parent. Errors must be corrected and it is much easier to get some practice at this while still at the macro scale.
Stigmergy is the use of the environment to coordinate actions. If you watch the video you will get a sense of how Graphical Stigmergy could be a useful part of an error correction system.
You might want to stay with steppers though as a first pass. The stepper driver code in Walnut is quite advanced. It runs in the PRU on the BBB which is essentially a 100MHz realtime CPU within a CPU. Steppers can be turned on and off and their step rate changed all without any gaps or long/short pulses on the other motors.
<< Home