Difference between revisions of "ROS (Robot Operating System)"

From GICL Wiki
Jump to: navigation, search
(Created page with "== ROS (Robot Operating System) == http://www.ros.org/wiki/ === p2os === The ROS stack for hooking up to the pioneer. ==== Installing ==== http://www.ros.org/wiki/p2os/Tuto...")
 
(rviz)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== ROS (Robot Operating System) ==
+
We used [http://www.ros.org ROS] so we could take advantage of the large amount of packages it provides. This is so we don't have to reinvent the wheel.
http://www.ros.org/wiki/  
+
== p2os ==
 +
p2os is the ROS stack for communicating with the pioneer robot.
 +
An example of the pioneer robot using ROS and the navigation system: http://youtu.be/f3Iu2t0d3xo.
  
=== p2os ===
+
=== Installing ===
The ROS stack for hooking up to the pioneer.
+
Open up a terminal.
 +
Clone the git repository into your home directory:
 +
<pre>git clone <USER>@tux.cs.drexel.edu:~taw38/repos/robotlab.git</pre>
  
==== Installing ====
+
Enter the repository:
http://www.ros.org/wiki/p2os/Tutorials/Getting%20Started%20with%20p2os
+
<pre>cd ~/robotlab</pre>
After following the directions above, we have to set the p2os/port to our cable's device name:
+
<pre>$ rosparam set p2os/port /dev/ttyUSB0</pre>
+
  
==== Running ====
+
Then run the ros setup script.
Run on the base:
+
<pre>./ros/bin/setup-ros.bash</pre>
<pre>$ rosrun p2os_driver p2os</pre>
+
Run on the computer controlling the base:
+
<pre>$ rosrun p2os_dashboard p2os_dashboard</pre>
+
If you get an error like:
+
<blockquote>P2OS connection opening serial port /dev/ttyS0...</blockquote>
+
This command should fix it:
+
<pre>$ rosparam set p2os/port /dev/ttyUSB0</pre>
+
  
==== Localization Links ====
+
Wait for passwords, until you get the done prompt.
!! - Updated April 19th
+
  
* http://ros.org/wiki/ROS/Higher-Level%20Concepts
+
=== Control with Keyboard ===
* http://ros.org/wiki/tf
+
After starting the p2os driver and everything, you can control the robot via keyboard with:  
* http://www.ros.org/wiki/stage
+
<pre>$ roslaunch p2os_launch teleop_keyboard.launch</pre>
* http://www.ros.org/wiki/base_local_planner
+
 
* http://ros.org/wiki/navigation
+
=== rviz ===
* http://ros.org/wiki/robot_pose_ekf/Tutorials/AddingGpsSensor
+
Just launch the robot's rviz launch with (robot lab is the git repository root):
* http://ros.org/wiki/robot_pose_ekf
+
<pre>$ cd robotlab/ros/stacks/unicorn
* http://ros.org/wiki/amcl
+
$ roslaunch unicorn.launch</pre>
* http://ros.org/wiki/tf/Tutorials/Introduction%20to%20tf
+
* http://www.ros.org/doc/api/nav_msgs/html/msg/Odometry.html
+
* http://www.ros.org/doc/api/sensor_msgs/html/msg/Imu.html
+
* http://www.ros.org/wiki/navigation/Tutorials/RobotSetup
+

Latest revision as of 22:15, 18 June 2012

We used ROS so we could take advantage of the large amount of packages it provides. This is so we don't have to reinvent the wheel.

Contents

p2os

p2os is the ROS stack for communicating with the pioneer robot. An example of the pioneer robot using ROS and the navigation system: http://youtu.be/f3Iu2t0d3xo.

Installing

Open up a terminal. Clone the git repository into your home directory:

git clone <USER>@tux.cs.drexel.edu:~taw38/repos/robotlab.git

Enter the repository:

cd ~/robotlab

Then run the ros setup script.

./ros/bin/setup-ros.bash

Wait for passwords, until you get the done prompt.

Control with Keyboard

After starting the p2os driver and everything, you can control the robot via keyboard with:

$ roslaunch p2os_launch teleop_keyboard.launch

rviz

Just launch the robot's rviz launch with (robot lab is the git repository root):

$ cd robotlab/ros/stacks/unicorn
$ roslaunch unicorn.launch