As a summer project I built a 4 Wheel tank like robot, and since everything seems to work as expected I would like to implement a way of the robot driving autonomous in the outside world (scary stuff there :o).
Right now the robot is simply controlled via a nRF24L01 and the brain is a Arduino DUE. I would like to add an external LIDAR or camera and have it peforming terrain recognition (such as inclination and other obtacles and thus having the robot decide wether it can pass or not). I have came to these two devices:
- LIDAR: Seems to be used a lot in millitary grade autonomous trucks, but seems quite expensive and as far as I know it can only see in a simple plane (i.e can dectect inclination alone, am I right?) thus needing extra sensors or other to complement
- Camera: seems cheaper and easier to configurate than lidar, but the options I considered (Pixy 2, The to be released HuskyLens, and altough i dont preffer this one, Ras. pi with OpenCV or something) had not much information nor have I found project achiving what I want, so im unsure if a camera like those could "understand" the world in "harsh" and variable light conditions.
With all the information above I would like to know what the more knowladgeable among this comunity think would be best, and if you have done something like this how you did it and if you can provide me where you found the information.
(Yes, I have used Mr. Google but found close to none about this, only found indoor projects and a guy that used 500$+ equipment (way out of by budget))
Thanks in Advance! 
JoaoVasco:
have it peforming terrain recognition (such as inclination and other obtacles and thus having the robot decide wether it can pass or not).
(Yes, I have used Mr. Google but found close to none about this, only found indoor projects and a guy that used 500$+ equipment (way out of by budget))
Thanks in Advance! 
There is a reason your “not” finding much out there about terrain mapping, autonomous driving robots for less than 500$ and it’s not a government coverup conspiracy.
3d cameras coupled with mapping techniques such as those used by the Kinect sensor can give real world inclination feedback.
Slumpert:
3d cameras coupled with mapping techniques such as those used by the Kinect sensor can give real world inclination feedback.
So would a pixy 2 or a rpi camera be able to process obstacles in daylight? imagine something like a big rock on thhe ground, or would it strugle with the exposure?
The RPi camera is just a camera -- it does no processing. You would need an RPi and OpenCV to detect objects.
The Arduino compatible Pixy camera detects colored blobs by itself and returns their coordinates and sizes. It might work for obstacles like boulders, but I suspect it would not be reliable out in the open. Try it and report back to us. You don't need to mount it on a rover for testing purposes.
The Garmin Lidar Lite is fairly cheap and works to detect obstacles even in the full sunlight, up to some reasonable distance (e.g. 10 meters). Again, test in the open to see how reliable it is.
See this amazing post, using it for 3D mapping of a garden:
jremington:
The Garmin Lidar Lite is fairly cheap and works to detect obstacles even in the full sunlight, up to some reasonable distance (e.g. 10 meters). Again, test in the open to see how reliable it is.
That thing seems pretty sweet! But then could you guide me towards how to use the pointcloud and navigate a rover though it? Would I need a 3D engine? And would a Rpi suit the job or is any prebuild "package" that inputs the points and organizes and steers the robot?
Thanks for you help! Going to search more about lidar navigation as it seems to be the best (just need to beg my parents for one :P)
This is a challenging project, so start small and work your way up. Post if you need help with a specific question related to Arduino.