Studio Baksi software
The GUI for controlling Baksi the robot.
Studio Baksi GitHub repository
Development
I received a grant from the Icelandic Student Innovation Fund to hire a university student to make control software for Baksi the robot.
Guðjón Bergmann, aerospace engineering student at TU Delft, had the job to create the Studio Baksi Python program during the summer of 2023. So I scrambled to finish building Baksi, graduated from the Fab Academy and immediately sent Baksi to the Netherlands.
Here's a 1 minute dev log:
Features
First demo of the software sending commands to the robot. Notice that the robot representation in the GUI stops rotating long before the physical robot does. The max velocity in the firmware and the GUI need to be synchronized.
Guðjón got a lot further than I expected. He made a zoomable timeline where you can create, edit, copy and paste movement blocks and then you can save and load the whole file. He even figured out how to add PNGs of Baksi, to make it look nice.
When you play the motion in the GUI, the program sends commands to the joints in the arm via a USB serial connection. Currently, it also sends the commands when you're moving around the timeline with the mouse.
When I've tuned up the PID controllers on the motors and got Baksi operational, it will be interesting to see Baksi try to follow quick scrubbing in the GUI in real time. I say scrubbing because video editors are the inspiration for this GUI, and scrubbing is the term for dragging a slider to quickly navigate through a video timeline.
Guðjón made the GUI with PyQt5, which means that in theory, this set of Python scripts could be turned into a standalone program. I think fbs is probably the way to go to build a desktop app.
Guðjón Bergmann.
Why not ROS?
My initial plan was that Guðjón would use ROS (Robot Operating System) to build the software, but a fellow student at TU Delft who works with ROS advised him against it. ROS is for much bigger and more complicated systems, and it is complicated in itself. ROS also needs a computer running Ubuntu, but Baksi only has microcontrollers and I don't want to add more cost to the robot for an unclear return. Jake Read also advised me not to use ROS for this project.
Report (in Icelandic)
Download the Stúdíó Baksi report
Inverse kinematics
Here are some relationships between variables:
Kevin Mcaleer also has a promising Jupyter notebook.