nav2d - Problems getting it working on a real robot
Hi,
I'm trying to get nav2d to work. I have a launch file on my real robot which looks like:
<launch>
<node name="toeminator_ros_bridge" pkg="toeminator_ros_bridge" type="toeminator_ros_bridge_node"/>
<node pkg="tf" type="static_transform_publisher" name="static_transform_publisher3" args="1 0 0 0 0 0 1 base_link base_laser_link 100"/>
<node name="depthimage_to_laserscan" pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" >
<remap from="image" to="/openni2_camera/depth/image_raw"/>
<param name="output_frame_id" value="base_laser_link"/>
</node>
<node name="openni2_camera" pkg="openni2_camera" type="openni2_camera_node" />
</launch>
and a launch file on the PC to do all the nav2d work which looks like:
<launch>
<!-- Some general parameters -->
<param name="use_sim_time" value="false" />
<rosparam file="$(find nav2d_tutorials)/param/ros.yaml"/>
<!-- Start Stage simulator with a given environment -->
<!--node name="Stage" pkg="stage_ros" type="stageros" args="$(find nav2d_tutorials)/world/tutorial.world">
<param name="base_watchdog_timeout" value="0" />
</node-->
<!-- Start the Operator to control the simulated robot -->
<node name="Operator" pkg="nav2d_operator" type="operator" >
<remap from="scan" to="base_scan"/>
<rosparam file="$(find nav2d_tutorials)/param/operator.yaml"/>
<rosparam file="$(find nav2d_tutorials)/param/costmap.yaml" ns="local_map" />
</node>
<!-- Start Mapper to genreate map from laser scans -->
<!--node name="Mapper" pkg="nav2d_karto" type="mapper">
<rosparam file="$(find nav2d_tutorials)/param/mapper.yaml"/>
</node-->
<!-- Start the Navigator to move the robot autonomously -->
<!--node name="Navigator" pkg="nav2d_navigator" type="navigator">
<remap from="cmd" to="cmd_vel"/>
<rosparam file="$(find nav2d_tutorials)/param/navigator.yaml"/>
</node-->
<!--node name="GetMap" pkg="nav2d_navigator" type="get_map_client" /-->
<!--node name="Explore" pkg="nav2d_navigator" type="explore_client" /-->
<!--node name="SetGoal" pkg="nav2d_navigator" type="set_goal_client" /-->
<!-- Start the joystick-driver and remote-controller for operation-->
<node name="Joystick" pkg="joy" type="joy_node" />
<node name="Remote" pkg="nav2d_remote" type="remote_joy"></node>
<!-- Pioneer model for fancy visualization -->
<!-- Comment this out if you do not have the package 'p2os' available! -->
<include file="$(find p2os_urdf)/launch/pioneer3at_urdf.launch" />
<node name="front_left_wheel" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 p3at_front_left_hub p3at_front_left_wheel 100" />
<node name="front_right_wheel" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 p3at_front_right_hub p3at_front_right_wheel 100" />
<node name="back_left_wheel" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 p3at_back_left_hub p3at_back_left_wheel 100" />
<node name="back_right_wheel" pkg="tf" type="static_transform_publisher" args="0 0 0 0 0 0 p3at_back_right_hub p3at_back_right_wheel 100" />
<!-- RVIZ to view the visualization -->
<node name="RVIZ" pkg="rviz" type="rviz" args=" -d $(find nav2d_tutorials)/param/tutorial1.rviz" />
</launch>
I assume (correct me if the assumption is incorrect) that if I bring both these up and use to joystick to point the robot fwd then it will just start roaming around building a map, as it does in the Stage tutorials?
Two issues I am seeing:
1) I am getting a TF tree disconnect between the map and the laser - showing in rviz as:
Transform [sender=unknown_publisher]
For frame [base_laser_link]: No transform to fixed frame [map]. TF error: [Could not find a connection between 'map' and 'base_laser_link' because they are not part of the same tree.Tf has two or more unconnected trees.]
My TF tree is here: https://www.dropbox.com/s/cg8zrudnblffj3h/frames.pdf?dl=0
2) Console is reporting:
[ERROR ...