Closed youliangtan closed 5 months ago
Hi @youliangtan, here is some information on the current setup: the mesh/XACRO files for a specific tool are copied from this repo (the Stretch Tool Share) into the Stretch Description package. The stretch_description.xacro
file is modified by the user to substitute the stretch_gripper.xacro
with the XACRO file of the tool. Then, the XACRO is converted into a uncalibrated URDF, where 'uncalibrated' means that all of the link offsets are assumed to be perfect. In practice, robot have small deviations from the ideal design that must be measured and accounted for. Stretch Calibration runs a calibration procedure on the robot by collecting a dataset of measured offsets using the ArUco tags mounted to the robot and running an optimization on the dataset. The result is used to convert the uncalibrated URDF to a calibrated URDF, which is then used by Stretch's ROS packages.
Since this process is complicated, I'd welcome any ideas on how to simplify the process. I believe your recommendation here is to provide the stretch_description.xacro
directly in the Tool Share itself, because it can reference the Stretch Description package via ROS. Is this correct?
If i understand correctly, in order to use one of the tool_share here (for example:
stretch_dex_wrist
), user will need to copy themeshes
andurdf
files instretch_dex_wrist/stretch_description/
to the originalstretch_description
repo. Iam not sure if this practice is prone to error.Just a proposal, if it is better to make it as such in the downstream pkg (e.g.
stretch_custom_tool
), to find the relative description file with$(find stretch_description)
I will understand if this will make things more complicated since user would need to edit the down stretch launch files that utilized
stretch_description