Determine confdata and extjoint based on pose with RAPID

Hi, I am working on a bin picking system using a 3D camera and I’m wondering how I can determine confdata(cf1,cf4,cf6 and cfx) and extjoint based on the pose of the object with RAPID? When using robotstudio I can create a target by inputting the pose and these values are calculated in robtarget variable, so I’m thinking there must be a way to do this in RAPID, maybe with a list of available configurations that the program can iterate through.

Thanks for any help.


  • lemster68
    lemster68 United States ✭✭✭
    I would use the function CalcJointT() to convert the robtarget into a jointtarget, then, examine the joint angles and use them to figure out the confdata.
    Lee Justice
  • I have looked at CalcJointT() but that would require an initial guess for confdata and extjoint that, if incorrect, will cause an error. Therefor I am looking to avoid that if possible.

  • lemster68
    lemster68 United States ✭✭✭
    Try just writing in all zeroes.
    Lee Justice
  • DenisFR
    DenisFR FRANCE ✭✭✭
    It's not so easy Bin Picking. ;)
    For me I take pose send by camera then only apply confdata for axis 1 depending where position is.
    Then I calculate jointtarget with CalcJointT and calculate a robtaget with it. (in same time it say me if the position is accessible). So confdata is for one solution.
    After, I check axis 4 and 6 to not wrist sheath. If needed I turn them in confdata.
    Check if axis 5 is not too closed (gripper may collide with axis 4) depending axis 6.
    And at end use my open-sourced module to check if robot don't collide with environement.
    You can see the result in RobotStudio with the Component.