I am new with Poppy robots.
I’m working with the Ergo-Jr robotic arm with the pen holder as an end-effector and I’m programming it through the jupyter notebook via local network.
I have observed that for those joints having the rotation axis matching the z axis of the world-frame (m1 and m4) there is a disagreement between what is considered a positive rotation on the kinematic chain, used for the forward and inverse kinematics, and the same rotation on the real robot.
In the following there is a script that highlights the problem:
from pypot.creatures import PoppyErgoJr
import matplotlib.pyplot as plt
poppy = PoppyErgoJr(camera='dummy') poppy.base_posture.start() time.sleep(5) poppy.m1.goal_position = 90 ax= plt.figure().add_subplot(111, projection='3d') poppy.chain.plot(poppy.chain.convert_to_ik_angles(poppy.chain.joints_position), ax).
Running the script the robot performs a counterclockwise rotation of 90 degrees of the first joint, while the plot of the chain performs a clockwise rotation of 90 degrees of the first joint.
The same result occurs performing the same rotation on the m4 joint.
Can anyone help me in fixing this problem? I need compliance in the results of these rotations.