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.
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
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.