modelInverseKinematic

The outputs are the three actuators angles required to have the input position

Extends from DeltaRobot.Icons.InverseKinematic (Icon for 'InverseKinematic' model).

Parameters

TypeNameDefaultDescription
DiscParametersbasegp.baseParameters of the base
DiscParametersplatformgp.platformParameters of the platform
ArmParametersarmParametersgp.armParameters[1]Parameters of the arms
Limits
BooleanlimitOutputstrue=true, if you want to limit the outputs within [minTheta,maxTheta]
BooleanstopWhenSaturatedtrueWhen a saturation is detected all output signals maintain their current values until all output signals return within the limits
SI.Angle[3]maxTheta{gp.armParameters[1].maxTheta, gp.armParameters[2].maxTheta, gp.armParameters[3].maxTheta}Max actuator angle
SI.Angle[3]minTheta{gp.armParameters[1].minTheta, gp.armParameters[2].minTheta, gp.armParameters[3].minTheta}Min actuator angle
Derivatives
SI.TimeT_velocity0.01Time constants for velocity derivative (T>0 required; T=0 is ideal derivative block)
SI.TimeT_acc0.1Time constants for acceleration derivative (T>0 required; T=0 is ideal derivative block)

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealOutput[3]thetaActuators angles for the input position
Interfaces.Posepose

Components

TypeNameDefaultDescription
DeltaRobot.Components.GlobalParametersgpObject with all global parameters
SI.Angle[3]thetaRefOutput before saturation, result of inverse kinematic
SI.Angle[3]thetaSatOutput after saturation
BooleansaturationFlag=true, when there is a saturation
SI.Angle[3]outputSampleWhen a saturation is detected this variable saves the last valid output
SI.AngularVelocity[3]thetaVelocityAngles velocities, =der(theta)
SI.AngularAcceleration[3]thetaAccelerationLegs accelerations, =der(thetaVelocity)
Modelica.Blocks.Nonlinear.Limiter[3]limiter
Modelica.Blocks.Continuous.Derivative[3]posDerivative
Modelica.Blocks.Continuous.Derivative[3]velDerivative
Modelica.Blocks.Routing.RealPassThrough[3]realPassThrough