Kinematic5 ​
A component emitting a 5th order polynomial trajectory.
traj5 is a simple trajectory planner that plans a 5th order polynomial trajectory between two points, subject to specified boundary conditions on the position, velocity and acceleration.
The outputs are:
q: Positionqd: Velocityqdd: Acceleration
Usage ​
MultibodyComponents.Kinematic5(tf=1, q0=fill(0.0, nout), q1=fill(1.0, nout), qd0=fill(0.0, nout), qd1=fill(0.0, nout), qdd0=fill(0.0, nout), qdd1=fill(0.0, nout))
Parameters: ​
| Name | Description | Units | Default value |
|---|---|---|---|
nout | Number of output axes | – | 1 |
tf | Final time for the trajectory | – | 1 |
q0 | Initial position for each axis | – | fill(0.0, nout) |
q1 | Final position for each axis | – | fill(1.0, nout) |
qd0 | Initial velocity for each axis | – | fill(0.0, nout) |
qd1 | Final velocity for each axis | – | fill(0.0, nout) |
qdd0 | Initial acceleration for each axis | – | fill(0.0, nout) |
qdd1 | Final acceleration for each axis | – | fill(0.0, nout) |
Connectors ​
q- This connector represents a real signal as an output from a component (RealOutput)qd- This connector represents a real signal as an output from a component (RealOutput)qdd- This connector represents a real signal as an output from a component (RealOutput)
Behavior ​
Dict{MIME{Symbol("text/plain")}, String} with 1 entry: MIME type text/plain => "Error displaying result"
Source ​
"""
A component emitting a 5th order polynomial trajectory.
`traj5` is a simple trajectory planner that plans a 5th order polynomial trajectory
between two points, subject to specified boundary conditions on the position, velocity
and acceleration.
The outputs are:
- `q`: Position
- `qd`: Velocity
- `qdd`: Acceleration
"""
component Kinematic5
"Position output for each axis"
q = [RealOutput() for i in 1:nout] {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 150, "x2": 1060, "y2": 250, "rot": 0}
},
"tags": []
}
}
"Velocity output for each axis"
qd = [RealOutput() for i in 1:nout] {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 450, "x2": 1060, "y2": 550, "rot": 0}
},
"tags": []
}
}
"Acceleration output for each axis"
qdd = [RealOutput() for i in 1:nout] {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 750, "x2": 1060, "y2": 850, "rot": 0}
},
"tags": []
}
}
"Number of output axes"
structural parameter nout::Integer = 1
"Final time for the trajectory"
parameter tf::Real = 1
"Initial position for each axis"
parameter q0::Real[nout] = fill(0.0, nout)
"Final position for each axis"
parameter q1::Real[nout] = fill(1.0, nout)
"Initial velocity for each axis"
parameter qd0::Real[nout] = fill(0.0, nout)
"Final velocity for each axis"
parameter qd1::Real[nout] = fill(0.0, nout)
"Initial acceleration for each axis"
parameter qdd0::Real[nout] = fill(0.0, nout)
"Final acceleration for each axis"
parameter qdd1::Real[nout] = fill(0.0, nout)
"Trajectory of all axes, planned once: positions, velocities and accelerations"
structural variable traj::Native[3] = MultibodyComponents.traj5_trajectory(time, tf, q0, q1, qd0, qd1, qdd0, qdd1)
relations
q = traj[1]
qd = traj[2]
qdd = traj[3]
metadata {"Dyad": {"icons": {"default": "dyad://MultibodyComponents/Kinematic5.svg"}}}
endFlattened Source
"""
A component emitting a 5th order polynomial trajectory.
`traj5` is a simple trajectory planner that plans a 5th order polynomial trajectory
between two points, subject to specified boundary conditions on the position, velocity
and acceleration.
The outputs are:
- `q`: Position
- `qd`: Velocity
- `qdd`: Acceleration
"""
component Kinematic5
"Position output for each axis"
q = [RealOutput() for i in 1:nout] {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 150, "x2": 1060, "y2": 250, "rot": 0}
},
"tags": []
}
}
"Velocity output for each axis"
qd = [RealOutput() for i in 1:nout] {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 450, "x2": 1060, "y2": 550, "rot": 0}
},
"tags": []
}
}
"Acceleration output for each axis"
qdd = [RealOutput() for i in 1:nout] {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 960, "y1": 750, "x2": 1060, "y2": 850, "rot": 0}
},
"tags": []
}
}
"Number of output axes"
structural parameter nout::Integer = 1
"Final time for the trajectory"
parameter tf::Real = 1
"Initial position for each axis"
parameter q0::Real[nout] = fill(0.0, nout)
"Final position for each axis"
parameter q1::Real[nout] = fill(1.0, nout)
"Initial velocity for each axis"
parameter qd0::Real[nout] = fill(0.0, nout)
"Final velocity for each axis"
parameter qd1::Real[nout] = fill(0.0, nout)
"Initial acceleration for each axis"
parameter qdd0::Real[nout] = fill(0.0, nout)
"Final acceleration for each axis"
parameter qdd1::Real[nout] = fill(0.0, nout)
"Trajectory of all axes, planned once: positions, velocities and accelerations"
structural variable traj::Native[3] = MultibodyComponents.traj5_trajectory(time, tf, q0, q1, qd0, qd1, qdd0, qdd1)
relations
q = traj[1]
qd = traj[2]
qdd = traj[3]
metadata {"Dyad": {"icons": {"default": "dyad://MultibodyComponents/Kinematic5.svg"}}}
endTest Cases ​
No test cases defined.
Related ​
Examples
Experiments
Analyses