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

From GICL Wiki
Jump to: navigation, search
(p2os)
(rviz)
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
http://www.ros.org/wiki/
+
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.
 
+
 
== p2os ==
 
== p2os ==
The ROS stack for hooking up to the pioneer.
+
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 ===
 
=== Installing ===
http://www.ros.org/wiki/p2os/Tutorials/Getting%20Started%20with%20p2os
+
Open up a terminal.
After following the directions above, we have to set the p2os/port to our cable's device name:
+
Clone the git repository into your home directory:
<pre>$ rosparam set p2os/port /dev/ttyUSB0</pre>
+
<pre>git clone <USER>@tux.cs.drexel.edu:~taw38/repos/robotlab.git</pre>
  
=== Running ===
+
Enter the repository:
Run on the base:
+
<pre>cd ~/robotlab</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 ===
+
Then run the ros setup script.
!! - Updated April 19th
+
<pre>./ros/bin/setup-ros.bash</pre>
  
* http://ros.org/wiki/ROS/Higher-Level%20Concepts
+
Wait for passwords, until you get the done prompt.
* http://ros.org/wiki/tf
+
* http://www.ros.org/wiki/stage
+
* http://www.ros.org/wiki/base_local_planner
+
* http://ros.org/wiki/navigation
+
* http://ros.org/wiki/robot_pose_ekf/Tutorials/AddingGpsSensor
+
* http://ros.org/wiki/robot_pose_ekf
+
* http://ros.org/wiki/amcl
+
* 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
+
 
+
 
+
== point cloud library ==
+
http://www.pointclouds.org
+
 
+
http://www.ros.org/wiki/pcl
+
 
+
 
+
== robot commands ==
+
 
+
after starting the p2os driver and everything, you can control the robot via keyboard with:
+
  
 +
=== Control with Keyboard ===
 +
After starting the p2os driver and everything, you can control the robot via keyboard with:
 
<pre>$ roslaunch p2os_launch teleop_keyboard.launch</pre>
 
<pre>$ roslaunch p2os_launch teleop_keyboard.launch</pre>
  
 
+
=== rviz ===
== slam, etc ==
+
Just launch the robot's rviz launch with (robot lab is the git repository root):
this diagram is important http://www.ros.org/wiki/navigation/Tutorials/RobotSetup?action=AttachFile&do=get&target=overview_tf.png
+
<pre>$ cd robotlab/ros/stacks/unicorn
 
+
$ roslaunch unicorn.launch</pre>
currently we don't think we have any sensor transforms
+
 
+
tf references a "world frame" -- is this our map?
+

Latest revision as of 23: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