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.
2.9K 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 (2024). 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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

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