-
Notifications
You must be signed in to change notification settings - Fork 5
/
README
113 lines (83 loc) · 3.67 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
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