This was a project I did to extend what I could do with a robotic arm which my Electronics Shop got in my senior year, as the programming language it came with was extremely outdated and limiting. Therefore, I created scripts in Python to translate XYZ (cartesian) coordinates into angles of the arm using inverse kinematics which I derived myself, then converted those into encoder values in files which were exported to the OEM software.

I also created a script to convert G-Code (CNC machine code) to Cartesian, then to actuator positions, which required interpolating curve commands and long lines as a result of the nonlinear movement between points that the robot naturally exhibits. I also developed code to graph the expected paths in 3D to access what my code was outputting using forward kinematics and MatPlotLib, as well as developing a script in AutoHotKey, a macro scripting language, to scrape encoder data off of the OEM software in order to be able to track the actual path taken by the robot.

With these, I was able to make the robot draw using a marker, and I designed mounts for a Dremel and a flex shaft to turn it into a small CNC milling machine which was able to cut foam effectively, though slowly.

https://github.com/VSoubbotin/Amatrol_Pegasus_Kinematics_Project

Leave a Reply

Your email address will not be published. Required fields are marked *