A simple ROS robot which can navigate with terminal commands.
Introduction
This project is aimed at creating a robot based running ROS which allows us to turn any generic robot hardware platform into a smart robot.
Hardware Installation
Connect the 9V battery pack to the +V and GND pins of the RasPiRobot Board V3 (check board documentation for clarification).
Connect the left motors to L pins and the right motors to R pins of the RasPiRobot Board.
Plug the RasPiRobot Board on top of the Raspberry Pi 2.
Software Installation
- Install Ubuntu Core 16 on the RPi 2 – https://developer.ubuntu.com/core/get-started/raspberry-pi-2-3
a. Dont connect other boards while doing this.
b . Sufficient power (2A USB) is required for working with the raspberry pi 2.
c. Required Libraries – gcc
, g++
, python
, git
- SSH onto the raspberry pi – ssh @
a. Need the private key in ubuntu core account, it should not ask for password(the password does not work)
b. To get apt-get and other applications, run sudo classic
to get the classic ubuntu environment.
- Install the ROS Kinetic using the generic ARM installation – http://wiki.ros.org/kinetic/Installation/Ubuntu]
- Install the RaspiRobot V3 drivers – https://www.monkmakes.com/rrb3/
cd ~git clone https://github.com/simonmonk/raspirobotboard3.gitcd raspirobotboard3/pythonsudo python setup.py install
- Clone this repository and run
catkin_make
in the repository.
Running the program
- SSH onto the RPi in 3 separate terminal windows.
- Terminal 1
a. Run sudo classic
b. Start the roscore. roscore
- Terminal 2
a. Run sudo classic
b. Navigate to the project repo folder.
c. Run catkin_make
and then source ./devel/setup.bash
. d. Run rosrun robot_motion_control node_keyboard_motion_controller.py
. This starts the keyboard inputs for controlling the robot.
- Terminal 3
a. Run sudo classic
b. Run sudo su
. We need to do this as the driver library needs root access to manipulate IOs.
c. Navigate to the project repo folder, run source ./devel/setup.bash
.
d. Run rosrun rpi_support node_raspirobotv3_driver.py
. This starts the motor control part of the robot.
- In terminal 2, type in the control commmands
a. F – Move forward
b. B – Move backward
c. L – Move right
d. R – Move left
e. S – Stop
References
- http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi
- https://developer.ubuntu.com/core/get-started/developer-setup
- https://developer.ubuntu.com/core/get-started/raspberry-pi-2-3
- https://www.monkmakes.com/rrb3/
Source: ROS Robot