Universal Robots Forum

Large deceleration at the end of conveyor tracking

Environment
Software 3.15.0 (Mar 10 2021)
Robot : UR5 (CB Series)
This problem is reproduced both on the real robot and on the simulator(VM).

Program and installation
urp.zip (7.8 KB)

As you can see in the following topic,
I do not use an encoder, but instead increment the counter myself for conveyor tracking.

 Program
   BeforeStart
     encoder_enable_set_tick_count(0,4)
     seq≔0
     cnt_per_meter≔10000
     conv_cnt≔0
     conv_speed≔40
     conv_direction≔pose_sub(pose_trans(conv, p[1,0,0,0,0,0]), conv)
     tick_interval≔1 / (cnt_per_meter / 1000 * conv_speed)
   Robot Program
     MoveJ
       prep
     track_conveyor_linear(conv_direction,cnt_per_meter)
     MoveL
       place_approach
       place_up
       place_down
       Wait: 3.0
       place_up
       place_approach
     stop_conveyor_tracking()
   Thread_1
     conv_cnt≔conv_cnt + 1
     encoder_set_tick_count(0, conv_cnt)
     sleep(tick_interval)

When stop_conveyor_tracking is executed,
the tcp speed in the conveyor direction suddenly becomes zero and the robot vibrates.

When I monitored the tcp position and velocity of the robot running the above program with RTDE
It is obvious that the tcp speed in the Y-axis direction changes from 40 to 0 in one control cycle (8msec).
(the Y-axis direction of the base coordinate system coincides with the direction of the conveyor)

Is there any way to avoid sudden deceleration at the end of tracking?
To avoid vibration of the robot, I want to gradually decelerate the robot in multiple control cycles.

Not sure if this helps, but there is a default argument

1 Like

I had missed this parameter.

I have confirmed that the deceleration at the end of tracking can be controlled with this parameter.

a=20[rad/sec^2] (default)

a=1[rad/sec^2]

a=0.2[rad/sec^2]

Thanks a lot.
This issue has been resolved.