ethz-asl / mav_control_rw

Control strategies for rotary wing Micro Aerial Vehicles using ROS
Apache License 2.0
347 stars 159 forks source link

New quadrotor Parrot Bebop simulation #28

Open jwangjie opened 5 years ago

jwangjie commented 5 years ago

Hi there,

I am trying to use the package to control a Parrot Bebop together with rotors_simulator. The newly added quadrotor flies well using the lee_position_controller in rotors_simulator, but crashed quickly when trying to use either linear or nonlinear MPC. I added a configuration file similar to PID_attitude_hummingbird.yaml with inertia tensor, arm length modifications, and I guess the immediate crash may because of the allocation_matrix. I wonder could you help me with this? Thank you so much for any advice.

Regards, Jie

sahiedu commented 3 years ago

Hi! Recently I found a way of using the mav_linear_mpc controller with the BebopS simulator of G. Silano. You are right, you need to use the appropriate allocation matrix. After some analysis, I ended up with this configuration:

allocation_matrix: [0.0, -1.0, -1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, -1.0, 1.0, -1.0, 0.0, 1.0, 1.0]

PD: Don't forget to edit this line as follows:

sampling_time: 0.004 #IMPORTANT: set this equal to the rate of odometry msg

Inside your mav_linear_mpc/resources/MAV_NAME_linear_mpc.yaml file. This is according to the publishing rate of the odometry inside the Bebop simulator (250 Hz in this case).