MedlarTea / s2s-teach-and-repeat

It's a scan-to-scan-based 2d LiDAR teach and repeat.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scan-to-Scan-based Teach and Repeat

This work is not done yet.

Introduction

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

Hardware

Our sony joystick:

sony-joystick

Software

Some cpp packages

  • Eigen
  • OpenCV
  • PCL

Here, we use ETH pointmatcher to accomplish ICP process for its high speed.

  1. Follow pointmatcher to install pointmatcher
  2. Install libpointmatcher_ros to Connect ROS and PCL:
git clone https://github.com/MedlarTea/libpointmatcher
# then copy "libpointmatcher_ros" to your catkin_ws/src

Compile

Teach and Repeat

Observations

  • Wheel odometry information is much precise than ICP pose estimation

Acknowledge

This project depends a lot on libpointmatcher and ethzasl_icp_mapping

About

It's a scan-to-scan-based 2d LiDAR teach and repeat.

License:MIT License