The PX4 autopilot is an amazing open source platform for research. It is one of the first open source autopilots capable of running an on-board extended kalman filter and other advanced control and navigation algorithms. It is also mass…Continue
ArkToolbox is a toolbox for ScicosLab/ XCos (similar to Matlab simulink, but free). ArkToolbox is useful for drone control design, simulation, and testing and is compatible with FlightGear, MAVLink (QGroundControl/ArduPilotMega), and the JSBSim Trimming GUI software. This creates a completely open source toolchain for developing aircraft models, finding…Continue
A gui for JSBSim is demonstrated. The gui is capable of trimming any aircraft modeled in JSBSim at various flight conditions. It can simulate the aircraft at the calculated trim conditions, save the linearizations around these trim states, and output the linearization to a form readable by ScicosLab. The software is demonstrated on the standard f16 model included with JSBSim and a shadow UAV model, part of arkhangar. The linearized state space models output at the trim…Continue
This is a heading hold test for the ArduPilotMega based (ArduBoat) sailboat autopilot. The boat is sailed manually on a reach and then heads downwind holding a heading of 0 degrees and performs a jibe.We have waypoint guidance working in hardware-in-the-loop, so we expect to do waypoint testing soon. We might have to figure out a better solution for our digital wind…Continue
We just finished up modeling sailboat dynamics and implemented a controller. The dynamics were interesting due to the swinging airfoil. We modeled the winch system using a basic spring model that can only pull the sail in. It works well and can simulate irons, tacking, and jibing. All of the drag coefficients etc. are very rough at this point but the overall dynamics…Continue
We recently got APO quadrotor autopilot support working for HIL and wanted to share this cool video.
An object oriented fork of the APM autopilot code supporting multiple vehicle types and with the goal of supporting multiple ArduPilot boards in the future (currently only ArduPilotMega).
It started as an object oriented (C++) branch of ArduPilotMega. It provides an abstraction layer between the different modules of the autopilot so that they can be shared among different vehicle types. After several discussions, we on the development team choose…Continue
The ArduRover (based on ArduPilotOne) user base is growing and it is time for a beta release. Right now, as the core developer, I do not have enough time to test the code thoroughly on all platforms. If you have an unmanned rover, boat, or quad, and a mavlink compatible ground station (free for download/ qgroundcontrol, hk gcs etc.) then feel free to become a beta tester.
As the community grows, documenting the code behavior for the end user will be…
A digital control system model of the pixhawk quadrotor was constructed in scicoslab along with a continuous model of the quadrotor dynamics (the visual model is an arducopter). The user can input the guidance commands to the autopilot through sliders. As the video shows, the yaw response it not optimal, which also happens in the actual system. Using the mavsim Scicoslab toolbox (https://github.com/openmav/mavsim/) ,…Continue
Trimming is an important part of control design. By finding natural equilibrium points in a system, less control effort is required to keep the plane flying as desired. This software lets you compute trim points for aircraft ranging from the easystar and quadrotors to f16's and 737's. Anything that can be modelled with a JSBSim model will work.
Here are some vehicle models that are currently under development. The simple 3d models display control input and attitude information to the user. This is much more intuitive than charts but the models require very limited cpu resources and can run on most laptops. You can find all of the vehicle models and scicoslab blocks on the oooark sourceforge site: https://sourceforge.net/projects/oooark/ These models…Continue
With the latest ArduPilotMega trunk you can perform in flight gain and waypoint adjustment along with many other parameters. This enables hardware in the loop flight control law debugging and testing. QGroundControl serves as the interface to the onboard parameter adjustment and also displays map views and real-time data plots with logging…Continue
This is a quick and dirty flight visualization tool I use with scicoslab for autopilot/ control design. Its great when you are running on a laptop or older computer and you don't have the horsepower to run scicoslab and flightgear at the same time. I'm working on an airplane version that should be done…Continue
The new ArduPilotMega Mavlink branch with the latest QGroundControl development branch enables the operator to dynamically load waypoints and set gains in flight. To test out the communication we setup a small ground based experiment with an RC Car. No gains were changed from the default ArduPilotMega gains. Also the inertial navigation code was used between GPS updates but the GPS reset the position/ velocity when each GPS packet was received. This led to some oscillations…Continue
I got the send/receive waypoint communication working. Now I just have to hook up all the variables to the apm control structures.