video.mp4
This page shows the main aspects of the robot. The robot uses Robot Operating System (ROS) runned on the RaspberryPi 2 Model B. The main goal of the robot is to grab, with a claw, a small object positioned in front of a wall with green background and release it in front another wall with purple background. The project is created for fun 🤓.
The task of this robot is very simple: first of all go to the first target, next grab the object positioned in front of it, then find the second target, and finally release the object in front of this. The environment with run the task is composed of three element: a green wall, with a size 10.5 × 30 cm, a purple wall, with a size of 21 × 30 cm, and a small cylinder object, with a size of 6 × 8 cm.
- Raspberry Pi 2 Model B
- Rapberry Pi Camera v1.3
- TP-Link Wireless T2U Nano
- Motors servo SG90 (x2)
- DC Motors (x2)
- Bridge-H L9110S
- HC-SR04
- 330 Ohm resistor (x2)
- Rover base kit
- Claw and Servo box
- Ultrasound sensor support
- Chassis second floor and supports
- Raspberry Pi Camera support
I have used the tool called Fritzing for design the rover’s connections. In the design is not present the Pi Camera, because Fritzing doesn’t support this type of connection.
The core of the robot is a RaspberryPi 2 Model B with Ubuntu 18.16 LTS operation system. The version of ROS chosen is Noetic Ninjemys (ROS 1 LTS). This version is the most recent of ROS with native support to 32-bit ARM architecture.
I use five topics, showed in the following graph, for manage all aspects of rover. The sixth topic, "/camera_frame_with_detection" is only for debugging use, it shows the frame edit published from "/main_camera".