How exactly works the conveyer tracking node under the hood ?
I can record and playback a path with servoj calls but I obtain strange things when playing my path inside a conveyer tracking node.
I play the servoj at 10Hz and my path begin by a movej call.
Consider a conveyor standing still, with a part (grey box) on it.
You want to pick up the part while the conveyor is moving.
Then. you set the target position inside your Conveyor tracking node (green triangle).
The target position is, where the part is, when you START the conveyor tracking.
As the conveyor starts moving, the part will move.
In the Conveyor tracking installation node (or start conveyor tracking script code) you have defined the direction of the conveyor, the distance per encoder tick, and which signal works as an encoder.
The target position inside conveyor tracking is still the start position, but as the part moves, the TCP target position will adjust, with the speed of the conveyor (deducted from encoder) in the given direction if the conveyor.
Thus, the position of the TCP will adjust to the position of the conveyor, until Conveyor Tracking is stopped.
So, conveyor tracking will take the positions you give inside conveyor tracking, and move them with the speed of the conveyor in the direction of the conveyor.
The positions could be fixed, variable or relative, or simply a wait.
All positions should be defines, as where they are before the conveyor tracking starts, and as the conveyor tracking is running, they will move accordingly.
Thanks for the explications.
Because we have no conveyer we setup a UR10 to move forward and backward on a line. In a thread, the UR10 communicate over modbus its distance from its start position.
On a UR3 robot, we set the conveyer features using the modbus register from the UR10 to simulate an absolute encoder.
We test it with a wait of 20seconds inside a conveyer node and the UR3 follows pretty well the UR10 as expected.
We just had to increase the update rate of modbus to 100 Hz to obtain something smooth.
Then we record a path around a circle with the Robotiq’s Path recorder node and insert it inside the conveyer node but the result was not to follow the circle on the “conveyer”. The result was kind erratic.
The trajectory is play back mostly with servoj and movej. Is there any issue to use movej and servoj in conveyor node ? How controler handles joints moves in conveyer node ?
Sync frequency for the Modbus register in that case is very important for a smooth movement,
movel
, movej
or similar script movements work just as a standard Move commands and waypoints.
The original position is moved along with the conveyor by the conveyors speed.
servoj
is used for online control, and hence the positions are expected to be updated at a given update frequency.
So servoj
might not give you the expected behavior inside conveyor tracking.
And what about servoj ?
Sorry, I meant servoj
, not speedj
in above post.