pipigenius / RemoteSLAM

Provide building blocks (software, hardware and algorithms) for implementing SLAM using small sensors

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RemoteSLAM

The purpose of this repo is to provide the building blocks (software drivers, hardware and algorithms) for implementing SLAM systems using small and lightweight sensors (e.g., cameras, imu). We plan to improve this repo as we go, while receiving assistance from the community. At this moment, the tool supports 3 types of monochrome cameras/sensors, combined with the Invense MPU 9X50 family:

For the lense, a fisheye or wide FOV lense is highly recommended. All our calibrations are based mainly on Kalibr: https://github.com/ethz-asl/kalibr .

Currently, the heavy lifting (SLAM algorithms) takes place on a remote host computer, receiving sensor data over wifi. This makes it easier to both test and develop different SLAM algorithms and new features.

SLAM algorithms supported:

SLAM algorithms soon to be supported:

ROS wrappers (for real time implementations) are provided for both the sensors and the SLAM algorithms (where not available in the original repo).

Please find more information on the wiki pages of this repository.

For questions or comments, please open an issue on Github.

(Short) Hardware and software overview

PI_Case

A Raspberry Pi 4, running Ubuntu 18 and ROS Melodic, was chosen as the the edge computer for reading and transmitting the sensors' data over wifi. We'll make an effort to upload a PI image in the near future. As seen in the drawing above, an MPU 9x50 is attached to the rig in addition to the camera and PI. The assembly and the bracket can be found here: https://myhub.autodesk360.com/ue29b0f34/g/shares/SH919a0QTf3c32634dcfb5d81c4a5037ec4e , https://myhub.autodesk360.com/ue29b0f34/g/shares/SH919a0QTf3c32634dcfd4a362c701c7b391

An ubuntu 18 host computer receives the data from the PI, and runs the different SLAM algorithms. We (make our best effort to) provide all the links, relevant information and Ros wrappers needed for implementing and running the different SLAM algorithms in real time. 

About

Provide building blocks (software, hardware and algorithms) for implementing SLAM using small sensors


Languages

Language:C++ 62.3%Language:Python 21.6%Language:CMake 16.2%