Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Using RoboDK's calibrated DHM params in urdf

#1
I want to use RoboDK for calibration, but use my existing tools in the ros2 ecosystem with the calibration parameters.

Has anyone ever attempted to take the calibrated DHM parameters in robodk and converted them to urdf to be used with moveit2 or any other ros2 tools?

I'm not an expert in robotics, but I thought it would be as simple as following the math laid out on this Wikipedia page.
https://en.wikipedia.org/wiki/Denavit%E2...parameters

But for some reason the resulting urdf I generate from robodk's nominal DHM params isn't lining up with my robot manufactures provided nominal urdf.

If anyone has attempted to do something similar or has any guidance it would be appreciated!

Thanks,
Austin
#2
RoboDK uses the Denavit Hartenberg Modified by default (DHM, not DH). When calibrating a robot you'll obtain the accurate DHM table. You can export it as a DH table if you used only the kinematic set of parameters (for example, you didn't use any stiffness parameters).

However, it is not stratightforward to enter these parameters. Depending on the notation, some parameters could be swapped 180 deg and the representation is still valid. Not making the export straightforward.

When you calibrate a robot with RoboDK and generate programs you can obtain a filtered program automatically, obtaining a correction for the robot controller (the robot controller should simply remain the same, using the nominal kinematic parameters).
#3
I'll spend some more time reading about about DHM params and get back to you.

I'm not doing any job generation. My system has calibrated optical sensors that we use to determine the position of the base of our robot and obstacles in a dynamic environment. From the knowledge of the base position I want to use some existing tools I have setup in the ros ecosystem to avoid detected obstacle and get the tool to a particular pose. We already use robodk for some offline programming and robot calibration, hence I wanted to take advantage of the existing robot calibration to incorporate into this system.

I'm not sure if we're using stiffness params either. We are using motoman robots. I'll have to ask the guys who actually run the calibration and see.

Thanks for the quick reply,
Austin
#4
If you have a custom integration you can filter targets with the API by using the function FilterTargets. You can find more information here:
https://robodk.com/doc/en/Robot-Calibrat...rgetAPI-LT
  




Users browsing this thread:
1 Guest(s)