Motivation for project

This project was completed for the course ROB 599: Autonomous Vehicles. For this project, we worked on an end to end autonomy project, which involved:

  • Modeling a coaxial helicopter

  • Modeling the linear dynamics of the system

  • Implementing a position and velocity controller

  • Building a waypoint follower

  • Integrating a uncertainty-aware elevatino mapping method

  • Building an exploration method that aims to maximize coverage and information gain

Implementation

Controls and Dynamics: The controller and path planner was implemented using MATLAB, using the robotics and controls toolbox. We modeled the coaxial system and it’s dynamics using Farid Zare Seisan’s M.S. thesis.

For the controller, we implemented a cascading PID controller for controlling both the velocity, position, and orientation of the robot. We followed a simple PID tuning routine in order to find the optimal gains.

Perception and Exploration: After implementing the dynamics and controller in MATLAB, we then turned to implementing a perception stack. We took a model of the Martian surface in a Unity environment, and by using the a library that enabled ROS integration with Unity (ros-sharp), we included the model of the coaxial helicopter in the Unity environment.

We placed sensors on the coaxial helicopter, and through Unity obtained RGB and depth images. This was fed into a 2.5D mesh extraction method that also provided uncertainty associated at each vertex of the mesh.

Using this uncertainty, we then built a method that would traverse actoss the Martian terrain to maximize information gain. We also built a module that would perform trajectory tracking, which served the function of following a ground vehicle.

Full report can be found here.