README - RT-SLAM ROS node ------------------------- **WARNING: This package is a work-in-progress and still not stable!** "Quick"start 1) Install robotpkg (See http://robotpkg.openrobots.org) 2) Clone robotpkg wip (See http://robotpkg.openrobots.org/robotpkg-wip.html) 3) Install RT-SLAM $ cd $ROBOTPKG_BASE/src/robotpkg/wip/jafar-rtslam/ $ make update 4) Install ROS hydro (See http://wiki.ros.org/ROS/Installation) 5) Setup the catkin workspace (See http://wiki.ros.org/catkin/Tutorials/create_a_workspace) 6) Put rtslamros directory inside catkin_ws/src 7) Run $ cd ~/catkin_ws/ $ catkin_make Requirements ------------ - ROS hydro - RT-SLAM and its dependencies Instalation Notes ----------------- You can use robotpkg (http://robotpkg.openrobots.org/) to install RT-SLAM and its requirements. RT-SLAM can be found inside the "work-in-progress" directory (http://robotpkg.openrobots.org/robotpkg-wip.html). If you want debug symbols you should add the following lines to your $ROBOTPKG_BASE/etc/robotpkg.conf: PKG_OPTIONS.jafar-kernel+= debug PKG_OPTIONS.jafar-rtslam+= debug before installing rt-slam. You can also add other optinonal packages by adding the following line to your $ROBOTPKG_BASE/etc/robotpkg.conf: PKG_OPTIONS.jafar-rtslam+= qdisplay gdhe viam MTI posterLib To install RT-SLAM: $] cd $ROBOTPKG_BASE/src/robotpkg/wip/jafar-rtslam/ $] make update To install ROS follow the instalation notes here: http://wiki.ros.org/ROS/Installation Debug Notes ----------- RT-SLAM has some debug flags defined internally on its header files. To activate them, you can do the following: $ cd $ROBOTPKG_BASE/src/robotpkg/wip/jafar-rtslam $ make extract # Extract src code into work.<hostname> Then find the file with the definition inside work.<hostname> and edit to set whatever you want. Then, to recompile and install the package, do: $ cd $ROBOTPKG_BASE/src/robotpkg/wip/jafar-rtslam $ make install Important: you should keep yout work.<hostname> directory with the source codes to debug properly. It means do not run "make clean" or "make update" (the later automatically cleans the directory after the update). Available Nodes --------------- - jafardemo_node: Uses the original main.hpp file from RT-SLAM. You should run it with the options defined in RT-SLAM webpage. - rtslamros_node: Uses a modified main.hpp file, which attempts to use ROS hardwares defined in this ROS package. ROS hardware try to read topics only in online mode. Run it with the same arguments as jafardemo_node. - simplertslamros_node: Uses a simplified version of main.hpp. All parameters should be set in simplemain.hpp file before compilation. No arguments are required to run. How to use it ------------- Currently, the node which is usable (although maybe still unstable) is sumplertslam_node. Most of supported options are the same as RT-SLAM. You can check the options with: rosrun rtslamros simplertslamros_node -h To use the node in online mode from ROS topics, you should remap the topics "imu", "image_raw" and "camera_info" to the correct topic names. This can be done through a launch file or by command line. In the command line this can be done with: rosrun rtslamros simplertslamros_node imu:=/your/imu/topic image_raw:=/your/image_raw/topic camera_info:=/your/camera_info/topic If you want to run from bags, set the ROS param /use_sim_time to true using: rosparam set /use_sim_time true and run your bag with the --clock option rosbag play --clock path/to/your/bag/file