Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DH Parameters are not consistent between different TM data sources #21

Closed
fentonscode opened this issue Jun 9, 2022 · 3 comments
Closed

Comments

@fentonscode
Copy link

I am an Engineer working with the TM Cobot series, currently developing simulation tools for motion planning and research.

Recently, our code was tested against a physical arm (TM5X-900) and it was noticed that the dimensions used in the TMFlow software did not match the datasheets. It was then discovered that the RoboDK TM model also had different dimensions, as well as the tmr_ros2 project here. There appears to also be a strange Python script here that edits the URDF to match the tmr_ros2 dimensions, but this is not mentioned in any of the datasheets or manuals (I.E. that the CAD and datasheets are incorrect and the script is needed to 'fix' them).

In particular, there are 6 control dimensions which drive the kinematic model. The table below shows the versions discovered so far:

Data source D1 D2 D3 D4 D5 D6
TM ROS version 1 145.20 429.00 411.50 122.30 106.00 113.15
RoboDK TM model 145.20 429.00 411.00 122.30 106.50 114.15
TM Flow 145.09 429.01 411.50 122.20 106.00 114.40
TM ROS version 2 145.10 429.00 411.50 122.20 106.00 114.40

This would appear to be the root cause for the open issue #15 as well, and might also affect solutions to #16 and #20 . What is the official 'correct' source for the DH models for this hardware series?

Furthermore, if a Python script exists to modify the URDF, can the modifications be applied directly to the URDF tag section to prevent storing the wrong version?

Whilst not technically a problem on github, This should also be propagated to the datasheets online where possible.

Relevant serials:

Serial Number (Controller) – BC2137046
Serial Number (Robot Arm) – BA2137046
TM Firmware Version – V1.84.2200

@TechmanRobotIncOwner
Copy link
Contributor

Hi,
Every robot is calibrated at the factory and have their own DH calibrated value, and in ROS 2 you can use the tm_mod_urdf package to extract specific kinematic values from your TM robot, which are taken into account by a python script function using a specific set of commands to automatically generate a new URDF or Xacro robot model description file.The script you can reference to here chapter 7.
And we will add this script into ROS1 soon.

About the Data source, it is just the nominal model, and we will fix them to the same data.
Thank you.

@fentonscode
Copy link
Author

Thanks for looking into this, is there any reason why the Python values cannot simply be patched into the ROS 1 driver, thus eliminating the difference between ROS 1 and ROS 2? This removes one source of error immediately without changing the data.

@TechmanRobotIncOwner
Copy link
Contributor

Hi,
Because ROS 1 has the source before, so we build the script first in ROS 2, moving to ROS 1 is put on the schedule and we will do it soon.

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants