Home Programming

Discussion

Left ArrowBack to discussions page
Pierre_DenisPierre_Denis Posts: 7 Apprentice

Hello,

While working on programming, I usually use the command "movej" or "movep". Because I'm better in pure programming than in robotic.

Recently, for one of my project, someone told me to use "servoj" command in order to smooth the path of the arm.

In my program the UR have to follow a path that change while the arm is moving. The "servoj" command will avoid the UR to stop after each movement and allow the UR to change is targeted position while he is moving.


So I tried to put this command in my program but ended up with errors.

So I tried to understand the use of "servoj" command alone.


My program look like :


#declaration of 3 poses in joint space

#declaration of parameters A,S,T,L,G for "servoj" command

#A = Acceleration, S = Speed, T = Time, L = Look ahead Time, G = Gain

servoj(pose1)

if(input4):

servoj(pose3)

else:

servoj(pose2)

end


I've tried different values for parameters but I can't change the speed of the arm. if T is too small in comparison to the distance to do, the arm just go to is maximum speed.

While changing L and G I've understand that the "servoj" command looks like a regulator whose goal is to reach the poseX parameter.

But I still don't understand what does exactly the L parameter.


So here is my questions:

Does someone know how to limit the speed of the UR (other than in the installation configuration) ?

Can someone explain me, in more details, the L parameter in the "servoj" command ?


Thanks for your answers.

Best Answer

  • matthewd92matthewd92 Posts: 1,062 Handy
    Accepted Answer
    @Pierre_Denis the servoj command is used for sending the robot joint positions to execute in real-time, not to send a single pose or set of joint positions to. It’s expecting to to told what to do at 125 Hz and it’s your responsibility to slice the move from pose 1 to pose 2 into the correct time slice for the speed that you want to go.  So what’s happenomg is it’s interpreting that you want to move from pose 1 to pose 2 in a single time slice and is either erroring out or going to max speed to get there. 

    I have used it a couple of times in testing, never in production, and used some of the pose math tools that are provided in URScript for determining how far to go each point and to know when to switch from one pose to the next. 

Comments

Sign In or Register to comment.
Left ArrowBack to discussions page