wyojustinParticipantJanuary 24, 2019 at 1:32 pmPost count: 16
Been playing with jevois and Niryo locating ArUco codes in 3-space and discovered a strange z-axis offset of 12-15mm below the table to which NiryoOne is mounted. I wonder if this is a calibration issue or a coordinate frame definition issue. Can you please provide a diagram of the XYZ coordinate frame reference point and orientation? By this I mean the frame to which set_pose refers to.
Thanks so much for NiryoOne!
JustinEdouard RenardKeymasterJanuary 24, 2019 at 4:25 pmPost count: 152
When you use the move_pose functionality, the TCP (Tool Center Point) frame used is this one:
If you want to see it moving in 3D, launch the desktop simulation with Rviz, and choose the options like I did on the photo.
– Here you can download the mechanical specs and see the dimensions.
– Here you can see the URDF file used for creating the ROS 3D model. You can also find all links and joints with the distance between them.
Note that the frame used for pose functionalities is always the same, you’ll have to provide a correct offset if you add a tool.
I hope this helps!wyojustinParticipantJanuary 25, 2019 at 12:51 pmPost count: 16
Yes! That is my point exactly. The modeled xy-plane does not agree with the actual xy-plane. This is on two separate arms, so I think the problem is systemic. The top image below shows that the modeled xy-plane is level with the base. The bottom image shows that the actual position is over a cm below the base.
Edouard RenardKeymasterJanuary 25, 2019 at 2:37 pmPost count: 152
- This reply was modified 3 weeks, 3 days ago by wyojustin.
Thanks for the photos, we’ll investigate this issue and will update the dimensions on the software if needed!
I’ll post a follow up here once we have found something.wyojustinParticipantJanuary 25, 2019 at 11:48 pmPost count: 16
Thanks! Looking forward to get update.wyojustinParticipantJanuary 26, 2019 at 6:41 pmPost count: 16
Ok, I think I’ve cracked it! From the Mechanical Spec, I compute that the neutral position (all joints set to zero) of the tool connector is:
x = 41.5 + 180 + 23.7 = 245.2 and
z = 103 + 80 + 210 + 30 – 5.5 = 417.5
When I command Niryo RVis simulation to set the neutral position and call niryo.get_arm_pose() I get this:
which is off by about 7mm in x.
Checking in Rvis:
TF->hand_link-> Relative position, I see the x offset is set to 16.4mm in stead of 23.7mm. That account for the descrepency.
FindingNiryoParticipantJanuary 30, 2019 at 5:17 pmPost count: 54
- This reply was modified 3 weeks, 2 days ago by wyojustin.
<xacro:property name=”distance_wrist_hand_x” value=”0.0164″ />
<xacro:property name=”distance_wrist_hand_x” value=”0.0237″ />
yes?Edouard RenardKeymasterFebruary 1, 2019 at 1:50 pmPost count: 152
Thanks guys for the help!
I have checked again the values, but the values in URDF seem to be correct.
In the mechanical specifications, the distance between the joint 5 (axis 5) and the tool joint is 23.7mm, or 0.0237 m.
In URDF, you can find “distance_wrist_hand_x” at 0.0164, but also you have “distance_hand_tool” at 0.0073. The sum of the 2 is 0.0237.
In fact (software related only), the robot doesn’t have 6 joints, but 7. The 7th joint is a fixed joint just for defining the distance between the hand base and the tool base, and putting an easier-to-use orientation for the user.
I have just made some tests in simulation and with a real robot, and found correct results.
See here the result for Pose command (pos.x: 0.2, pos.y: 0.0, pos.z: 0.0, rot.x: 0.0, rot.y: 1.57, rot.z: 1.57) done from Niryo One Studio.
I get the exact same position with the real robot.
@wyojustin could you check again with those settings ? Also what command tool (Niryo One Studio, Python API, …) did you use so you get your result with the position issue ?wyojustinParticipantFebruary 1, 2019 at 3:03 pmPost count: 16
Thanks for checking. I will repeat the experiment when I return home tomorrow.
You must be logged in to reply to this topic.