Currently, we’re using multi.movePVT() and assigning final velocities of 0 for every point. During multi-axis coordinated moves, the controller passes through each point but creates a long acceleration profile. For a 2-second move, the controller accelerates for half the distance, reaches peak velocity, then decelerates for the remaining half. This is in line with the PVT motion documentation.
Instead, we’d like to specify maximum acceleration values and have the controller reach peak velocity based on the specified acceleration. The controller should maintain this velocity throughout the move and decelerate based on the specified deceleration value as it approaches the target coordinate. We require final velocity values for each coordinate to be 0 and the controller needs to perform multi-axis interpolation as it does with movePVT.
Would using multi.movePVAJT() achieve this behavior? Or should we consider using multi.moveScurve() ? Please advise.
Thank you for your reply. We will definitely test it out.
We’ve seen in the documentation that when we use the axis class, we have a MoveSCurve function which allows us to specify final velocity. Similarly is there an option where we could do the same with Multiaxis class?
The reason we’re asking for this is as follows:
Suppose we need to create a circular motion where multiple coordinates are specified which represent a circle using the X and Y axis. If we use Multi.moveScurve the controller will take the final velocity to zero at the end of every point to point move. This results in a “start stop” kind of motion while traversing through every coordinate of the circle resulting in a jerky move. If using some logic we’re able to decide the final velocities for every axis we will be able to reduce the jerky nature of the move.
MultiAxis::MoveSCurve does not currently have an overload which supports the finalVelocity parameter, though it can be added.
Though for a circular motion (where you know the desired path in advance) you would be best served using MovePT or MovePVT to get continuous velocities through each of the path positions (as specified in the position arrays).