BLG456E Assignment1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

BLG456E, Robotics, Spring 2014

Assignment #1
Lect. Dr. Damien Jade Duff
Res. Asst. aatay Ko

Due: March 2 (Sunday) 11:59pm
Submission type: An archive file of the source code and the report if available.
In this assignment, you are required to design a node which is able to move the robot
platform freely in an unknown environment. The robot should navigate around autonomously
while avoiding obstacles using it's laser scanner. You can use the following two topics to read laser
scans and operate the robot platform. You should create your own package which is named as
assignment1_studentID. For this assignment, a report is not mandatory, but your code needs to
be well commented and clear.
Further Information:
Before starting, make sure you have the necessary tools. For this assignment you would need
the Ubuntu 12.04 operating system, ROS Fuerte and the ros-fuerte-erratic-robot package. You can
follow the instructions given in the last part of the assignment to install ROS and the erratic-robot
package.
It is advised to go over the beginner level tutorials in the ROS web site. Steps you should
follow after ROS installation:
Create your own workspace and sandbox with rosbuild
(http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment Item 4 with
rosbuild)
Create your own package in your sandbox
(http://wiki.ros.org/ROS/Tutorials/CreatingPackage with rosbuild)
The 11th tutorial shows how to write simple subscriber and publisher for topics. You should
subscribe to read laser scans and publish velocity information to send movement commands
to the robot.
For reading laser scans, you can listen to the /base_scan/scan topic which publishes
messages in the format of sensor_msgs/LaserScan.msg. Information about this message format
can be found in the following link.
http://www.ros.org/doc/api/sensor_msgs/html/msg/LaserScan.html
To send movement commands to the robot platform, the /cmd_vel topic could be used.
This topic accepts messages in the geometry_msgs/Twist.msg format.
http://www.ros.org/doc/api/geometry_msgs/html/msg/Twist.html
Installing ROS and the erratic-robot package:
ROS Fuerte installation instructions for Ubuntu: http://ros.org/wiki/fuerte/Installation/Ubuntu
Alternatively, you can use a VirtualBox virtual image with Ubuntu 12.04.1 LTS and ROS Fuerte pre-
installed. It is packaged in an OVA (Open Virtualization Archive) file of approx. 2.4GB.
You would also need the erratic robot package (http://www.ros.org/wiki/Robots/Erratic). Once ROS Fuerte
is installed, you can simply use this command to install it:
sudo apt-get install ros-fuerte-erratic-robot
You can start the simulation in Gazebo with the following code:
roslaunch erratic_description erratic_laser_wg_world.launch
To test if the simulation is running correctly, the teleop node could be used. Launch it in another terminal using
the following code and drive the robot using WASD keys:
rosrun erratic_teleop erratic_keyboard_teleop
Note: By default gazebo simulation is paused. You can start it using play button located in gazebo simulator
screen.

You might also like