ROS Robot: Terminal‑Controlled Navigation on Raspberry Pi
A straightforward ROS robot capable of navigating via simple terminal commands. This guide walks you through hardware setup, software installation, and live control to transform any generic robot platform into a smart, ROS‑enabled machine.
Introduction
The goal of this project is to demonstrate how to bring ROS (Robot Operating System) to a Raspberry Pi‑based robot. By following these steps you can convert any generic hardware kit into a fully autonomous robot that responds to keyboard inputs and ROS topics.
Video walkthroughs:
Hardware Installation
- Attach the 9V battery pack to the +V and GND pins on the RasPiRobot Board V3 (refer to the board’s datasheet for pin layout).
- Wire the left motors to the L pins and the right motors to the R pins on the board.
- Mount the board directly on the Raspberry Pi 2.
Software Installation
- Flash Ubuntu Core 16 onto the Raspberry Pi 2: Ubuntu Core Installation Guide. Do not connect peripheral boards during this step.
- Ensure you provide at least 2A of USB power for stable operation.
- Pre‑install essential tools:
gcc,g++,python, andgit. - SSH into the Pi using a key that bypasses the password prompt. Run
sudo classicto switch to the full Ubuntu environment. - Install ROS Kinetic for ARM: ROS Kinetic ARM Installation.
- Clone and install the RaspiRobot V3 drivers:
cd ~ git clone https://github.com/simonmonk/raspirobotboard3.git cd raspirobotboard3/python sudo python setup.py install
- Clone this repository and build the workspace:
catkin_make
Running the Program
Open three separate terminal sessions via SSH.
- Terminal 1
- Execute
sudo classic. - Start the ROS master:
roscore.
- Execute
- Terminal 2
- Run
sudo classic. - Navigate to the project directory.
- Build the workspace:
catkin_make. - Source the setup file:
source ./devel/setup.bash. - Launch the keyboard controller:
rosrun robot_motion_control node_keyboard_motion_controller.py.
- Run
- Terminal 3
- Execute
sudo classic. - Switch to root:
sudo su(required for driver IO access). - Navigate to the project folder and source the setup file.
- Start the motor driver node:
rosrun rpi_support node_raspirobotv3_driver.py.
- Execute
Control commands (typed in Terminal 2):
- F – Move forward
- B – Move backward
- L – Turn right
- R – Turn left
- S – Stop
References
- ROS on Raspberry Pi
- Ubuntu Core Developer Setup
- Raspberry Pi 2/3 Ubuntu Core
- Monk Makes – RaspiRobot V3
Source: ROS Robot
Related Topics
- simple robot ros rpi hat
Manufacturing process
- Industrial Robots: Design, Manufacturing, and Future Trends
- DIY Wall‑E Inspired Raspberry Pi CD‑Box Robot
- Rolling Alarm Robot: A Smart, Mobile Wake‑Up System Powered by Raspberry Pi and Google Calendar
- Build a Motorized Minecraft Creeper Robot with Arduino
- Archimedes: The Emotion‑Sensing AI Robot Owl
- Nox: A DIY SLAM‑Enabled House‑Wandering Robot Powered by ROS
- Build a Speech-Driven Computer Vision Robot on Windows 10 IoT Core
- Simple Pi Robot – Build a 2‑WD Autonomous Rover with Raspberry Pi
- Advanced Snow Plow Robot for Efficient Winter Clearing
- Understanding Beverage Robots: Technology, Automation, and Their Role in the Beverage Industry