ZV_IP #
Brief #
This is an experimental component, it’s not fully tested.
The zv_ip component is responsible for applying a Zero Vibration (ZV) input shaper to the position and velocity commands of a motor. It reads the position and velocity commands, calculates the shaped commands, and outputs them for further processing.
Component Explanation #
The zv_ip component applies a Zero Vibration (ZV) input shaper to the position and velocity commands of a motor. This component operates within a hardware abstraction layer (HAL) framework, providing real-time control and non-real-time initialization functions.
- Input Reading and Initialization:
- The component reads the position command (
cmd_pos) and velocity command (cmd_vel) from input pins. - It also reads various parameters for the ZV input shaper, including
natural_frequency,damping_ratio,A1,A2, andT.
- Parameter Calculation:
- The component calculates the ZV input shaper parameters (
A1,A2, andT) based on thenatural_frequencyanddamping_ratio.
- Input Shaping:
- The component applies the ZV input shaper to the position and velocity commands to generate the shaped position (
shaped_pos) and shaped velocity (shaped_vel) outputs.
- Output Updates:
- The component updates the output pins with the calculated shaped position and velocity commands.
Pins #
| Name | Description |
|---|---|
| cmd_pos | input, Position command |
| cmd_vel | input, Velocity command |
| natural_frequency | parameter, Natural frequency of the system (Hz) |
| damping_ratio | parameter, Damping ratio of the system |
| A1 | parameter, Amplitude of the first impulse |
| A2 | parameter, Amplitude of the second impulse |
| T | parameter, Time delay between impulses |
| prev_cmd_pos | internal, Previous position command |
| prev_cmd_vel | internal, Previous velocity command |
| timer | internal, Timer to track time delay |
| shaped_pos | output, Shaped position command |
| shaped_vel | output, Shaped velocity command |
References #
Source: .c File