Clear Filters
Clear Filters

Quadcopter Modelling with load attached via String?

3 views (last 30 days)
I would like to get idea on how can we attach load via Strings to a drone in a MatLab model.

Answers (1)

Anshuman on 31 Jan 2024
Attaching a load via strings to a drone in a MATLAB model involves the physical modeling of the drone and the load, the creation of the strings as connection elements, and the simulation of the physical behavior of the system.
Modelling Drone and Load:
  • I am assuming you have already modelled the Drone. This includes defining the drone's physical properties (mass, dimensions, center of mass, etc.) and modelling drone's dynamics, including its equations of motion.
  • While defining the Load model, apart from defining the load's physical properties (mass, dimensions, center of gravity, etc.), also consider how the load will affect the drone's flight dynamics.
Modelling the strings:
  • This will include determining the properties of the strings (length, stiffness, damping, breaking point, etc.), and modelling the strings as flexible connectors that can transmit forces between the drone and the load.
  • You can implement the strings using appropriate MATLAB functions or toolboxes, such as the Simscape Multibody for simulating the physical connections.
Connect the Drone and Load with the Strings:
  • Define the attachment points on the drone and the load.
  • Connect the strings between these points, ensuring that the strings can articulate to simulate the swinging or hanging of the load.
Here is a high level and simplified MATLAB function to connect the load to the drone:
function [force_on_drone, force_on_load] = string_forces(drone, load, string)
displacement = norm(drone.position - load.position) - string.length;
velocity_diff = drone.velocity - load.velocity;
force_magnitude = string.stiffness * displacement + string.damping * dot(velocity_diff, (drone.position - load.position) / norm(drone.position - load.position));
force_on_load = force_magnitude * (drone.position - load.position) / norm(drone.position - load.position);
force_on_drone = -force_on_load;
You can simulate this function over different time steps to observe the behavior of the drone and load system under various conditions.


Find more on Simscape Multibody in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!