I am not sure the best way to go about getting the word out on this but I have came up with I think a very useful idea that could possibly be implemented, but I am not familiar much at all with how the firmware of smoothie operates or the protocol it uses.
I am using my knowledge of drone building with use of sonar systems for object detection and avoidance. Note I did not write this code either, but it is all opensource and would love to reference it to write something for Smoothie.
My thoughts are to implement a cheap HC-SR04 Sonar on the bottom side of the gantry. This can scan the build plate per layer as the printer prints. Plot the X and Y data points to where it sees the closest objects (can be turned off until say 5-8mm of build height is achieved to make sure it can detect variations) and if a part is outside of the given area of extrusion by a certain tolerance (maybe another process that the altmega or an external system such as a raspberry pi can scan the gcode and find an "area" of extrusion which would be where the part is) and then this can be altered as the gcode is fed to the printer from the altmega or raspberry pi that this area is no longer active and to take a path around it.
I think a first step to seeing how well this could be implemented would be to first make the print abort if it does see an error on the build plate. It would prove we can get the sonar to detect errors and the smoothie could act on it.
Thoughts? Or am I just crazy? There are a lot of other details but I can only type so much at work without getting in trouble. Please feel free to chime in any input on this.