KinematicPTP2
Move as fast as possible from start to end position within given kinematic constraints with output signals q, qd=der(q), qdd=der(qd)
Library
Modelica/Blocks/Sources
Description
The goal is to move as fast as possible from start position q_beginto end position q_endunder given kinematical constraints. The positions can be translational orrotational definitions (i.e., q_begin/q_end is given). In robotics such a movement is called PTP (Point-To-Point).This source block generates the position q(t), thespeed qd(t) = der(q), and the acceleration qdd = der(qd)as output. The signals are constructed in such a way that it is not possibleto move faster, given the maximally allowed velocity qd_max andthe maximally allowed acceleration qdd_max:
If vectors q_begin/q_end have more than 1 element,the output vectors are constructed such that all signalsare in the same periods in the acceleration, constant velocityand deceleration phase. This means that only one of the signalsis at its limits whereas the others are synchronized in such a waythat the end point is reached at the same time instant.
This element is useful to generate a reference signal for a controllerwhich controls, e.g., a drive train, or to drivea flange according to a given acceleration.
Parameters
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_q_begin | q_begin | Start position | Vector | |
mo_q_end | q_end | End position | Vector | |
mo_qd_max | qd_max | Maximum velocities der(q) | Vector | |
mo_qdd_max | qdd_max | Maximum accelerations der(qd) | Vector | |
mo_startTime | startTime | Time instant at which movement starts | Scalar | |
mo_nout | nout | Number of output signals (= dimension of q, qd, qdd, moving) | Scalar | |
mo_p_q_begin | p_q_begin | Vector | ||
mo_p_q_end | p_q_end | Vector | ||
mo_p_qd_max | p_qd_max | Vector | ||
mo_p_qdd_max | p_qdd_max | Vector | ||
mo_p_deltaq | p_deltaq | Vector |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo__nmodifiers | Number of Modifiers | Specifies the number of modifiers | Number | |
mo__modifiers | Modifiers | Add new modifier | Structure | |
mo__modifiers/varname | Variable name | Cell of strings | 'endTime' | |
mo__modifiers/attribute | Attribute | Cell of strings | 'start' | |
mo__modifiers/value | Value |
Ports
Name | Type | Description | IO Type | Number |
---|---|---|---|---|
q | implicit | Reference position of path planning | output | 1 |
qd | implicit | Reference speed of path planning | output | 2 |
qdd | implicit | Reference acceleration of path planning | output | 3 |
moving | implicit | = true, if end position not yet reached; = false, if end position reached or axis is completely at rest | output | 4 |