Replace Razor IMU with Tinkerforge IMU Brick v2
[ros_wild_thumper.git] / launch / wild_thumper.launch
index fbd17ec..7fd4e59 100644 (file)
@@ -1,26 +1,50 @@
 <?xml version="1.0"?>
 <launch>
-       <param name="robot_description" command="$(find xacro)/xacro.py $(find wild_thumper)/urdf/wild_thumper.urdf.xacro" />
+       <arg name="use_imu" default="true"/>
 
-       <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
+       <node pkg="nodelet" type="nodelet" name="nodelet_manager" args="manager"/>
 
-       <node pkg="diagnostic_aggregator" type="aggregator_node" name="diagnostic_aggregator" >
-               <rosparam command="load" file="$(find wild_thumper)/cfg/analyzers.yaml" />
+       <param name="robot_description" command="$(find xacro)/xacro.py $(find wild_thumper)/urdf/wild_thumper.urdf.xacro"/>
+
+       <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen">
+               <param name="publish_frequency" value="20.0" />
+       </node>
+       <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" output="screen"/>
+
+       <node pkg="diagnostic_aggregator" type="aggregator_node" name="diagnostic_aggregator" output="screen">
+               <rosparam command="load" file="$(find wild_thumper)/config/analyzers.yaml"/>
        </node>
 
-       <node pkg="wild_thumper" type="move_base.py" name="move_base" output="screen" respawn="true">
-               <param name="enable_odom_tf" value="false" />
+       <node pkg="wild_thumper" type="wt_node.py" name="wild_thumper" output="screen" respawn="false" required="false">
+               <param name="enable_odom_tf" value="true" unless="$(arg use_imu)"/>
+               <param name="enable_odom_tf" value="false" if="$(arg use_imu)"/>
        </node>
 
-       <node pkg="razor_imu_9dof" type="imu_node.py" name="imu_node" output="screen">
-               <rosparam file="$(find wild_thumper)/cfg/razor.yaml" command="load"/>
+       <node pkg="wild_thumper" type="tinkerforge_imu2.py" name="tinkerforge_imu_brick2" output="screen"/>
+
+       <node pkg="gpsd_client" type="gpsd_client"  name="gpsd_client" output="screen">
+               <param name="use_gps_time" value="false"/>
        </node>
 
-       <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" output="screen">
+       <node pkg="gps_common" type="utm_odometry_node" name="gps_conv" output="screen">
+               <remap from="odom" to="gps"/>
+               <param name="frame_id" value="odom"/>
+               <param name="child_frame_id" value="base_footprint"/>
+       </node>
+
+       <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" output="screen" if="$(arg use_imu)">
                <remap from="imu_data" to="imu"/>
+               <remap from="vo" to="gps"/>
+               <remap from="robot_pose_ekf/odom_combined" to="odom_combined"/>
                <param name="output_frame" value="odom"/>
                <param name="freq" value="20.0"/>
-               <param name="vo_used" value="false"/>
-               <param name="debug" value="true"/>
+               <param name="vo_used" value="true"/>
+               <param name="debug" value="false"/>
+               <param name="sensor_timeout" value="2.0"/>
        </node>
+
+       <include file="$(find yocs_cmd_vel_mux)/launch/cmd_vel_mux.launch">
+               <arg name="config_file" value="$(find wild_thumper)/config/cmd_vel_mux.yaml" />
+               <arg name="nodelet_manager_name" value="nodelet_manager" />
+       </include>
 </launch>