# Do I need a camera along with LIDAR for SLAM?

Equipment:

1. Pi 3 B
2. Mega
3. 2x Encoder Motor 12VDC 299RPM
4. MPU 6050
5. 12V bat 2000mAh
6. LIDAR or Kinect ?

I want to implement EKF SLAM. I have referred bot NOX ROS wandering robot, Hussarian CORE and Robotics weekend. I have achieved localisation and sensor fusion of MPU and Encoder on Mega.

For the Mapping part, I am confused as to which sensor should be used either LIDAR or KINECT? What is the advantage of using both of them?

• Which kinect do you want to use. There is a non-neglectable differance between them... – Marco Sütterlin May 3 '19 at 18:21
• Just be aware that EKF slams are outdated these days. – C.O Park May 22 '19 at 6:02

Please see this link which will give you good idea about differences between LIDAR and Depth Cameras (Kinect is one example).

based on your SLAM application you can use LIDAR, Depth Camera, or both. Deciding factors are:

• Cost of application; LIDAR is more expensive and higher performance
• indoor, outdoor, or both
• environment complexity; does it have walls only or many other objects
• Required performance; LIDAR is faster in scanning
• angle of scanning 360 or 120 or less ? LIDAR is wider coverage

Laser and LiDAR sensors are more efficient and reliable in Navigation field rather than camera base sensor like Kinect.

I know these opensource packages that provide SLAM and Localization using LiDAR sensor which is compatible with ROS (if you are familiar to ROS) and there is rosbag file to test:

[UPDATE]:

To avoid misleading on my answer mentioned a 3D LiDAR sensor and the above packages and its rosbag tested by a 3D LiDAR Velodyne-HDL.

Using a raspberry pi you will not have enough computational power for dealing with a Kinect. Moreover, a Kinect is sensitive in general to more artifacts than a lidar.

So take the easy path and implement a LIDAR-based SLAM for now.

• an RPi is able to process the data from a Kinect – FooTheBar May 3 '19 at 8:07
• I meant not the Kinect itself but for the SLAM algorithm based on a kinect. – guhur May 3 '19 at 10:18
• You can extract a single (horizontal) measurement plane from the pointcloud and use that as input for a laser-slam system. – FooTheBar May 3 '19 at 11:04
• Is it a good idea? In my experience, the Kinect's pointcloud has a significant number of incorrect points. I guess that extracting one line would provide a wrong mapping no? – guhur May 4 '19 at 9:38