Closed nepfaff closed 2 years ago
Maybe it is sufficient/better to control this by changing the time for a trajectory while keeping one global velocity, acceleration setting?
Maybe it is sufficient/better to control this by changing the time for a trajectory while keeping one global velocity, acceleration setting?
This is now implemented (see here)
May need additional, less manual speed improvements. Decide this based on the videos from the next lab
This shows the effect of tuning our velocity and acceleration values:
Our time-based mode lets us set the time of the trajectory. We did not use this properly so far. However, we could connect this with out timeForTrajectory
values.
Velocity and acceleration units are milliseconds.
Control using the time-based mode and setting t3 to sampling period works in practice. However, we want to send the next command after half the sampling period to avoid deacceleration. Hence, the profile will be more and more behind, prompting the velocity and acceleration to increase more and more. This would only be noticeable for long spline trajectories. Hence, this is probably not a problem. Mitigating this would be lots of work as it would require sending a bigger command then we want and sending the next command when the profile reached the command that we actually wanted.
Great success on this so far. Keep tuning this a little after attempting to change the sampling period from 0.1s to 0.05s. See #19
works well. A bit of tuning for some trajectories might lead to more smoothness without big speed sacrifices
Our robot is quite smooth but very slow. We should try to increase speed by tuning the velocity and acceleration values of the time-based mode.
It might be desirable to have different velocity and acceleration values at different stages. For example, moving between cubes should be fast but placing down should be slower for maximal accuracy. A simple solution to this would be to have different named groups of acceleration and velocity values (all tested to work well). A stage could then have one of these names associated. This could be achieved by annotating waypoints with these names, where a name represents how to move from the previous to this waypoint. When waypoints are grouped to previous (spline sequence), we would just read the name of the last waypoint in that sequence.