Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

How are configurations chosen when generating robot programs?

#1
Hi,

first time posting. I am looking for some insights on how RoboDK is choosing which configuration to use when I add move instructions to a robot program. 

My main questions are:
1. Is it valid to add MoveJ and MoveL instructions to a robot program by passing in Mat objects instead of Targets?
2. When providing Mat objects to the MoveJ and MoveL functions, how is the configuration chosen? Does it depend on the robot's pose in the station at the time of calling the function?

Thanks!

Additional Info
I am doing something along the lines of:

Code:
# example code
rdk = robolink.Robolink()
program = rdk.Item("Program") # the robot program to add instructions to
frame = rdk.Item("UserFrame") # the user frame the targets are relative to
object = rdk.Item("object")   # an Object Item in the station I want to move the object to

# Mat representing the object's origin with the robot's tcp inverted
pose = object.PoseWrt(frame) * robomath.rotx(robomath.pi)

# set the reference frame
program.setFrame(frame)
# move to the position
program.MoveJ(pose)

I have noticed that in some cases, the configuration chosen when using the above method can differ between two points that should have the same robot configuration (for example, two MoveL instructions where the only difference is a Z-axis height of 100mm).

This causes issues when trying to run the programs on a real robot, as the configuration change makes it impossible to do a linear move between the two points.
  




Users browsing this thread:
1 Guest(s)