I am moving the robot in freedrive and then getting the actual_tcp_pose from it via RTDE. I have also tried using target_tcp_pose and in both cases it returns the original position after being manually moved. actual_tcp_pose seems to sometimes return the new updated pose depending on what menu I am in on the Polyscope. Are there any workarounds for this issue where I don’t have to teach any waypoints? This is the code I am using:
robot_ip_address = “ip address”
conf = rtde_config.ConfigFile(Path(Path.cwd() / “universal_robots_communication_file.xml”))
output_names, output_types = conf.get_recipe(“out”)
robot_ip_address = "ip address"
conf = rtde_config.ConfigFile(Path(Path.cwd() / "universal_robots_communication_file.xml"))
output_names, output_types = conf.get_recipe("out")
con = rtde.RTDE(robot_ip_address, 30004)
con.connect()
if not con.negotiate_protocol_version():
raise RuntimeError("Protocol do not match")
if not con.send_output_setup(output_names, output_types, frequency=200):
raise RuntimeError("Unable to configure output")
if not con.send_start():
raise RuntimeError("Unable to start synchronization")
con.send_start()
ab = input("type yes")
while(ab == "yes"):
robot_state = con.receive()
time.sleep(0.1)
robot_pose = np.array(robot_state.actual_TCP_pose)
print(robot_pose)
ab = input("type yes")
con.send_pause()
con.disconnect()