When considering how to approach this problem, I was
very tempted to try to tie the drop functionality into the
flight controller. However, that is flight controller specific
(limiting how many of you can reuse this project), and it’s
generally more of a burden to make sure we don’t
accidently crash ourselves. So, similar to the IR temperature
logging project, we’ll create a separate sub-system.
Though I would like to change to a mantis type gripper,
I’m going to stick with the gripper design we printed and
installed last month (Figure 1). While not as strong as I’d
like, it does the job for this simple application. If you haven’t
added a gripper to your quad yet, refer back to that article
and decide for yourself which design you’d like to use.
On an initial glance, this seems like a rather trivial
problem. Close the gripper. Check the GPS position. When
it’s equal to our desired drop location, open the gripper.
Easy, right? Not exactly.
There are a lot of subtleties in a problem like this (for
example, any time there is a floating-point equality
comparison, it’s time to think carefully about what is
happening). We’ll knock down these issues one by one until
we’ve got a reliable and useful GPS triggering device that
can operate our manipulator.
Last time we used GPS, I glossed over the details by
saying it was very sophisticated, a marvel of technology,
etc., but since libraries and devices were out there to make
it easy, we’d skip the details. While we’re still not going to
go deep into GPS technology, I would like to cover a bit
about how it works so we can understand some of the
error sources we’ll need to deal with.
When we say GPS, we are generally referring to
satellite based geo-location, but GPS (Global Positioning
System) is really just the name of the American location
satellite system. There are other systems such as the Russian
Regional Navigation Satellite System (IRNSS), and Japan’s