Skip to content

[sr_utilities] hand_finder not finding hands in namespace #171

@guihomework

Description

@guihomework

When using a bimanual system with 2 realtime loops, each a hand driver is started in a namespace.
In this case all the hand/mapping and /hand/joint_prefix are correctly set at the root of the param server as they don't overlap (since hand_id is different), but the robot_description MUST be in a namespace to avoid overlapping.

in such a scenario the sr_utilities fails to find the hand due to this change
adding a slash when there was none in the past, and even worse, testing has_param with a slash and then get_param without it there

please let me fix the excessive front slash in sr_utilities myself in a PR since it took me 5 hours to find out it was the problem of our hands starting slowly. I was certain the problem was on wait for calibrated that was the main message showing up, when in fact the hand_finder failed/timedout

Visibly this bug was not capture by the test I had created in the past, so I suggest to fix the test first to capture this problem and prove the fix fixes it.

My suggestion is to start the test in a namespace which can be done

 <group ns="mynamespace">
    <test test-name="namespaced_test_hand_finder_py" pkg="sr_utilities" type="test_hand_finder.py" />
  </group>

but requires to explicitly load the settings of the test correctly. Meaning the hand/mapping etc.., should be at the root while the robot description should be namespaced.

Would you be fine with a PR of the test separate from a PR that fixes this bug ?

Additionally I think this second front slash is also a problem for us but less visible as at some point we have a /joint_states produced by a merger in our setup. Conceptually it is wrong to wait on a root topic and then subscribe to a potentially namespaced topic. The front slash is also too much there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions