RTAB-map implementation

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

RTAB-map implementation

Asimarif11
hello sir ,
for my final year project ive been told to implement 3d SLAM on a mobile robot but i dont have the privelage to bots lie turtlebot ( so itll be something like a stepper motor with encoders )

i know very little about programming ( im a BE student aeronautical engineering )
so sir where should i start from ? i have sent you an email as well i wondered if ull receive it so i started a thread instead . ill be asking some stupid questions as im a complete newbie but i know at the end of year ull be proud too :D
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

matlabbe
Administrator
You will have to know more about ROS. I recommend to start with ROS tutorials:
http://wiki.ros.org/ROS/Tutorials
If you have questions about ROS, you can look at the ROS forum for answers:
http://answers.ros.org/questions/

These tutorials can help too:
http://wiki.ros.org/turtlebot_navigation/Tutorials/Build%20a%20map%20with%20SLAM

When you will be able to understand 2D SLAM using gmapping or hector_mapping packages, come back to rtabmap for 3D SLAM.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

Asimarif11
ive already implemented RTABMAP using only kinect and have mapped my room .. i want to go inside the code .. like which language it is in ? and how to edit the code ?

since it is a FYP in B.Engineering , i need to go through the theory part as well ...

also i want to ask how hard will it be to implement it on a robot with my stepper motors and encoders ( and not on turtlebot etc ) .. do i need to learn programming alot for it ? what all changes will i have to make

sorry for noob questions sir :)
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

matlabbe
Administrator
Hi,
The programming language is C++. You may not have to play with the rtabmap code directly, as you can use the nodes directly. There are many demos on this page: http://wiki.ros.org/rtabmap_ros. Install the package binaries after installing ROS:
$ sudo apt-get install ros-indigo-rtabmap-ros
For theory about RTAB-Map, you can read the referred papers.

So you will need to learn about ROS and C++/Python programming if you want to implement new ROS nodes, refer to hyperlinks in the previous post. RTAB-Map can be implemented on any robots.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

Asimarif11
hi ,
in the tutorials i saw this for setting up my robot

 f your robot has odometry: the robot should publish his odometry in nav_msgs/Odometry format.

how to do this ? can u please explain a  little .
thanks
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

matlabbe
Administrator
Hi,

There is a good tutorial on ROS navigation stack about how to publish this message and /odom->/base_link TF:
http://wiki.ros.org/navigation/Tutorials/RobotSetup/Odom

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

Asimarif11
This post was updated on .
hi,
thanks for your previous replies

im using intel nuc with turtlebot .. and ive seen many versions of rtabmap .. like a ROS version and a standalone version . so which one should i install in the nuc ? and whats really the difference ?

also i want to know the difference between these
https://github.com/introlab/rtabmap_ros
and
https://github.com/introlab/rtabmap

thank you
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

matlabbe
Administrator
Hi,

rtabmap_ros is a wrapper of rtabmap for ROS. If you want to use rtabmap on a robot, I recommend to use rtabmap_ros. See this page: http://wiki.ros.org/rtabmap_ros, for demo and tutorials.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

Asimarif11
hi,
i want to know how to change the frequency of the RPLIDAR .. im using both kinect and LIDAR for RTAB-map and i cant figure out where in the code is the configuration located so that i can change it from 5.5Hz to lets say 10 Hz  which is the max it can support) . Any  help would be highly appreciated

thanks in advance  
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

matlabbe
Administrator
That parameter should be on the node publishing the laser scans. Well, on the RPLIDAR page, it is written:
The RPLIDAR core engine performs high speed distance measurement with more than 2000 samples per second. For a scan requires 360 samples per rotation, the 5.5hz scanning frequency can be achieved. Users can customized the scanning frequency from 2hz to 10hz freely by control the speed of the scanning motor. RPLIDAR will self-adapt the current scanning speed.
cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

Asimarif11
hi
yes i know that but how do i actually do it sir ?
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

matlabbe
Administrator
From the RPLIDAR manual:
Since USB adapter’s control signal MOTOCTL is fixed to high level, RPLIDAR’s scan motor is
always rotating at its highest speed which makes RPLIDAR working on a relative high scan
frequency. You can configure RPLIDAR’s scan frequency by controlling motor speed.
By connecting MOTOCTL signal to the device has PWM output function such as MCU’s
PWM output I/O port, RPLIDAR’s scan frequency can be locked in a proper value by adjust
duty ratio of PWM using the scan frequency feedback provided by RPLIDAR core.
If you need more help for this sensor, ask your questions to RPLIDAR support.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-map implementation

Elaine.Wu
In reply to this post by matlabbe
There is also an introduction on how to combine RPLIDAR with ROS programming

I would recommend you start with RPLIDAR A1 that only cost $99 and with a raspberry pi.
However, depends on your need, for longer radius range requirement, 25m RPLIDAR A3 might be more suitable.