Hello — thanks for maintaining GeoRT!
Configuration
I found a small problem in the allegro_left configuration: the fingertip mapping appears to be mirrored incorrectly. The index fingertip is currently mapped to link_3.0_tip, but because the left hand is the mirrored version of the right hand, the index tip should be link_11.0_tip.
File / line
geort/config/allegro_left.json —
What I observed (actual)
- Index is mapped to
link_3.0_tip in the left-hand config, which causes the index and ring fingers to be swapped when using this config.
What I expect
- For the left hand (mirrored), fingertip links should match the mirrored indices: index →
link_11.0_tip, middle → link_7.0_tip, ring → link_3.0_tip, thumb → link_15.0_tip.
Proposed fix
Replace the fingertip mapping in allegro_left.json with the configuration below (I tested this mapping locally and it produced the expected fingertip associations):
{
"README!!": "Please see config/template.py for instructions. You can remove this in your config json",
"name": "allegro_left",
"urdf_path": "./assets/allegro_left/allegro_hand_left.urdf",
"base_link": "base_link",
"joint_order": [
"joint_8.0", "joint_9.0", "joint_10.0", "joint_11.0",
"joint_4.0", "joint_5.0", "joint_6.0", "joint_7.0",
"joint_0.0", "joint_1.0", "joint_2.0", "joint_3.0",
"joint_12.0", "joint_13.0", "joint_14.0", "joint_15.0"
],
"fingertip_link": [
{
"name": "index",
"link": "link_11.0_tip",
"joint": ["joint_8.0", "joint_9.0", "joint_10.0", "joint_11.0"],
"center_offset": [0.0, 0.0, -0.005],
"human_hand_id": 8
},
{
"name": "middle",
"link": "link_7.0_tip",
"joint": ["joint_4.0", "joint_5.0", "joint_6.0", "joint_7.0"],
"center_offset": [0.0, 0.0, -0.005],
"human_hand_id": 12
},
{
"name": "ring",
"link": "link_3.0_tip",
"joint": ["joint_0.0", "joint_1.0", "joint_2.0", "joint_3.0"],
"center_offset": [0.0, 0.0, -0.005],
"human_hand_id": 16
},
{
"name": "thumb",
"link": "link_15.0_tip",
"joint": ["joint_12.0", "joint_13.0", "joint_14.0", "joint_15.0"],
"center_offset": [0.0, 0.0, -0.005],
"human_hand_id": 4
}
]
}
URDF
When I rendered the left hand, the base_link frame was not aligned with the orientation specified in template.py.
# 1. Fill in the hand base_link name specified by your urdf.
# 2. Please refer to the doc (or below) for the base link orientation convention.
# Y: center of palm to the thumb. Z: center of palm to the middle finger. X: normal of palm. <--- This point is not matched to LEFT HAND
# 3. If your base link uses a different orientation:
# you can add a virtual base_link and joint to your urdf, and change this to the new virtual base_link.
These are screenshots of the left hand:
If this looks correct to you, I can open a small PR that updates the file and adds a brief test/visual check. Otherwise, please let me know if I misunderstood how these link names are intended to map.
Thanks again — great repo and happy to help!
Hello — thanks for maintaining GeoRT!
Configuration
I found a small problem in the
allegro_leftconfiguration: the fingertip mapping appears to be mirrored incorrectly. The index fingertip is currently mapped tolink_3.0_tip, but because the left hand is the mirrored version of the right hand, the index tip should belink_11.0_tip.File / line
geort/config/allegro_left.json—GeoRT/geort/config/allegro_left.json
Line 20 in fb2075e
What I observed (actual)
link_3.0_tipin the left-hand config, which causes the index and ring fingers to be swapped when using this config.What I expect
link_11.0_tip, middle →link_7.0_tip, ring →link_3.0_tip, thumb →link_15.0_tip.Proposed fix
Replace the fingertip mapping in
allegro_left.jsonwith the configuration below (I tested this mapping locally and it produced the expected fingertip associations):{ "README!!": "Please see config/template.py for instructions. You can remove this in your config json", "name": "allegro_left", "urdf_path": "./assets/allegro_left/allegro_hand_left.urdf", "base_link": "base_link", "joint_order": [ "joint_8.0", "joint_9.0", "joint_10.0", "joint_11.0", "joint_4.0", "joint_5.0", "joint_6.0", "joint_7.0", "joint_0.0", "joint_1.0", "joint_2.0", "joint_3.0", "joint_12.0", "joint_13.0", "joint_14.0", "joint_15.0" ], "fingertip_link": [ { "name": "index", "link": "link_11.0_tip", "joint": ["joint_8.0", "joint_9.0", "joint_10.0", "joint_11.0"], "center_offset": [0.0, 0.0, -0.005], "human_hand_id": 8 }, { "name": "middle", "link": "link_7.0_tip", "joint": ["joint_4.0", "joint_5.0", "joint_6.0", "joint_7.0"], "center_offset": [0.0, 0.0, -0.005], "human_hand_id": 12 }, { "name": "ring", "link": "link_3.0_tip", "joint": ["joint_0.0", "joint_1.0", "joint_2.0", "joint_3.0"], "center_offset": [0.0, 0.0, -0.005], "human_hand_id": 16 }, { "name": "thumb", "link": "link_15.0_tip", "joint": ["joint_12.0", "joint_13.0", "joint_14.0", "joint_15.0"], "center_offset": [0.0, 0.0, -0.005], "human_hand_id": 4 } ] }URDF
When I rendered the left hand, the base_link frame was not aligned with the orientation specified in template.py.
These are screenshots of the left hand:
If this looks correct to you, I can open a small PR that updates the file and adds a brief test/visual check. Otherwise, please let me know if I misunderstood how these link names are intended to map.
Thanks again — great repo and happy to help!