External Packages and Nodes
Terminology
+
: interesting topics and hardware abstraction~
: interesting, but quite a lot of work to do for hardware compatibility or mapping-
: bad solution
Overview
3D Mapping
SLAM
Octomap_server : +
3D occupancy grid mapping, independent from sensor, looks like it does not need odometry
- https://youtu.be/yp0f8-AKvDU
- https://wiki.ros.org/octomap_mapping
- https://wiki.ros.org/octomap_server
- http://octomap.github.io/
Plus :
- maintained
- compatible with melodic
- documentation available as well as many
- no odometry
- independent from hardware (only require the right input topics)
Minus :
- ...
Inputs required :
- sensor_msgs/PointCloud2
Hector slam : +
Not sure whether we're interested in hector slam itself, or on the
Plus :
- maintained
- not directly compatible with melodic, but easy to build it from source for melodic
- odometry not needed
Minus :
- mostly created for 2D mapping and robot navigation
- not much documentation
Inputs required :
- ...
REMODE : ~
modeling of many 3D objects, like rooms, persons, ...
Plus :
- noise reduction
- nice rendering
Minus :
- not much documentation and precisions about
hardware/drivers/topics
- maybe "too much" for our needs ?
- looks like it is not maintained anymore : latest commit was 4 years ago
Inputs :
- ...
LOAM
RTABMAP : +
Plus :
- maintained
- compatible with melodic
- real time mapping
- publishes :
- 3D point clouds
- 2D occupancy maps
- tutorials and documentation available
Minus :
- oriented towards robot navigation, although "top-down" modeling seems to be possible
Inputs required :
- odometry (not mandatory in all cases)
- scan 2D or 3D
Spin Hokuyo : +
It creates a point cloud with a 2D LiDaR and a servomotor. The interesting node compiles small point clouds to make one big point cloud. Could be very useful to make our digital model.
Plus :
- has a node that compiles point clouds and publish them on a topic
- great rendering
Minus :
- designed for another sensor, but the node that compiles point clouds does not care about that
- need some odometry work
Inputs required :
- laser scan
- odometry
Lego-LOAM : ~
Plus :
- good rendering
Minus :
- designed for robot navigation, not for "top-down mapping"
- designed for another sensor (velodyne)
Inputs :
- ...
Velodyne loam : ~
Plus :
- good rendering
- builds 3D maps
Minus :
- for velodyne sensor
- robot navigation
Inputs :
- ..
Bad solution -
- https://github.com/koide3/hdl_graph_slam : not what we need. creates maps with corridors and doors, but not "top-down" mapping
- http://wiki.ros.org/robot_pose_ekf : not what we need
- http://wiki.ros.org/ethzasl_icp_mapper : doc not up to date, slowly not maintained anymore, ...
- https://github.com/ethz-asl/libpointmatcher/blob/master/doc/index.md
Modbus
Object Tracking
Multiple objects lidar tracking : ~
Plus :
- tracks objects in real time
- hardware independent
Minus :
- 2D maps, most likely used for robot navigation
Inputs :
- ...
Object Detection
- https://www.acin.tuwien.ac.at/vision-for-robotics/software-tools/v4r-library/
- https://rgit.acin.tuwien.ac.at/v4r/v4r_ros_wrappers
- http://wiki.ros.org/object_recognition
- https://www.osrfoundation.org/ros2-object-detection-demo/
- http://wiki.ros.org/find_object_2d