Hi,
I am trying to figure out how to use get_inverse_kin using the RTDE code from this past forum topic: RTDE - get_inverse_kin()
This is the code that I have right now:
def get_inverse(self, pose, wait=True):
if not self.robotConnector.RTDE.isRunning():
self.__logger.error(‘RTDE need to be running to use get_inv_kin()’)
return False
#store values of pose
self.robotConnector.RTDE.setData('input_double_register_0', pose[0])
self.robotConnector.RTDE.setData('input_double_register_1', pose[1])
self.robotConnector.RTDE.setData('input_double_register_2', pose[2])
self.robotConnector.RTDE.setData('input_double_register_3', pose[3])
self.robotConnector.RTDE.setData('input_double_register_4', pose[4])
self.robotConnector.RTDE.setData('input_double_register_5', pose[5])
self.robotConnector.RTDE.sendData()
prog = '''def ur_inverse_kin():
while True:
angles = get_inverse_kin(p{pose})
write_output_float_register(0,angles[0])
write_output_float_register(1,angles[1])
write_output_float_register(2,angles[2])
write_output_float_register(3,angles[3])
write_output_float_register(4,angles[4])
write_output_float_register(5,angles[5])
end
end
‘’’
programString = prog.format(**locals())
self.robotConnector.RealTimeClient.SendProgram(programString)
if wait:
self.waitRobotIdleOrStopFlag()
and then I run it from my main. The problem is it only prints the current pose and joint but does not give me the inverse kinematics as an output on my laptop. I will appreciate any help!
Thanks