TCP calibration?

I noticed that there are now TCP calibration functions in the xArm Python SDK.
I couldn’t find much documentation on how to use it.

What I would like to do is attach a tool to xArm and then follow some mechanical/SDK procedure so that the tool TCP details can be calculated and configured into the controller.

  1. I’m guessing this would involve some sort of calibration jig and some manual alignment by the operator? Maybe something like tell operator to move the tool point to a jig reference point in several different ways and then xArm software solves for the TCP’s offset and orientation? Do you have any documentation somewhere explaining this procedure more fully?

  2. Also, what is the relationship between offset and orientation calibration? From the code, it looks like that if you want just XYZ, you do calibrate_tcp_coordinate_offset() only but if you want XYZRPY then you FIRST do calibrate_tcp_coordinate_offset() followed by calibrate_tcp_orientation_offset() ? Looks like you give 4 points to the first and an additional point to the second? Then you pass the results to set_tcp_offset() or something? Any doc or (even better) code examples for this?



You can use the “Teach and Acquire” button to get the TCP offset parameters. Open the xArm Studio and follow the steps shown in the picture below.

Thanks! Looks very good! I will try it!


You are welcome.