I'm about to build a proof-of-concept for a copter application. Generally speaking, the mission will be to use the copter to position a video camera in a fixed position, stream video, then return to the base station. Each mission will have nearly the exact same narrowly defined parameters. I'm wondering which platform, probably open, is the best to most quickly get to a proof of concept.
As I see it, the non-trivial requirements for the software are:
For the hardware, the non-simple requirements would be:
What platform would you recommend for this application?
Thanks in advance!
P.S. I have experience with software but never with object recognition.
Looking around, I guess it's a question not a conclusion: is the camera the best means of object detection/recognition? Or would a different type of sensor such as sonar be better?
Also, a GPS signal can't be assumed.
Cameras can provide good object recognition but there are usually some assumptions that need to be made about the object to be identified. Philosophically, this falls into the category of "a-priory knowledge" and the better this knowledge is, the more accurate the identification will be.
To recognize an object on the basis of its geometric dimensions ("an object about the size of a shipping container on the ground") from a limited point of view ("traveling in a two dimensional arc") it might be easier to use a geometric measurement rather than image analysis - effectively you have a defined a two dimensional problem.
The simplest way of doing this is to use a laser altimeter. Below is a typical trace that you can expect from one of our SF10/A laser altimeters where the large, rectangular object would be typical of the "container" and the flat area at the end might be the landing area.
If you know the length of the "container" you can work out the ground speed using the number of laser samples that hit the top (at 32 readings per second) then use this to project the position of the landing area.
The SF10/A has a number of different interface protocols including analog voltage so it's very easy to connect to any type of flight controller. Additionally, there is a USB port so that the unit can be run directly from a laptop using our free LightWare Terminal program that also time-stamps the data for you. This configuration is ideal for running simulations and verifying the real-world performance before spending a lot of flight time trying to optimize your software.
You can add more detail by using a multi-beam laser such as the SF33 or even scanning an SF30 high speed laser but this might be unnecessarily complicated for your project.
Good luck! LD
Thanks LD! Being new to this, I didn't consider laser altimeters because I didn't know they existed for copters. It sounds like an interesting option because, as you point out, the drone will be flying primarily in two dimensions and the object it seeks to fly over will have a large enough height differential from its background (the ground). I like the suggestion for its simplicity and (probably) accuracy.
Is the software available prior to purchase of a altimeter? I assume the trace you show is a simulation based on an object the size of a container (assuming the dimensions are meters...).
Finally, I'm assuming but would like you to confirm that the programmed intelligence resides on and runs from the drone (as opposed to, say, the ground controller.)
Newb questions. Thanks for your help!