Software Packages

Geometric Control Optimization and Planning Library (GCOP)


Our lab( ASCO) has developed a C++ library for optimal control, estimation, and planning of dynamic systems. The package provides a framework for optimal control of dynamic systems using different well-known optimization methods such as “Cross Entropy Sampling”, “Differential Dynamic Programming (DDP)”, “Levinberg-Marquardt GN method”, “Simultaneous Perturbation and Stochastic Approximation (SPSA)”.  The library is templated to be able to easily extend to new systems and optimization algorithms.

Gazebo MATLAB Bridge


In this project, we built a Matlab interface to control the gazebo models through a fast interface while still being deterministic. The goal is to use gazebo physics engine for sampling high quality physics based trajectories to apply optimal control techniques. This can be used for sampling based optimization methods and at the same time can also work with non-linear control methods.  We have applied the interface to different robotic systems such as quadrotors, industrial arms, autonomous vehicles, and satellites etc.

picture_collage
Applications of Gazebo MATLAB Bridge

Gcop-ROS-Packages


This package is a ROS extension to the GCOP library. It allows a user to a load a custom robot using the Universal Robot Description Format (URDF) and perform optimization using different MPC techniques. Currently, we have implemented optimal control of Autonomous vehicles, aerial manipulation and Industrial arms using this package.

Applications of Gcop ROS Interface

Aerial autonomy

We developed a state machine framework to combine different primitive behaviors such as waypoint tracking and visual servoing into a rich task-based interface. This package also separates the state machine logic from the controllers and the robot hardware into separate modules. This allows for the same waypoint tracking task to be run using an MPC controller or a simple PID controller. Further, the robot hardware is implemented through a common interface allowing for us to substitute the real robot hardware with simulated systems. The package currently provides algorithms for visual servoing, waypoint tracking, MPC tracking and controlling a manipulator on a quadrotor. We further showcase the state machine framework by applying to an industrial package sorting application.

Pick place operation using DJI Matrice