I'm looking into making my own UAV, namely, a quadcopter built using a Seeeduino board.
I'd like for my quadcopter to be able to detect objects to be able to add in automated collision detection and possibly some method of 'drawing' the world as it moves around.
I've seen distance sensors and cameras but aren't quite sure which would do the job for mapping the environment. Obviously, distance sensors will track the distance between the QC and an object, but would it be possible to map the world with the information?
My other question would be about interfacing the QC with my macbook to be able to parse and process the data to build a realtime 3d model of the environment. I can understand that the sensors will output the data which would then be sent over WiFi to another Seeeduino which is connected to my macbook. How do I go about getting this data from the Seeeduino into another application (which i'd have to write myself to parse and process the data)?
Essentially, my question is:
What sensors would I need to be able to 'detect' objects and their location in the world?
How would I then grab this data and process it externally from the Seeeduino in real time?
The quadcopter would, in an ideal world, have the appropriate sensors for gathering the information which would then be relayed back to another Seeeduino which is connected to my laptop.
Sorry if i'm a little off track here, i'm just trying to get my head around what I need to start building my QC. Having a list of what I want the QC to do is a start, I just need to figure out now what is possible.
The first issue that you will encounter is with sending data back to the PC. The Seeeduino in the QC is going to need to send large amounts of data very quickly, which is going to interfere with it's ability to do other things, like keeping the QC on track.
Just trying to send position data back was causing another poster, in another thread, to miss sensor input.
Obviously, the usual sensors used for obstacle detection, like ultrasound, are not going to work well for you. Distance will be one problem. Ultrasound doesn't work well over more than a few feet. It also won't tell you what is out there. Only that something is. Limit switches won't be too useful, either.
If the issue of transmitting data would pose problems for sensor inputs, perhaps a second onboard arduino could be used in tandem? One arduino to control the QC itself and a second to feed back sensor data perhaps?
Does anyone know if such as setup would need two WiFi connections, one for the QC and another for the sensors or if the two can be combined?
Ultrasound could be what I was thinking of, perhaps in parallel with distance sensors and a camera. I'm not overly bothered about detecting 'what' is in the environment, only where the obstacles are to build up a 3d map of a room.
"...only where the obstacles are to build up a 3d map of a room."
I did such a project last year in my university. With Mindstorms NXT and their built in bluetooth device. And of course on a wheeled platform.
I'd suggest doing that project with wheels first, then move on to a flying platform. The advantage is that you can know where the vehicle is much easier since you can measure steps the wheels have turned for example, and then use for example a SHARP IR distance sensor to tell how far away nearby obstacles are and then sending that data to the PC. In fact the NXT is far more powerful than the AVR chips in the Arduino's since it contains the power of both an AVR and an ARM processor.
However, much of this quadcopter work is already done or in progress of developing.
Check out these really great open source projects which are Arduino based:
*AeroQuad
*ArduCopter
Also there's some other projects of course, but these two are in my world the two most useful for developing. You get a fully modifyable and flyable concept which allows a really steady ground for further developing which is currently done quite collectively in the communities.