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.
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.
- 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
Comments