https://github.com/tmatijevich/motionprof
Optimal motion profile derivation and generation
https://github.com/tmatijevich/motionprof
automation-studio iec61131-3 library motion-planning octave-functions
Last synced: about 2 months ago
JSON representation
Optimal motion profile derivation and generation
- Host: GitHub
- URL: https://github.com/tmatijevich/motionprof
- Owner: tmatijevich
- License: gpl-3.0
- Created: 2021-09-03T20:37:08.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-03T21:06:56.000Z (about 2 years ago)
- Last Synced: 2025-01-04T16:37:40.122Z (about 1 year ago)
- Topics: automation-studio, iec61131-3, library, motion-planning, octave-functions
- Language: C
- Homepage:
- Size: 138 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MotionProf [](https://www.br-automation.com)
MotionProf is an [Automation Studio](https://www.br-automation.com/en-us/products/software/automation-software/automation-studio/) library with functions to derive and generate optimal motion profiles.

**NOTE**: This is not an official library and is supported by the community. MotionProf is provided as-is under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) agreement. Source code, documentation, and issues are managed through [GitHub](https://github.com/tmatijevich/MotionProf).
## Functions
Function | Description
---|---
[MotionProfAcc](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L2) | Minimum acceleration to move in time over a distance
[MotionProfTime](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L16) | Minimum time duration to move with acceleration over a distance
[MotionProfDist](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L30) | Maximum distance from move with acceleration in time
[MotionProfVel](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L44) | Minimum velocity to move with acceleration in time over a distance
[MotionProfTimeDiff](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L59) | Maximum difference in time duration between fastest and slowest profiles
[MotionProfAccTimeDiff](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L73) | Minimum acceleration to achieve moves throughout a time difference
[MotionProfAccTimeDiff](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L87) | Minimum acceleration to achieve moves throughout a time difference starting at standstill
[MotionProfPoint](https://github.com/tmatijevich/MotionProf/blob/main/MotionProf.fun#L101) | 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.
```bash
git clone https://github.com/tmatijevich/MotionProf.git
```
Or, add as **submodule** to an existing Automation Studio project repository.
```bash
cd
git submodule add https://github.com/tmatijevich/MotionProf.git ./Logical/Libraries/MotionProf
```
### Octave
Several MotionProf functions can be cross-compiled in [GNU Octave](https://octave.org/), 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.
```matlab
make
```
Use this example to plot the minimum time function.
```matlab
PlotMotionProfTime(0.25, 0.0, 0.5, 0.0, 2.0, 10.0, 1.2);
```
## Authors
- [tmatijevich](https://github.com/tmatijevich)