I am a beginner in robotics. I am currently involved in a project where my partner and I are trying to build an obstacle avoidance robot using depth camera as our sensor to detect obstacles and avoid them. Realsense D435 and ZED Stereo Camera are the two cameras we are looking into now. As I am very new in this field, I am not sure where and how to start the project. What are the steps we should do before running the robot? And also what microcontroller will you recommend for a beginner like me?
Any advice or guidance is much appreciated! Thank you so much in advance for your help!
Is using a depth camera a necessity for the program? Because that adds a lot of complexity. Based on your initial post stating you are beginners and by the nature of the question(s) you asked, I think you may be in over your head. But here are a few thoughts.
First, using the normal definition of microcontroller that probably isn’t going to work. You are going to need some pretty hefty processing power. At the very least you will probably need one of the better Raspberry Pis just to interface to the camera (No. A Raspberry PI is NOT a microcontroller. It’s a single board computer.) The systems will need a USB port (or whatever type of interface the camera uses) as well as available drivers for the camera. You need to cross-check what cameras have drivers for what boards.
You are going to need some fairly elaborate software, whether you can find something already available or whether you have to write it yourself. Even if you find some available you will almost certainly have to write some more code to make it do what you want. Do you have programming experience? How much? Make sure you understand what is required to work with any available software: languages, libraries, etc.
Even though you will be most interested in depth information from the camera, it is STILL image processing – you have an image of distances rather than brightness/color values. You will have to process that image to find the parts you are interested (obstacles) and separate them from the background. You will also need to determine where in the real-world they are as opposed to where in the image they are.
Once you have done all that, then you can start on actually avoiding the obstacle(s).
I can’t recommend a camera. Perhaps someone else can. As for computer board I would probably recommend one of the top-end Raspberry PIs if drivers are available for the camera you choose. Intel cameras may not support them, since they use ARM processors rather than Intel. In that case you may be better off with one of the Intel Atom embedded PC boards.
Good luck!
Thank you so much for the explanation! It clears out some of the confusions that I had. The depth camera is what I have for now, but I am thinking to change the sensors to ultrasonic sensor instead. Will that be simpler to start from for a beginner?
Yes. It would be a LOT simpler. That is exactly what I would recommend as a starter project.
To go that way I would recommend starting with one ultrasonic sensor. That is usually enough, but you may decide later to add more. You can use an Arduino as the main computer. I recommend an Arduino (Uno or Nano, usually) when possible because it is easy to work with and has the best support.
If you are building the robot from scratch you will need some sort of chassiss (can be almost anything that will hold all the parts), motors and wheels, a motor driver board of some sort, and a battery…
That list will give you a minimal working system at a low cost. It will still leave you room to expand if desired.
YOu can probably find quite a few examples on this site of robots similar to what you are planning. You can look at them and get a pretty good idea of what will be required.