In recent years Fermilab has had an interest in developing robots for remotely inspecting components in the accelerator tunnels, as well as an interest in integrating ROS with existing control systems. In my spare time I worked on this ROS controlled, 3D printed robot arm as a proof of concept to see if existing open source software might allow us to create a camera positioning platform with limited programming effort.
With a few modifications to several open-source software, I was able to put several ROS packages together to allow for control of the robot using a game controller or a 3DConnexion Spacemouse. The robot can also be controlled by specifying a desired endpoint and allowing the laptop to compute a path for each of the joints ahead of time. While COVID-19 has temporarily halted development of tunnel robots at Fermilab, this project was a great way to learn the art of debugging ROS nodes and a few new tricks in C++ and python.