Control UAV in Gazebo With Simulink

I added a quadcopter, installing some packages, in the preset "Differential-Drive Robot" simulation environment for co-simulation in Gazebo with Simulink and i modified the blocks. The rotors are rotate but the drone does not take off. Anyone have experiences?

Answers (1)

Jianxin Sun
Jianxin Sun on 18 Jun 2021
Set motor joint velocity will rotate the rotors but that will not generate lift since Gazebo is not simulating aerodynamices. You would need to compute lift and torque yourself based on motor speed and apply them to the UAV's motor link. You can check out GazeboMotorModel::UpdateForcesAndMoments in https://github.com/ethz-asl/rotors_simulator/blob/master/rotors_gazebo_plugins/src/gazebo_motor_model.cpp for reference.

2 Comments

So, i can calculate thrust and torque directly on simulink, based on the speed of the rotors, or i can modify the quadcopter model on Gazebo with a series of if and else as you showed me?
You can use Simulink to directly compute force and torque and apply to Gazebo links.

Sign in to comment.

Categories

Products

Release

R2020b

Asked:

on 18 Jun 2021

Commented:

on 21 Jun 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!