Simulink block for online trajectory generation using the Reflexxes Motion Library from github. The block provides instantaneous setpoint generation capabilities for example motion control systems. C++ code can be generated from the block using the Simulink/Embedded Coder.
Ivo Houtzager (2021). Trajectory Generator using the Reflexxes Motion Library (https://www.mathworks.com/matlabcentral/fileexchange/50358-trajectory-generator-using-the-reflexxes-motion-library), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
Added velocity-based algorithm
I have updated the block to have the initial position/velocity/acceleration as inputs to the block. The new version 1.3 is now available for download.
No, I did not implement the velocity based algorithm yet. That would indeed be interesting for a future update.
Hello Houtzager, apologize that I was not familiar with the S-Function before and posted the question awkwardly. I want to have initial position/velocity/acceleration be another three inputs of the block so that the block can be called at anytime, propably the position is not continuous to the former position. As you`ve mentioned, a triggered subsysten.
But your coding style is very clear and I find out that these initial values can be adjusted in MDL_initiallize_conditions block.
By the way, do you happen to implement a RMLVelocity Class in S-Funtion?
Your request is not fully clear to me what you mean with multiple milestones. Currently, the initial position is a block parameter used only during initialization of model. Do you intend to use the initial position/velocity/acceleration only at startup? During simulation the last position/velocity block output will be used as the initial position/velocity for the next setpoint profile to be generated in next milestone. Do you intend to disable/enable the block by triggered subsystem such that the block must be initialized at new position/velocity?
Great work!
Is it possible to transfer initial position (as well as velocity and acceleration) from other blocks?
Currently only the initial posiiton is passed to the block, which is not sufficient if the trajectory includes mutiple milestones.
Links for the library:
http://reflexxes.ws/products/overview-and-download.html
https://github.com/Reflexxes/RMLTypeII
There is not such a library!
The link for downloading library is not working!