First of all I’d like to thank the developers who have made Ardupilot what it is. I know it’s easy to find a lot of frustrated users with lots of questions. But after building an unreasonably large robotic boat I’ve found the ardupilot part of it to be the most reliable and well performing system on it (maybe that isn’t saying so much for our build quality)
I’m posting this partially to Share something I’m working on with my team in hopes that it helps other user, and partially to see if anyone is doing similar and has found some short cuts. I’d like to point out that everything below is a “prototype” we’ll make it better once everything is working but until then well; get used to hot glue, coffee stirrers and zip ties.
First our objective: Maintain a high band width network connection to a rover (boat) to interface with a separate control system.
We started off using a GPS and a HMC5883L compass running to an Arduino to control a (hopelessly)geared up servo to point an antenna. There is a lot of junk in that ABS tube… i really regret thinking it would be easy to stuff it into a tube
It mostly worked but we ended up with timing issues and library conflicts. additionally we had to “unwind” the servo and cables every time we got to about 360 degrees which was a nuisance. Eventually we ejected on the sunken cost fallacy and decided to take a different approach and find commercial products that replaced all of the stuff we were trying to invent from scratch.
We picked up a TracVision M1 sattelite tv dome pretty cheap from ebay.
This had stepper motors for pan and tilt, Continuous rotation electrical connection (slip ring) and and enclosure to prevent splashes from ruining all of our fun.
We picked up Tic motor controllers from Polou:
These things are super awesome and have some really cool features. The only way it could get better is if they had closed loop control. One thing I really like is that I can set up stepper motors to behave either as a multi turn servo or a continuous rotation servo
And obviously we picked up a pixhawk as a control system
Long story short we have 24 volts going through the slip ring that powers the Pixhawk, stepper motors and essentially 2 wireless bridges, the small one talks to the boat and the bigger point to point talks to the shore (or home or ground station or operator… whatever we’re calling it)
I do kind of struggle with the correct vocabulary of what to call this thing. Antenna tracker in the Ardupilot universe generally means track the aircraft not track where the operator is. I have found the key word/tricky phrase for the aerospace world “antenna pointing mechanism”… yep APM would be the part… acronyms are cruel sometimes… If anyone wants to school me on vocabulary it would be much appreciated.
To make things more confusing we’re not planning on using the antenna tracker firmware on this “APM”. We’re basically treating it like a separate vehicle which has posed a few challenges. First off we do not want an RC radio on this part of the system. We could do it if we had to but would prefer not to. We have the radio disabled in arming checks and in the flight mode CH. And when we have had it set up it has seemed a bit bonkers.
We’re running it as either a boat or a rover and we’ve tried traditional and skid steer configurations but it seems to be going into circles or pulsing towards the direct to WP then backing off. We’re only worrying about pan at the moment and not tilt, but we’ll need to get there eventually.
Does anyone have any experience running something like this? Would it make more sense to run it with plane firmware? I’m not sure how Ardupilot handles and calculates servo outputs from the discrepancy of target heading vs current heading but I’m guessing there is a fair bit going on and mounting it to what is essentially a stationary object (ie no response from throttle) could cause some issues. Any thoughts or feedback?
I’m sure we’ll get through it eventually and I’ll share when we do but until then I’m happy to take any Ideas or criticism.