The CanberraUAV team did our first flights with our full onboard computer system (a pandaboard) on a SkyWalker test plane this weekend. This allows us to capture images of the IR lamp used in the outback challenge from the air, combined with the telemetry we need to start working on our image recognition algorithms.
In the above photo you can see our basic setup. We have the pandaboard, a USB hub (powered), a 64GByte SSD, a ptgrey chameleon greyscale camera with a IR pass filter, a UBEC to power it all, and of course the usual APM, GPS, magnetometer and XBee radio.
Rather than cutting a hole in the side of the plane as most people do for a SkyWalker, we cut the foam barrier out from under the wing (where some people put an extra battery), which gave a good top access hatch to the main compartment. The pandaboard and other electronics fit nicely down into the plane from there, and it provides easy access to the ethernet interface on the pandaboard for diagnostics, as well as all of the USB ports.
This is what it looks like when we put all the bits inside the plane:
One quite unusual aspect of the setup is that the APM is connected via USB instead of FTDI. The USB cable goes to the pandaboard, which runs a copy of mavproxy to gather the telemetry. The panda also controls the camera, which means the same clock is used for time-stamping both the telemetry and the images, which really helps in matching them up for image recognition.
The camera was fitted in the bottom of the plane, below the leading edge of the wing, pointing straight down through a large hole in the fuselage, with a large IR pass filter in front of the lens.
We flew several missions over the weekend. The first was a simple search pattern (the same 18 point pattern we flew last weekend), to ensure the camera system was working well. We captured over 3000 images (each at 1280x960 in 16 bit greyscale), and got some quite nice ones of the new runway at CMAC:
On saturday afternoon I concentrated on improving my flying skills. I flew over 90 takeoffs and landings that afternoon, which really improved my confidence.
On Sunday morning we flew a search mission again, but this time with the IR lamp in place to allow us to get a better idea of what 'Joe' will look like from the air. You can see the IR lamp in the picture below (circled in red with the circle automatically placed by our very simple search code).
You can also see the edge of the foam hole in the plane near the bottom of the image. The velcro we were using to keep the camera centered on the hole was not as good as we'd hoped.
At the end of this flight we had our first crash with this plane. The USB connector between the APM and the pandaboard came loose, causing mavproxy to reconnect, which rebooted the APM. The reboot process took 5 seconds, during which time the plane went crazy, flying upside down for some of the time!
I knew this could happen (as I hadn't found a way to stop the DTR drop on the USB serial link from the panda, the normal termios calls don't work), so I had the APM setup for air-start. Unfortunately I didn't realise the APM had rebooted until later, and at the time I thought a control surface had come loose. I switched to manual and tried to bring it under control, but failed, and it hit the ground. There wasn't much damage (the SkyWalker is tough!), but it is a shame I didn't just trust in the autopilot to regain control after rebooting, as it would have been a good test. The mavlink logs show the reboot took 5 seconds.
After that we added a bit more tape to the nose where it suffered some crumple damage and went flying again. Andrew and Steve had some time flying the plane to get some practice in, then I started some more serious practice as part of my long term goal of earning my MAAA wings. After practicing takeoffs and landings on Saturday I thought it was time for something more ambitious, and did some barrell rolls and loops. It sure is easier doing acrobatics with STABILIZE mode to recover! I did quite a few rolls and loops over a period of a couple of hours before calling it a day.
Overall, a great weekend!
Comments
@Andrew, I've just bought pandaboard and I'm waiting for the APM2 to be in stock to build a skywalker UAV as well.
Did you try to use the built in wifi instead of using xbee? I was hoping to be able to use it with something like this on my notebook:
http://www.amazon.com/Alfa-AWUS036H-Wireless-Long-Rang-Panel/dp/B00...
Did you try to stream the video from the pandaboard?
@James, you can change the flight plan from the panda, using MAVLink. I don't have any experience with ROS, so I can't comment on that.
Yeah definitely wouldn't want to lose that one thanks for the info im looking to use panda just not sure what for exactly yet..
yes, they are connected, and the pandaboard runs Ubuntu Linux (Maverick). The way I run it is that the pandaboard has a Xbee serial link to the ground, which runs ppp, and I ssh into the plane over that. The panda then has a USB connection to the APM, and runs mavproxy in a screen session. Mavproxy forwards all the mavlink packets from the APM over UDP to the GCS which also runs mavproxy.
This works well, but it has a problem that if you restart mavproxy on the panda then the APM reboots, due to the DTR drop. I tried to override this using with termios settings in mavproxy, but it doesn't work on the panda with a USB serial cable, and I don't yet know why. I need to solve this to make the system more robust.
I've just switched to a Senior Telemaster as my main plane, with the same basic setup, which means I really don't want a USB disconnect to cause a crash, so I need to solve this soon :-)
Hi
quick question is your panda board and the ardu mega conntected or are you running them both as separate entities and are you running linux on the panda..
thanks
darn, I put a duplicate photo in the post!
There are some more photos of the build here: http://photos.tridgell.net/v/CanberraUAV/SkyWalker/
Hi Doug,
Ok, thanks for the tip! I'll do some more tests of air restart with a HIL setup and see if I can spot any problems.
We really should try and get it reliable not just for crazy people like us who connect to the APM with USB in flight, but also because otherwise without air restart one temporary power brown out in the air and your plane is toast.