Assembling, Powering, and Running Software on the TortoiseBot
24 May 2024
The TortoiseBot project focuses on the complete setup, assembly, and operation of the TortoiseBot using ROS1 Noetic and ROS2 Galactic. This project demonstrates the ability to follow detailed assembly instructions, procure necessary components, configure network settings, and control the robot using ROS frameworks. The project presented a valuable opportunity to build a robot from scratch, delving into both the electronics and mechanics side of robotics, complementing the programming skills extensively evidenced in other portfolio entries.
The project is divided into two main parts: assembling the TortoiseBot and running software on it.
Initial Setup: The TortoiseBot requires assembly following the detailed instructions provided by Rigbetel Labs. This includes mounting the hardware components and integrating the power system.
Power Configuration: Instead of using a battery, a 12V power supply was used to power the TortoiseBot. The connection setup involved using jumper wires and power jack adapters to connect the power supply to the power board of the TortoiseBot. Once the connections were made, the robot was powered on successfully, with the battery indicator lighting up and the lidar starting to rotate.
Wi-Fi Configuration: The first step was to connect the TortoiseBot to the local Wi-Fi network. This involved editing configuration files on the SD card of the Raspberry Pi, such as wpa_supplicant.conf
, to include the Wi-Fi SSID and password. The connectivity was verified using a network scanner app (Fing).
Connecting and Controlling the Robot: A direct SSH connection was established from a local computer to the TortoiseBot. This involved identifying the robot’s IP address on the network and using SSH to log in and launch the ROS drivers.
Testing and Verification: The control of the robot was verified by publishing velocity commands to the /cmd_vel
topic and observing the robot’s movement. Additionally, RViz was used to visualize the robot’s sensors and TF data.
The successful assembly and operation of the TortoiseBot demonstrated the ability to integrate hardware and software components, configure network settings, and control the robot using ROS1 and ROS2. This project showcases a comprehensive understanding of robotics systems and practical implementation skills, gained through an intensive course focusing on the programming aspects of robotics.