Hi all,
@ajp
I am trying to write a code that initiates a robot above a surface and then slowly descends till reaching contact until a force in the z-direction reaches 2N, which causes the loop to stop.
The issue I am having is, that once i initialize movel the loop is not going to continue running, instead it waits till movel finished its task and only then allows the loop to continue.
Any solutions?
How to let the loop which collects data from sensor run, while in the same time let the robot move to the desired location?
Here is my code
F_start = FT_sensor.force_moment_feedback().reshape(6, 1)
dist = 0.01
start = np.array([0.0000, -0.6732, 0.15768, -0.0425, 3.1233, 0.0983])
end = np.array([0.0000, -0.6732, 0.1483-dist, -0.0425, 3.1233, 0.0983])
robot.movel(start)
j = 0
fx = []
fy = []
fz = []
while True:
print(FT_sensor.force_moment_feedback().reshape(6, 1)[2]-F_start[2])
j += 1
real_force = FT_sensor.force_moment_feedback().reshape(6, 1)-F_start
fx.append(real_force[0])
fy.append(real_force[1])
fz.append(real_force[2])
robot.movel(end, a=0.05, v=0.002)
if np.abs(FT_sensor.force_moment_feedback().reshape(6, 1)[2]-F_start[2]) > 2.0:
robot.stopl()
print(np.abs(FT_sensor.force_moment_feedback().reshape(6, 1)[2]-F_start[2]))
print("inner loop broken")
break
robot.movel(start)