Hi,
I’m working with a UR3 Robot for a simple pick and place of a known workpiece in order to figure out some unreachable positions due to either joint limits or robot’s reachable workspace.
Working with Robot Executor i can simply get warnings on the output without any problems,while working with vcRobotController i dont get any feedback for mentioned issues,robot simply grabs object and releases it wherever it is.
Using for example :
“”""
controller.clearTargets()
target = controller.createTarget(m1r)
target.JointTurnMode = VC_MOTIONTARGET_TURN_NEAREST
target.TargetMode = VC_MOTIONTARGET_TM_NORMAL
target.MotionType = VC_MOTIONTARGET_MT_JOINT
controller.addTarget(target)
warnings = target.getConfigWarnings()
print warnings “”"""
where m1r is a desired target.
Any highlight is appreciated.
Regards
There is a known issue with the getConfigWarnings() method. A workaround is to use the ConfigCount to do for-loop using the getConfigWarning() method.
‘’’’’’’’’’’’’
warnings = []
for i in range(vcMotionTarget.ConfigCount):
warnings.append(vcMotionTarget.getConfigWarning(i)
print warnings
‘’’’’’’’’’’’’’’
Note: You might encounter issue with an issue when comparing the results with constant/integer values. For example, you might only want 000/reachability OK configurations for motion target, so you could try:
‘’’’’’’’’’’’’
warnings = []
for i in range(vcMotionTarget.ConfigCount):
result = vcMotionTarget.getConfigWarning(i)
if result == 0: warnings.append(result)
print warnings
‘’’’’’’’’’’’’’’
This is what i get for both PTP motion and Linear interpolation. Despite the joint limits exceeded all i get is Zero which should be no issues of what i understood.
With a generic robot and UR3 I can get errors targets that are unreachable or exceed limits – see attached layout.
Test-Config-Warnings-with-vcMotionTarget.vcmx (499 KB)
Config-Warning-Test-with-UR3.vcmx (981 KB)