-
Notifications
You must be signed in to change notification settings - Fork 334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Joint State Broadcaster] Publish the joint_states of joints present in the URDF #1233
[Joint State Broadcaster] Publish the joint_states of joints present in the URDF #1233
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1233 +/- ##
==========================================
+ Coverage 80.23% 80.39% +0.15%
==========================================
Files 105 105
Lines 9268 9333 +65
Branches 817 818 +1
==========================================
+ Hits 7436 7503 +67
+ Misses 1557 1556 -1
+ Partials 275 274 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
JSB uses all joints defined in the ros2_control tag. with URDF you don't mean the ros2_control tag but the URDF-Model itself? |
You can have state interfaces from the actuators before transmission and after transmission are the joints so they are pretty different |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was not aware of the problem before. But adding gpio
or sensor
types with interfaces called position
<gpio name="my_gpio">
<command_interface name="position"/>
<state_interface name="position">
<param name="initial_value">1.0</param>
</state_interface>
</gpio>
lets the JSB publish them.
As we currently don't have information about the type of the handles in the controllers (they exist only in the HardwareInfo class) we have to parse that again from the URDF. --> this PR is a straight forward solution of implementing that.
Right now, when no
joints
parameter is set, it publishes all the entities with theposition
,velocity
andeffort
interfaces, and the MoveIt and other plugins do not like that information and continuously spam with the warning logs, we have like 50MB of logs for 6 min run.This PR tries to publish the
joint_states
of the joints that are within the URDF when nojoints
orinterface
params are set.