Hey , if anybody here has made a obstacle avoiding quad .
.... If yes please give some advice if its better to use infra red or sonar , and what is d best arduino 2use with it , can I use d arduino uno ?
Better use sonar to avoid interferance with sunlight, you may have to install atleast 4 of them (on 4 sides).
So you need more IO pins , so go for Arduino mega. Or if you also want more processing power, get any powerful arduino boards.
You can also try using camera and raspberry pi
Go for mega
And keep us updated on the progress
Best of luck
http://www.digibay.in/465-arduino-uno-r3-atmega328-made-in-italy, (http://www.digibay.in/465-arduino-uno-r3-atmega328-made-in-italy,) can I use this??
Arduino wont be enough because you also need pin for the 3 axis gyro with the motors for the quad, a mega is expensive but pays off later
it will not work ...
you are equating a ground robot with a quad ... a quad will not be able to
react fast enough ( it will not have ground traction ) to have any meaningful
obstacle avoidance .
It would require quite a lot processing power as you would require a PID loop for
stability in addition to obstacle avoidance. if however you do manage to make one
pls post details as I would be interested in copying your design.
go for pixhawk
That's why I recommend ultrasonic distance sensors, big solid obstacles can be sensed from distance of few meters so there can be provision in program to alter the course of flight.
But you need more processing power and more IO ports.
@roshan.dixit , Pixhawk is based on atmega 2560 (arduino mega) . It doesn't have obstacle avoidance.
i agree with saikat , but if he needs to make a autonomous quad which maneuvers in say a office area then i could work .
As for faster reaction time you should build a smaller quad , a 250 quad would be good
and immanuel you would have to write codes for 2 modes ,one should be the basic that you can even find online ,and an autonomous one that would scan for objects in both axis and move very slowly like with a speed of 0.3m/s ,and stop before a distance of min. 1 m.
and i must tell you it will take a long time .
can you tell me how much experience you have with arduino IDE , and have ever used the ultrasonic sensor before with a project or something like it?
ultrasonic sensors are usually used to sense distance, the same can be implemented here as proximity sensor, how ever sensitivity is low,
This sensors, can find hard objects in a range of tens of meters, so there is more time for a reaction loop to be performed (which can be just stopping in mid air, or take alternative courses as per the instruction ).
Remember, If there is a will there is a way.
i got it what you said sooraj :)
but a quad moves forward at minimum pitch at a speed of 1-3 m/s and at high speed it will be very difficult to control it , but a great code can maybe make it work.and there will be another problem there woud be just 4 sensors , so as the quad moves diagonally other objects would be a problem.(see the photo attached)
so a better solution would be going at low speed and only moving linearly (photo attached) .
its a great project , but somewhat difficult.
best of luck immanuel
That's a lot work in paint, rohan .
Yes you are right.
the placing of these sensors and also the no. of sensors, plays a key role.
But if this is intended to work outside, GPS will do for most obstacle avoiding (not for avoiding small creatures and things though) .
The other way is using raspberry pi with camera for image manipulation and interpretation.
i am also working to make obstacle avoidance(now only working collition detection) in my quad(multiwii mods and arduino mega) and ultrasonic sensors working better than infra(cant be used in heavy light situation, low accuracy, and cant detect black things), but the ultrasonic sensors also failed in too many situations like small objects, rough concrete walls,
then used cameras, but cant detect distance using single cam, at least 2 cams needed for distance calculation in one direction, so this will increase weight, too complicated image processing and calculation will take time and quad will collide before detection if moving fast.
have the projects codes in progress if any one want to join just message me.
so now going to try microsoft kinect (maybe a backend server need to process) and ordered one.
I was planning 2 use 5 sonars , (one under d quad), maybe and arduino mega 2 process the analog , and then send it 2 an apm 2 board , I do really need some help in programming though, can anyone help ??( the basic stuff I can take from online , but for tunning it and stuff i need help ...)
http://www.flitetest.com/articles/quadcopter-obstacle-avoidance-system-using-arduino. (http://www.flitetest.com/articles/quadcopter-obstacle-avoidance-system-using-arduino.) ,something like this
Each sonar covers max of around 25 degree, so if you planing to use 5 sonars in each direction( front, back, left, right,) that must have blind spots.
Batter way to use at least 3 in front side and always move forward direction.
Any update on this project?
Quote from: sooraj.palakkad on November 06, 2014, 09:26:43 PM
Better use sonar to avoid interferance with sunlight, you may have to install atleast 4 of them (on 4 sides).
So you need more IO pins , so go for Arduino mega. Or if you also want more processing power, get any powerful arduino boards.
You can also try using camera and raspberry pi
i would suggest using a single 3d cam and using mirrors for rear and side view.
Quote from: Tanmay.mathur on March 06, 2015, 05:47:19 PM
Quote from: sooraj.palakkad on November 06, 2014, 09:26:43 PM
Better use sonar to avoid interferance with sunlight, you may have to install atleast 4 of them (on 4 sides).
So you need more IO pins , so go for Arduino mega. Or if you also want more processing power, get any powerful arduino boards.
You can also try using camera and raspberry pi
i would suggest using a single 3d cam and using mirrors for rear and side view.
Hey Tanmay, I would like to know more on using 3D cam concept of yours. Can you please elaborate your idea a little more
Don't go for 3d cam as it would require more processing speed a dedicated computer which will increase complexity go for sonars but the quads wouldn't be as agile as a obstacle avoiding robot :hatsoff:
There is a faculty in IIT Kanpur working on something similar (although not a quad). I remember them using a Microsoft Kinect Sensor and NAVSTIK (http://navstik.org/home/ (http://navstik.org/home/)).
Here is a link to the research page http://www.iitk.ac.in/aero/abhishek/?research,3 (http://www.iitk.ac.in/aero/abhishek/?research,3)
Scroll down to the relevant section!
EDIT: Looks like the webpage hasn't been updated. Initially I believe they started by using Arduino Uno and from what I remember seeing last year, they had moved over to NAVSTIK, I could be wrong though. You might want to email Dr. Abhishek, he is a wonderful person and I'm sure he will help you.
Having only 4 sensors will not be sufficient if you are placing them in each corner. Actually, not even 8 will suffice.
I would suggest to mount a very good sensor at top of the servo which will rotate continuously. That way you can not only save on sensors, but can also work with arduino uno to save on cost. I did such thing in my rover and it works well. This approach works only for slow quads though.
By the way, you can use cheap uno clone if you are in experiment phase. It will save you in event of crash :)
3d cam can measure the depth and by using the mirrors your quad will be able to see whats in the sides and in the rear section . Hence one cam does all visual work . Use laser pointers to determine the relative 3 dimensional position of the quad in the surrounding .
Quote from: rahimv on March 06, 2015, 10:08:13 PM
Having only 4 sensors will not be sufficient if you are placing them in each corner. Actually, not even 8 will suffice.
I would suggest to mount a very good sensor at top of the servo which will rotate continuously. That way you can not only save on sensors, but can also work with arduino uno to save on cost. I did such thing in my rover and it works well. This approach works only for slow quads though.
By the way, you can use cheap uno clone if you are in experiment phase. It will save you in event of crash :)
@rahimv what in case of a mechanical failure of the servo? the quad would become blind! Can you tell me how even 8 won't suffice? Six sonar sensors are sufficient for navigation! 8 for more precise navigation!
And you can get 10 sonar sensors at the cost of a good servo so how does a "good" servo sensor combination save money?
Link for Sensor: http://www.ebay.com/itm/10-x-Ultrasonic-Module-HC-SR04-Distance-Measuring-Transducer-Sensor-for-Arduino-/130705106799?pt=LH_DefaultDomain_0&hash=item1e6ea1a76f (http://www.ebay.com/itm/10-x-Ultrasonic-Module-HC-SR04-Distance-Measuring-Transducer-Sensor-for-Arduino-/130705106799?pt=LH_DefaultDomain_0&hash=item1e6ea1a76f)
Incase of using 6 or more sonars even if one sonar gets damaged the quad can still navigate!
Hey,
We don't consider mechanical failures while building hobby planes..What happens if any of your motor fails? :)
I was using HC-SR04 (200 Rs.) ultrasonic sensor along with servo (250 Rs.). So total cost was around 450. If I had gone with the 6 sensors, it would have costed me 1200 Rs. Plus, less component means less maintenance and a lot less programming. Plus, as I said earlier, this is for slow vehicle only.
Depending on the size of the quad, if you install 8 of the sensors, you might still have blind corners that is what I meant. But more of them better coverage you will have.
Ultimately, what to choose is totally dependent on the specific project. I just added my two cents based on my previous experience.
Thanks.
Quote from: rahimv on April 20, 2015, 10:36:32 AM
We don't consider mechanical failures while building hobby planes..What happens if any of your motor fails? :)
But yes in a hobby plane the control inputs are given by humans....so in case of a motor failure we do know what to do...GLIDE down to a safe spot...but you cannot just compare it to building an autonomous robot which is programmed to complete its objective...Over here the controller only knows to navigate but doesn't know what to do incase of a motor failure or some other kind of failure!!
Quote from: rahimv on April 20, 2015, 10:36:32 AM
Plus, as I said earlier, this is for slow vehicle only.
And your solution for a slow vehicle is a sensor mounted on a rotating servo?? Think about this...your sensor is pointing on the left side but there is an obstacle on the right....then?
Plus more blind spots too!
I am just trying to give some direction Himadri where you could give more thought. If you have made up your mind using 6 sensors, go ahead and do that way. I am not imposing anything.
I am comparing the motor of your quad with the servo. Not comparing it with a hobby plane controlled by human. And no, if your quads one motor fails, I don't it will auto-correct itself and able land.
Quote from: Himadri Roy on April 20, 2015, 10:46:53 AM
And your solution for a slow vehicle is a sensor mounted on a rotating servo?? Think about this...your sensor is pointing on the left side but there is an obstacle on the right....then?
Try to be polite :) I have thought of it and it works perfectly in my case. I have written a program where in I measure distance to the obstacles in every direction using rotating sensor. Distance is measured all the time in all the directions (even if rover is going straight). It will not turn left if there is an obstacle on left. I have programmed in such a way that it never happens that rover turns in a direction while the sensor is pointing towards other.
My rover used to run all day in my home with lots of obstacles and without hitting anything, not even once.
Again, every choice is highly dependent on the specific project. Evaluate all the options and make a choice which suits your needs!
Quote from: rahimv on April 20, 2015, 11:40:20 AM
Try to be polite :) I have thought of it and it works perfectly in my case. I have written a program where in I measure distance to the obstacles in every direction using rotating sensor. Distance is measured all the time in all the directions (even if rover is going straight). It will not turn left if there is an obstacle on left. I have programmed in such a way that it never happens that rover turns in a direction while the sensor is pointing towards other.
My rover used to run all day in my home with lots of obstacles and without hitting anything, not even once.
Again, every choice is highly dependent on the specific project. Evaluate all the options and make a choice which suits your needs!
If you wan to take a criticism as a rude reply so be it!
And to be clear over here we are taking about a AUTONOMOUS QUAD not a land vehicle....
Quote from: Himadri Roy on April 20, 2015, 11:52:40 AM
If you wan to take a criticism as a rude reply so be it!
Wow, what an attitude sir.
Quote from: Himadri Roy on April 20, 2015, 11:52:40 AM
And to be clear over here we are taking about a AUTONOMOUS QUAD not a land vehicle....
Thanks for making it all caps, I could clearly see it now. As if I did not know what I was talking about. If you had shown a little bit of respect, I would have given you full fail-safe Arduino sketch including pin layouts and all (I spent days on making it fail-safe).
Should not judge anyone by count of posts they have made. I am programmer by profession and have over 15 years of experience. Have been doing programming for last 18 years and done amazing things.
But guess what, I am done here. Good luck with your project.
First of all its not my project i gave a suggestion...secondly i just criticized or did not back your suggestion so you started calling me rude (no problem)
And can you tell me where did i say that you are new to this forum or you have less posts than me so you are less experienced than me??? ??? ???
Quote
Should not judge anyone by count of posts they have made.
QuoteI am programmer by profession and have over 15 years of experience. Have been doing programming for last 18 years and done amazing things.
:thumbsup: :thumbsup: Great!!
But i am not here to abuse someone or raise questions on anyone's competency in their field! :-\
Increasing number of ultrasonic sensors is not a solution here because overlapping ultrasonic waves makes more complication (else we need to measure one at once but this will delay overall calculation) is not easy for programming(at-least for me don't know your skills) and decreasing will create blind spots(many times already mentioned here).
Ideal no should be six(i think) and then in an infinite loop keep on checking each sensor and storing each value in an array..
Then checking each value for the lowest value(indicating a obstacle) and adjusting the quad to the direction where the sensor has max value (obstacle at the farthest distance than other sensor)
But I think driving the quad autonomously may e the biggest challenge..forward, backward,left and right may be easy but driving it diagonally may be a challenge!
Move just like a plane moves so only 3 sensors( one in front middle, one front left and one in front right) is enough. To forward direction and just ignore back / sides