Motion Driver for SimMechanics

Version 1.2.0.1 (20.2 KB) by Daniel
A block to generate velocity and acceleration from a position signal.
3K Downloads
Updated 1 Sep 2016

View License

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://www.mathworks.com/matlabcentral/fileexchange/27589-motion-driver-for-simmechanics), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: Quarter of Vehicle Simulation with Simscape

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