This work is not done yet.
It's a scan-to-scan-based 2d LiDAR teach and repeat. In teaching step, it will store the "keyscan" after certain distance. In repeating step, it will repeat the teaching path by ICP (scan-to-scan) pose estimation and wheel odometry information.
In teach step:
- Input: odometry, 2d scan, and joystick
- Output: keyscans
In repeat step:
- Input: odometry, 2d scan, joystick and scans
- Output: cmd_vel
Our sony joystick:
Some cpp packages
- Eigen
- OpenCV
- PCL
Here, we use ETH pointmatcher to accomplish ICP process for its high speed.
- Follow pointmatcher to install
pointmatcher
- Install
libpointmatcher_ros
to Connect ROS and PCL:
git clone https://github.com/MedlarTea/libpointmatcher
# then copy "libpointmatcher_ros" to your catkin_ws/src
- Wheel odometry information is much precise than ICP pose estimation
This project depends a lot on libpointmatcher and ethzasl_icp_mapping