HowToInstallRoombaPackage

From robotica.unileon.es
Revision as of 12:21, 18 October 2013 by WikiSheriff (talk | contribs) (Get packages)

Jump to: navigation, search

Mode 1

Get packages

Step 1: Create a rosinstall file: (e.g turtlebot_roomba.install)

- hg:
     uri: http://code.google.com/p/parsec/
     local-name: RoCKIn/parsec
- svn:
     uri: http://code.in.tum.de/svn/turtlebot-roomba
     local-name: RoCKIn/turtlebot_roomba
- svn:
     uri: http://isr-uc-ros-pkg.googlecode.com/svn/stacks/lse_communication/trunk
     local-name: RoCKIn/lse_communication
- svn:
     uri: http://isr-uc-ros-pkg.googlecode.com/svn/stacks/serial_communication/trunk/cereal_port/
     local-name: RoCKIn/cereal_port

Step 2: In your ROS workspace you can launch

rosinstall . turtlebot_roomba.install

Step 3: Some packages have deprecated methods (they are from ROS electric), so we can remove them in the compilation. The turtlebot_roomba package doesn't need all of them.

ToDo: We should fix them but I haven't got time. Also the dependencies of turtlebot_roomba should be checked
Parsec

We can move outside folder parsec:

cmd_vel_safety_filter  gmapping_offline  parsec_arduino  parsec_arduino_tests  tf_odometry_relay

We need to fix the dependencies in some stacks:

 
diff -r f47a20bb44a5 parsec_bringup/manifest.xml
--- a/parsec_bringup/manifest.xml	Fri Mar 30 09:32:23 2012 -0700
+++ b/parsec_bringup/manifest.xml	Fri Oct 18 14:04:22 2013 +0200
@@ -15,7 +15,7 @@
   <depend package="rospy" />
   <depend package="geometry_msgs" />
   <depend package="priority_mux" />
-  <depend package="cmd_vel_safety_filter" />
+  <!-- <depend package="cmd_vel_safety_filter" /> -->
   <depend package="compressed_visualization_transport" />
 
 </package>
diff -r f47a20bb44a5 parsec_navigation/manifest.xml
--- a/parsec_navigation/manifest.xml	Fri Mar 30 09:32:23 2012 -0700
+++ b/parsec_navigation/manifest.xml	Fri Oct 18 14:04:22 2013 +0200
@@ -16,6 +16,8 @@
   <depend package="move_base" />
   <depend package="navfn" />
   <depend package="parsec_perception" />
-  <depend package="point_cloud_converter" />
+  <!-- <depend package="point_cloud_converter" /> -->
+  <depend package="pointcloud_to_laserscan" />
+<depend package="sensor_msgs"/><!-- for point cloud should be removed-->
   <depend package="rcconsole" />
 </package>
diff -r f47a20bb44a5 parsec_odometry/manifest.xml
--- a/parsec_odometry/manifest.xml	Fri Mar 30 09:32:23 2012 -0700
+++ b/parsec_odometry/manifest.xml	Fri Oct 18 14:04:22 2013 +0200
@@ -16,6 +16,6 @@
   <depend package="parsec_msgs" />
   <depend package="nav_msgs" />
   <depend package="sensor_msgs" />
-  <depend package="eigen" />
+ <!--  <depend package="eigen" /> -->
 
 </package>
diff -r f47a20bb44a5 rcconsole/include/rcconsole/log_filter.h
--- a/rcconsole/include/rcconsole/log_filter.h	Fri Mar 30 09:32:23 2012 -0700
+++ b/rcconsole/include/rcconsole/log_filter.h	Fri Oct 18 14:04:22 2013 +0200
@@ -21,6 +21,9 @@
 
 #include <rosgraph_msgs/Log.h>
 
+#include "ros/ros.h"
+#include "std_msgs/String.h"
+
 namespace rcconsole {
 
 class LogFilter : public nodelet::Nodelet {
rurtlebot_roomba

we need to fix a problem with a deprecated method

 

Index: turtlebot_node/src/turtlebot_node/create_sensor_handler.py
===================================================================
--- turtlebot_node/src/turtlebot_node/create_sensor_handler.py	(revisión: 29)
+++ turtlebot_node/src/turtlebot_node/create_sensor_handler.py	(copia de trabajo)
@@ -35,12 +35,14 @@
 import logging
 import time
 import rospy
+import genpy
 
 from math import radians
 from turtlebot_driver import SENSOR_GROUP_PACKET_LENGTHS
 
 
-_struct_I = roslib.message.struct_I
+_struct_I = genpy.message.struct_I
 _struct_BI = struct.Struct(">BI")
 _struct_12B2hBHhb7HBH5B4h = struct.Struct(">12B2hBHhb7HBH5B4h")
 
@@ -75,7 +77,7 @@
 
         return msg
     except struct.error, e:
-      raise roslib.message.DeserializationError(e)
+	raise genpy.message.DeserializationError(e)
 
 class CreateSensorHandler(object):

Mode 2