Skip to content

0Jiahao/bebop_simulator

Repository files navigation

bebop_simulator

A simple bebop simulator for high level controller development. It has been tested on Ubuntu 16.04 (Xenial) with ROS Kinetic.

Prerequisite

  • Sphinx Note: you might need to disable the front camera and change the virtual ethernet.
  • bebop_autonomy Note: remember to change the IP address.
  • nav_msgs

Installation

$ cd [ROS_workspace]/src
$ git clone https://github.com/0Jiahao/bebop_simulator.git
$ cd ..
$ catkin build

Scripts

  • Start.sh: start the simulation
  • Takeoff.sh: takeoff
  • Land.sh: land
  • Reset.sh: start at the origin and takeoff
  • Random_Reset.sh: start at a random position with random yaw angle and takeoff

Data reading

The ground truth data can be read via topic /simulator/odometry. fig1

Model Identification

Different models are simply estimated, including pitch, roll, and vertical velocity, yawrate, air drag. Some estimated parameter can be found in results.txt. We currently using pitch, roll and vertical velocity for system modelling.

Pitch Model is a first-order system

with constraint

Roll Model is a first-order system

with constraint

Vertical Velocity Model is a second-order system

with constraint

The Integrated System (linearized around stationary) can be written as

Note that the and are the estimated coefficients of air drag force.

MPC Target Point Tracking

bebop_mpc is an example of target-point tracking with a simple linear MPC controller. The result shown below is initialized with a random position and end up with the target point (5,4,3).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published