This post was updated on .
Sent from my iPhone |
Hi Mathieu,
1/I use both laser, kinnect and volksbot odometry to setup rtabmap. However, only the volsbot publish /odometry to my rtabmap topic now. I not see rtabmap refining with ICP odometry like you said. 2/ In your demo_hector_mapping file, you extract the ICP odometry from the laser using hector-slam, but in this file only laser publish odometry to rtabmap. I not see any odom_combined in this file, too. Cheers, |
Administrator
|
Hi,
1) Are rtabmap subscribed to laser scan? Are the parameters in the example set as the same? Run the robot mapping demo and see what happens. You can try enable/disable some parameters of demo_robot_mapping.launch to see the effect. 2) Yes, it is on purpose. It is an example where you don't have odometry on the robot, and you want to use only laser scan to generate it. For odometry fusion, there is no example in rtabmap because it would be done by robot_localization or any other sensor fusion package. You should look at robot_localization page for examples, and use its output for rtabmap node. I am limited on hardware I can use and time I have to make tutorials, so I cannot make examples for all sensor combinations. cheers, Mathieu |
Hi Mathieu,
I want to try rtabmap on turtlebot simulation because turtlebot have imu. But comeback to the question I ask you before, I still cannot run rtabmap with turtlebot simulation in gazebo. 1/ roslaunch turtlebot_bringup minimal.launch: on your tutorial you said to run this file, but this file don't have kinnect camera and simulation world, how can robot can map? Therefore I run the turtlebot_gazebo turtlebot_world first. This is my turtelbot_bringup files: <launch> <arg name="world_file" default="$(env TURTLEBOT_GAZEBO_WORLD_FILE)"/> <arg name="base" value="$(optenv TURTLEBOT_BASE kobuki)"/> <!-- create, roomba --> <arg name="battery" value="$(optenv TURTLEBOT_BATTERY /proc/acpi/battery/BAT0)"/> <!-- /proc/acpi/battery/BAT0 --> <arg name="gui" default="true"/> <arg name="stacks" value="$(optenv TURTLEBOT_STACKS hexagons)"/> <!-- circles, hexagons --> <arg name="3d_sensor" value="$(optenv TURTLEBOT_3D_SENSOR kinect)"/> <!-- kinect, asus_xtion_pro --> <include file="$(find gazebo_ros)/launch/empty_world.launch"> <arg name="use_sim_time" value="true"/> <arg name="debug" value="false"/> <arg name="gui" value="$(arg gui)" /> <arg name="world_name" value="$(arg world_file)"/> </include> <include file="$(find turtlebot_gazebo)/launch/includes/$(arg base).launch.xml"> <arg name="base" value="$(arg base)"/> <arg name="stacks" value="$(arg stacks)"/> <arg name="3d_sensor" value="$(arg 3d_sensor)"/> </include> <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher"> <param name="publish_frequency" type="double" value="30.0" /> </node> <!-- Fake laser --> <node pkg="nodelet" type="nodelet" name="laserscan_nodelet_manager" args="manager"/> <node pkg="nodelet" type="nodelet" name="depthimage_to_laserscan" args="load depthimage_to_laserscan/DepthImageToLaserScanNodelet laserscan_nodelet_manager"> <param name="scan_height" value="10"/> <param name="output_frame_id" value="/camera_depth_frame"/> <param name="range_min" value="0.45"/> <remap from="image" to="/camera/depth/image_raw"/> <remap from="scan" to="/scan"/> </node> </launch> Then I run rtabmap, andOpenNI not found devices, but I stlll can receive odom: and the ros_graph like this |
Administrator
|
Hi,
I updated demo_turtlebot_mapping.launch with "simulation" argument and added a Simulation section on the tutorial page. You may have the same problem than me with the depthimage_to_laserscan nodelet not working, follow indications in the tutorial to get /scan published. cheers, Mathieu |
Hi Mathieu,
Thank you so much, I do follow your tutorial, add some octomap and this is the new result Cheers, Thanh |
Free forum by Nabble | Edit this page |