Skip to content

Optimal motion profile derivation and generation

License

Notifications You must be signed in to change notification settings

tmatijevich/MotionProf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MotionProf Made for B&R

MotionProf is an Automation Studio library with functions to derive and generate optimal motion profiles.

2023-09-15_16 30 09

NOTE: This is not an official library and is supported by the community. MotionProf is provided as-is under the Apache License 2.0 agreement. Source code, documentation, and issues are managed through GitHub.

Functions

Function Description
MotionProfAcc Minimum acceleration to move in time over a distance
MotionProfTime Minimum time duration to move with acceleration over a distance
MotionProfDist Maximum distance from move with acceleration in time
MotionProfVel Minimum velocity to move with acceleration in time over a distance
MotionProfTimeDiff Maximum difference in time duration between fastest and slowest profiles
MotionProfAccTimeDiff Minimum acceleration to achieve moves throughout a time difference
MotionProfAccTimeDiff Minimum acceleration to achieve moves throughout a time difference starting at standstill
MotionProfPoint Velocity profile point interpolation

Install

  1. Download and extract the archive.
  2. Import the MotionProf library to your Automation Studio project.
    1. Logical View
    2. Toolbox
    3. Existing Library

Build

Clone the repository.

git clone https://github.com/tmatijevich/MotionProf.git

Or, add as submodule to an existing Automation Studio project repository.

cd <project_root>
git submodule add https://github.com/tmatijevich/MotionProf.git ./Logical/Libraries/MotionProf

Octave

Several MotionProf functions can be cross-compiled in GNU Octave, a free scientific programming language largely compatible with MATLAB. Octave is utilized for plotting and testing MotionProf functions.

Launch Octave and run the build script.

make

Use this example to plot the minimum time function.

PlotMotionProfTime(0.25, 0.0, 0.5, 0.0, 2.0, 10.0, 1.2);

Authors