This project was focused on creating a robot for the purpose of inspecting areas around Jefferson Lab. Its main focus is the data center at Jefferson Lab which has small corridors (about 4 ft in width) for the robot to traverse. Also, the robot has an extendable, controllable elevator with a camera at the end point; so the viewer can adjust the height of the camera as well as the camera angle.

Parts used:

  • ESP32
  • Raspberry Pi 4
  • Custom Motor Controller box deprecated
    • Now use Rev Robotics Control Hub with Android Board removed
  • GoBuilda parts
  • 3D-printed parts

Source code for movement as well as camera software can be found here.

Video showcasing the simulation and the actual robot:

Lessons Learned

  • Dockerfile for using python and pip - commit 6d9a91b
  • Dockerfile optimization - commit 06bd87d
  • Print statements ran under ‘while True’ loops can considerably slow down a python script
  • Networking in Python is very simple (UDP/TCP/WebSockets) - commit 08084a5
  • Add git submodules - commit db0496c
  • If you don’t have good documentation for your software project, it won’t be popular