Motion controller using force and torque to achieve desired attitude.
This actuator reads roll,pitch, yaw rate and thrust commands as e.g. used to manually control a quadrotor via RC or by higher level control loops. This controller is meant to be used by quadrotors and similar flying robots with Rigid Body physics in blender. It is a simple PD-controller which applies torques to the robot to change and control the attitude. The yaw-rate input is integrated to yield an absolute yaw setpoint for the controller. Thrust is directly applied as force in z-direction of the robot.
Note
Angle are given in aerospace North East Down convention (NED)
You can set these properties in your scripts with <component>.properties(<property1> = ..., <property2>= ...).
proportional gain for roll/pitch control
derivative gain for roll/pitch control
(no documentation available yet)
derivative gain for yaw control
multiplication factor for applied thrust force in N
This actuator reads these datafields at each simulation step:
roll angle in radians
pitch angle in radians
yaw angle in radians
collective thrust: 0 .. 1 (= 0 .. 100%)
Interface support:
(attention, no interface support!)
This component does not expose any service.
The following example shows how to use this component in a Builder script:
from morse.builder import *
robot = ATRV()
# creates a new instance of the actuator
rotorcraftattitude = RotorcraftAttitude()
# place your component at the correct location
rotorcraftattitude.translate(<x>, <y>, <z>)
rotorcraftattitude.rotate(<rx>, <ry>, <rz>)
robot.append(rotorcraftattitude)
# define one or several communication interface, like 'socket'
rotorcraftattitude.add_interface(<interface>)
env = Environment('empty')
(This page has been auto-generated from MORSE module morse.actuators.rotorcraft_attitude.)