Skip to content
SrijaneeBiswas edited this page Dec 2, 2017 · 9 revisions

Welcome to the SUAS_throttle wiki!

This repository contains files including complete ROS packages, result plots and link to Youtube videos showing the experimental outcomes the project. The task of this project was to implement an autonomous trajectory following algorithm using the full 6-DOF model of a fixed wing aircraft, both on simulation as well as hardware. We are using the Gazebo Rosflight simulator running on Ubuntu 16.04 desktop (GC) installed with ROS Kinetic. We are using a medium range FPV platform, called the StratoSurfer (pictured below) for running the hardware experiments.

https://github.com/SrijaneeBiswas/SUAS_throttle/blob/master/images_suas/stx-stratosurfer.jpg

We are using the Naze32 Flight Controller and Odroid XU4 as the on-board computer (OBC) in this project. The OBC is booted up with Ubuntu 16.04 Mate and ROS Kinetic is installed on the same. Following is a link to the hex file written by the developers of Rosflight:

https://github.com/SrijaneeBiswas/SUAS_throttle/blob/master/rosflight_bmp280.hex.tar.gz

Instructions on how to flash the firmware can be found on their website at http://docs.rosflight.org/en/latest/user-guide/autopilot-setup/

Guide on how to create a ROS workspace can be found at http://wiki.ros.org/catkin/Tutorials/create_a_workspace. After that, the three ROS packages in this repository (rosflight, rosflight_plugins, rosplane) can be downloaded inside the 'src' folder of the workspace. Then, we run 'catkin_make' inside the workspace but outside the 'src' folder to save all the changes and build the packages. Details regarding the packages can be found in the Commit section for the same.

The GC and OBC communicate over a WiFi network created using the Ubiquiti Rocket and Bullet M5 modules. Former is the router that is connected to the GC and the latter is connected to the OBC. On each of the devices, we define a static IP address, which needs to be updated in their respective 'bashrc' files to enable a Master-Slave configuration. Following is a link with instructions for setting up the Master-Slave configuration.

https://uc.box.com/s/eggim5gqd9vne3y4z9nq96pf3qtnq2nv

Here, the Odroid acts as the Master and the ground station acts as the Slave. The given diagram depicts our ROS architecture - https://github.com/SrijaneeBiswas/SUAS_throttle/blob/master/images_suas/workspace.png

RESULTS

Video Link for Simulation results - https://youtu.be/v0qunag2IU4

True vs Estimated Plots for Simulation results: https://github.com/SrijaneeBiswas/SUAS_throttle/blob/master/images_suas/Position%20Plots%202.jpg https://github.com/SrijaneeBiswas/SUAS_throttle/blob/master/images_suas/AngularRates2.jpg https://github.com/SrijaneeBiswas/SUAS_throttle/blob/master/images_suas/vg_chi2.jpg https://github.com/SrijaneeBiswas/SUAS_throttle/blob/master/images_suas/traj.jpg

Video Link for Hardware in the Loop results with everything running on the Odroid - https://youtu.be/4y7lbENprW0

Video Link for Outdoor GPS Test Results - https://www.youtube.com/watch?v=o09PzCn5SkM

Clone this wiki locally