Message from update author: I mistakenly forgot to publish this update and I just realized it now. Well, better late than never! Here it goes:
Presenting: The Tinymovr Trajectory Planner!
Video first:
We implemented a trapezoidal trajectory planner into Tinymovr, that runs at the 20kHz rate, for silky-smooth trajectory interpolation. The planner works in two modes: In acceleration-limited mode, you set the max acceleration and cruise velocity, and the planner derives the necessary travel times. In time-limited mode, you set the desired acceleration-cruise-deceleration times, and the planner derives the max acceleration, cruise speed, and deceleration values.
The planner is available through CAN Bus using the following commands:
tm1.plan_t_limit(target_pos, total_time, accel_percent, decel_percent)
The above command will initiate a time-limited trajectory with specified parameters. The accel_percent and decel_percent denote how much of the total move time will be taken by acceleration and deceleration. The scale here is 0-255, with 0-0% and 255-100%. This is a convenient mode if you wish to synchronize multiple axes of e.g. a cartesian machine. Alternatively, you can use a velocity and acceleration limited trajectory:
tm1.set_max_accel_decel(max_accel, max_decel)
tm1.plan_v_limit(target_pos, max_vel)
The above will generate a trajectory that respects the limits in acceleration, cruise velocity, and deceleration specified.
The velocity-limited trajectory planner is also available through the UART protocol, where you can specify parameters one at a time with different commands:
Max acceleration:
.>50000
Max deceleration:
.<50000
Max velocity:
.^100000
Plan and execute move to a position:
T-100000
We hope this functionality extends the applications of Tinymovr, and can't wait to see how you apply it!
We'll be switching to bi-monthly updates for the duration of the summer, and re-evaluate afterward. See you in the next update!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.