Motion Driver for SimMechanics
One way to actuate a SimMechanics model is by providing its Actuator blocks with 'Motion' signals. The input to a 'Motion' actuator is a three-element vector containing position, velocity and acceleration signals.
In many applications, the only data that is available is the position. This raises an interesting question: how can we calculate consistent velocity and position signals? One way to actuate a SimMechanics model is by providing its Actuator blocks with 'Motion' signals. The input to a 'Motion' actuator is a three-element vector containing position, velocity and acceleration signals.
In many applications, the only data that is available is the position. This raises an interesting question: how can we calculate consistent velocity and position signals? Differentiating the position signal sometimes works, but the velocity and acceleration signals tend to become very noisy. A better - though less intuitive approach - is to create a second-order tracking filter and use its position, velocity and acceleration signals to drive the actuator.
This file contains a small Simulink library, motdrv_lib and an example file, mech_motdrv. To use these, copy the files to your computer, add the directory to the MATLAB search path (see addpath for help) and type mech_motdrv in the MATLAB Command Window.
Cite As
Daniel (2026). Motion Driver for SimMechanics (https://uk.mathworks.com/matlabcentral/fileexchange/27589-motion-driver-for-simmechanics), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Simulink > Modeling >
- Physical Modeling > Simscape Electrical > Applications > Motor Drives and Power Electronics > Converters (High Power) >
Tags
Acknowledgements
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
motdrv_lib/
motdrv_lib/
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.3.0.0 | Fixed typographical error in description and updated MATLAB release number to match latest code. |
||
| 1.2.0.1 | Updated license |
||
| 1.2.0.0 | Enhanced to support inherited initial conditions. Velocity-driven version of block introducted. |
||
| 1.0.0.0 |
