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