Home

Awesome

LaMa ROS - Alternative Localization and Mapping for ROS.

https://github.com/iris-ua/iris_lama_ros

Build Melodic

Developed and maintained by Eurico Pedrosa, University of Aveiro (C) 2019.

Overview

ROS integration of LaMa, a Localization and Mapping package from the Intelligent Robotics and Systems (IRIS) Laboratory, University of Aveiro. It provides 2D Localization and SLAM. It works great on a TurtleBot2 with a Raspberry Pi 3 Model B+ and an Hokuyo (Rapid URG).

Build

To build LaMa ROS, clone it from GitHub and use catkin to build.

mkdir src
cd src
git clone https://github.com/iris-ua/iris_lama
git clone https://github.com/iris-ua/iris_lama_ros
cd ..
catkin config --extend /opt/ros/noetic
catkin build

The build was tested in Ubuntu 20.04 with ROS noetic. It will not build with catkin_make or catkin_make_isolated.

SLAM nodes

To create a map using Online SLAM execute

rosrun iris_lama_ros slam2d_ros scan_topic:=base_scan

and to create a map using Particle Filter SLAM execute

rosrun iris_lama_ros pf_slam2d_ros scan_topic:=base_scan

and to create a map using Graph SLAM execute

rosrun iris_lama_ros graph_slam2d_ros scan_topic:=base_scan

All nodes will publish to expected topics such as /map and /tf.

Offline Mapping (rosbag)

If you want to obtain a map from a rosbag and you want to save time (a lot), you can let iris_lama_ros "play" the rosbag for you.

roslaunch iris_lama_ros slam2d_offine.launch scan_topic:=base_scan rosbag:=/path/your/rosbag.bag

or

roslaunch iris_lama_ros pf_slam2d_offine.launch scan_topic:=base_scan rosbag:=/path/your/rosbag.bag

Parameters

Particle Filter SLAM only:

Graph SLAM only:

Services

Localization node

This node requires the existence of the /static_map service to load the map. To run the localization just execute

rosrun iris_lama_ros loc2d_ros scan:=base_scan

Please use rviz to set the initial pose. Global localization is not yet implemented.

Services

Parameters