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

From GICL Wiki
Jump to: navigation, search
(p2os)
(rviz)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
We're using ROS to do our work so we can easily translate it to the robot.
+
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 ==
The ROS stack for hooking up to the pioneer.
+
p2os is the ROS stack for communicating with the pioneer robot.
Here is an example of our robot using ROS and the navigation system:
+
An example of the pioneer robot using ROS and the navigation system: http://youtu.be/f3Iu2t0d3xo.
http://youtu.be/f3Iu2t0d3xo
+
 
 
=== Installing ===
 
=== Installing ===
http://www.ros.org/wiki/p2os/Tutorials/Getting%20Started%20with%20p2os
+
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>
  
After following the directions above, we have to set the p2os/port to our cable's device name:
+
Enter the repository:
<pre>$ rosparam set p2os/port /dev/ttyUSB0</pre>
+
<pre>cd ~/robotlab</pre>
=== Running ===
+
Run on the base:
+
<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>
+
==== 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>
+
  
== Localization ==
+
Then run the ros setup script.
TODO
+
<pre>./ros/bin/setup-ros.bash</pre>
We need to get this working to have the robot pose: http://ros.org/wiki/urdf/Tutorials/Using%20urdf%20with%20robot_state_publisher
+
* Do http://ros.org/wiki/navigation/Tutorials/RobotSetup step-by-step.
+
  
!! - Updated April 19th
+
Wait for passwords, until you get the done prompt.
  
* 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
+
* 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 ==
+
=== rviz ===
* http://www.pointclouds.org
+
Just launch the robot's rviz launch with (robot lab is the git repository root):
* http://www.ros.org/wiki/pcl
+
<pre>$ cd robotlab/ros/stacks/unicorn
== SLAM, tf, Navigation ==
+
$ roslaunch unicorn.launch</pre>
* This diagram is important http://www.ros.org/wiki/navigation/Tutorials/RobotSetup?action=AttachFile&do=get&target=overview_tf.png.
+
* Currently we don't think we have any sensor transforms.
+
* tf references a "world frame" -- is this our map?
+

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