Following on the work described in an earlier post, we wanted to build an inexpensive quadcopter that could be controlled by an onboard ODROID U-3 single-board computer.
We were happy with the Naze32 / Baseflight / Multiwii Serial Protocol, but were delighted to discover the new…Continue
After we demoed a little five-channel "AutoPylot" program on a Naze32 with ODROID companion board, our friends at A2USA, Inc . asked us whether we could do the same for the Pixhawk that they use for flying their big birds. We started modifying…Continue
This video shows an ODROID U-3 single-board computer running a Python program that talks to a an AcroNaze32 flight controller (FC) over USB. The Python program uses MSPPG, our Multiwii Serial Protocol Parser Generator library, to serialize up/down/up/down MSP_SET_RAW_RC messages to the FC. By polling the incoming R/C receiver channels…Continue
As shown in this video, I connected the UART of an Acro Naze32 flight controller to an Arduino Mega, and used the pitch values (pitch, get it?) from the IMU to modify the pitch of a buzzer.
You can download the code for this example from …Continue
For a final project in a robotics class, I suggested that a few students try implementing their own version of a parser-generator program like pymavlink. The students built a simple Python-based system in a few days, which parsed JSON message specifications and generated Python code to parse and serialize a simple…
My students and I like to write MAV applications in Python, and we were disappointed in that Google does not provide an interactive map-visualization API in that language. So we wrote one ourselves, which we call GooMPy.
GooMPy provides a Python…Continue
I needed an easy way to access data from the MaxBotix ultrasonic sensors using Python, so I wrote this little package, which you can download from github. It runs on Windows, Linux, and OS X in Python…Continue
Added by Simon D. Levy on December 14, 2014 at 6:30pm — No Comments
In working with autopilot systems like OpenPilot and Pixhawk I have frequently come across references to something called an Extended Kalman Filter (EKF). Googling this term led me to several different web pages and reference papers, most of which I found too difficult to follow. So…Continue
This video shows recent work by Washington and Lee undergraduate student Shannon Nollet: a simple Kalman filter being applied to the a simulated noisy GPS signal in PyQuadSim (http://home.wlu.edu/~levys/software/pyquadsim/), a Python quadrotor simulator. The yellow plot is the original, noisy simulated GPS…Continue
This shaky little video shows me debugging an app with Android Studio over a wireless connection to my Samsung Galaxy S4. The app, DroidPlanner, connects to a 3DRobotics Iris over a 915 MHz radio plugged into the Galaxy's micro USB port, making the USB unavailable for debugging. Thanks to these instructions:
This video shows automated Hover-In-Place (HIP) using the PyQuadSim Python Quadrotor Simulator with OpenCV for optical flow. This setup allows us to prototype HIP and other optical-flow-based algorithms for use with an actual optical-flow sensor like the PX4Flow.
The quadrotor is being flown over a simulated concrete floor using a FrSky R/C transmitter,…
I needed an easy way to access data from the PX4Flow sensor using Python, so I wrote this little package, which you can download from github. It runs on Windows, Linux, and OS X in Python 2 and 3. As with the other Python…Continue
PyQuadSim is a Python program that allows you to fly a simulated quadrotor miniature aerial vehicle (MAV) from a variety of controllers (joystick, R/C transmitter, PS3 controller).
You can modify the source code to add new sensors and other features, as well as configuring the simulated environment for different kinds of…Continue