Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 5 days 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 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-03T21:06:56.000Z (about 1 year ago)
- Last Synced: 2024-11-09T13:39:22.541Z (2 months 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 [![Made for B&R](https://raw.githubusercontent.com/hilch/BandR-badges/dfd5e264d7d2dd369fd37449605673f779db437d/Made-For-BrAutomation.svg)](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.
![2023-09-15_16 30 09](https://github.com/tmatijevich/MotionProf/assets/33841634/b59d07e6-3757-4a67-861b-89c0b5200d83)
**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)