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?

  • $\begingroup$ Which kinect do you want to use. There is a non-neglectable differance between them... $\endgroup$ – Marco Sütterlin May 3 '19 at 18:21
  • $\begingroup$ Just be aware that EKF slams are outdated these days. $\endgroup$ – 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

This is a great question, as it speaks to a key design choice in robotics. For EKF, once we have odometry, another direct input is where features (landmarks) are.

For a hobbyist project, I'd say Lidar is easier to begin with. For EKF, one simple (and beginner-friendly) way is to assume everything has the same shape (cones), then use "circular regression" to recognize cones from the 2D lidar detections. The locations of the cones are ported to EKF as observations.

For more complex environment, consider particle filters. I started off with an $100 2D Lidar off of amazon, and I used ROS's navigation package (gmapping, particle filters,etc.) to get a small mobile platform running.

Depth Cameras (E.g, Intel Realsense, Microsoft Kinect) are more expensive, and 3D reconstruction can be tricky with regular cameras. I'd say for the proof of concept, Lidar is more beginner friendly and cheaper.


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.

  • 1
    $\begingroup$ an RPi is able to process the data from a Kinect $\endgroup$ – FooTheBar May 3 '19 at 8:07
  • $\begingroup$ I meant not the Kinect itself but for the SLAM algorithm based on a kinect. $\endgroup$ – guhur May 3 '19 at 10:18
  • $\begingroup$ You can extract a single (horizontal) measurement plane from the pointcloud and use that as input for a laser-slam system. $\endgroup$ – FooTheBar May 3 '19 at 11:04
  • $\begingroup$ 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? $\endgroup$ – guhur May 4 '19 at 9:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.