@John Lau@
Email: <zliu7 AT e DOT ntu DOT edu DOT com>
ERROR in StackHeader. Usage: [[StackHeader(pkg_name opt_lang)]]
Overview
ethzasl_icp_mapping provides a real-time 2D and 3D ICP-based SLAM system that can fit a large variety of robots and application scenarios, without any code change or recompilation. Here we go into detail about how to apply this stack on a turtlebot.
Application
Setp 1: Modify codes.
In file: ~$/ethzasl_icp_mapping/ethzasl_extrinsic_calibration/src/tf_logger.cpp
In line 50: replace
node.param<string>("worldFrame", worldFrame, "/world");
with
node.param<string>("worldFrame", worldFrame, "/map");
then catkin_make it in terminal.
Setp 2: Open the following five terminals simultaneously.
In Terminal 1, with ROS hydro installed, just type:
roscore
In Terminal 2, to activate the 3D sensors of the robot:
roslaunch openni_launch openni.launch
or type in:
roslaunch turtlebot_bringup 3dsensor.launch
In Terminal 3, to activate the turtlebot:
roslaunch turtlebot_bringup minimal.launch
In Terminal 4, Make sure that it is included in your ROS_PACKAGE_PATH, then launch the tracker to get the location of the robot in a 3D map.
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:`pwd`/ethzasl_icp_mapping roslaunch ethzasl_icp_mapper tracker.launch
In Terminal 5, Make sure that it is included in your ROS_PACKAGE_PATH, then run the tf_logger to log the transform matrixes between /odom and /base_link, and /openni_rgb_optical_frame to /map.
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:`pwd`/ethzasl_icp_mapping rosrun ethzasl_extrinsic_calibration tf_logger
After you get enough data, press Ctl+C to end the above node, and run the following node to get the final result:
rosrun ethzasl_extrinsic_calibration optimize output.txt
Report a Bug
Please report bugs and request features using the github page.