joint_state_publisher package from joint_state_publisher repojoint_state_publisher joint_state_publisher_gui |
|
Package Summary
Tags | No category tags. |
Version | 2.4.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/joint_state_publisher.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-08-21 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Shane Loretz
Authors
- David V. Lu!!
- Jackie Kay
Joint State Publisher
This contains a package for publishing sensor_msgs/msg/JointState
messages for a robot described with URDF.
Given a URDF (either passed on the command-line or via the /robot_description
topic), this node
will continually publish values for all of the movable joints in the URDF to the /joint_states
topic.
In combination with robot_state_publisher
, this ensures that there is a valid transform for all joints
even when the joint doesn’t have encoder data.
Published Topics
-
/joint_states
(sensor_msgs/msg/JointState
) - The state of all of the movable joints in the system.
Subscribed Topics
- (optional)
/robot_description
(std_msgs/msg/String
) - If no URDF is given on the command-line, then this node will listen on the/robot_description
topic for the URDF to be published. Once it has been received at least once, this node will start to publish joint values to/joint_states
. - (optional)
/any_topic
(sensor_msgs/msg/JointState
) - If thesources_list
parameter is not empty (see Parameters below), then every named topic in this parameter will be subscribed to for joint state updates. Do not add the default/joint_states
topic to this list, as it will end up in an endless loop!
Parameters
-
rate
(int) - The rate at which to publish updates to the/joint_states
topic. Defaults to 10. -
publish_default_positions
(bool) - Whether to publish a default position for each movable joint to the/joint_states
topic. Defaults to True. -
publish_default_velocities
(bool) - Whether to publish a default velocity for each movable joint to the/joint_states
topic. Defaults to False. -
publish_default_efforts
(bool) - Whether to publish a default effort for each movable joint to the/joint_states
topic. Defaults to False. -
use_mimic_tags
(bool) - Whether to honor<mimic>
tags in the URDF. Defaults to True. -
use_smallest_joint_limits
(bool) - Whether to honor<safety_controller>
tags in the URDF. Defaults to True. -
source_list
(array of strings) - Each string in this array represents a topic name. For each string, create a subscription to the named topic of typesensor_msgs/msg/JointStates
. Publication to that topic will update the joints named in the message. Defaults to an empty array. -
delta
(double) - How much to automatically move joints during each iteration. Defaults to 0.0.
Mapped Parameters
These parameters map from joint_names to values. The format to use these parameters is <parameter>.<key>:=<value>
, where a new parameter is defined for each key. See below for examples.
-
zeros
(map from string -> float) - A map of joint_names to initial starting values for the joint. For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param zeros.joint_name1:=value1 --param zeros.joint_name2:=value2
. This parameter is not set by default, so all joints start at zero. For joints where zero isn’t within the joint range, it uses the range’s (max + min) / 2. -
dependent_joints
(map from string -> map from ‘parent’, ‘factor’, ‘offset’ -> float) - A map of joint_names to the joints that they mimic; compare to the<mimic>
tag in URDF. A joint listed here will mimic the movements of the ‘parent’ joint, subject to the ‘factor’ and ‘offset’ provided. The ‘parent’ name must be provided, while the ‘factor’ and ‘offset’ parameters are optional (they default to 1.0 and 0.0, respectively). For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param dependent_joints.left_leg.parent:=right_leg --param dependent_joints.left_leg.offset:=0.0 --param dependent_joints.left_leg.factor:=2.0
. This parameter is not set by default, in which case only joints that are marked as<mimic>
in the URDF are mimiced.
Changelog for package joint_state_publisher
2.4.0 (2023-08-04)
- Support for sdformat robot descriptions (#55)
- Refactor urdf parser function (#94)
- Gracefully handle SIGINT (#86)
- Contributors: Dharini Dutia, Shane Loretz, Will
2.3.0 (2022-04-21)
- Use underscores in setup.cfg. (#76)
- Fix the mimic_cycle test to always succeed. (#74)
- Remove deprecated policy warning (#67)
-
Clarify docs on 'mapped parameters' in README (#66) (#71) * Clarify docs on 'mapped parameters' in README Co-authored-by: Binit Shah <<bshah@hello-robot.com>>
- Contributors: Binit Shah, Chris Lalancette
2.2.0 (2020-06-04)
- Minor fixes from review.
- Add in pytest.ini files for jsp and jsp_gui.
- Stop using deprecated launch parameters in Foxy.
- Contributors: Chris Lalancette
2.1.0 (2020-05-19)
2.0.0 (2020-03-10)
- Port to ROS 2 (#30)
- Remove the deprecated fallback option of use_gui (#34)
- Split jsp and jsp gui (#31)
- Only update one joint slider on value changed. (#11)
- ignore 'planar' joints just as 'fixed' and 'floating' (#14)
- Make GUI window scroll & resize for large robots (#10)
- Contributors: Andy McEvoy, Chris Lalancette, Michael Görner
1.12.13 (2018-03-19)
- add bugtracker link now that this is not hosted on robot_model anymore
- Added a scrollarea around the gridlayout to support large number of joints
- pass robot objects into init_collada() and init_urdf()
- add test for collada supports
- add support for collada model : moved from https://github.com/ros/robot_model/pull/97
- Contributors: Guillaume Walck, Kei Okada, Mikael Arguedas
1.12.12 (2017-09-15)
- Don't publish joint states if there are no joints (#212)
- Contributors: Chris Lalancette
1.12.11 (2017-06-27)
1.12.10 (2017-06-24)
1.12.9 (2017-04-26)
1.12.8 (2017-03-27)
- [joint_state_publisher] Handle time moving backwards Without this patch, joint_state_publisher dies whenever the ROS time moves backwards (e.g., when running [rosbag play --clock --loop]{.title-ref}).
- Switch a couple more packages over to Chris and Shane.
- Fix rostest dependency.
- Add recursive mimic joint
(#177)
- Add recursive mimic joint
- Contributors: Alessandro Tondo, Chris Lalancette, Martin Günther, Mike Purvis
1.12.7 (2017-01-26)
- Fixed a crash which happened when there were
0
free joints, opens empty window (#178) - Contributors: Bence Magyar
1.12.6 (2017-01-04)
- Migrated slots in joint state publisher gui to Qt5 (#147)
- Now uses GridLayout to support large numbers of joints and small screens (#150)
- Contributors: Bence Magyar, Michał Barciś
1.12.5 (2016-10-27)
- Fix initial position of sliders in joint_state_publisher GUI (#148) Caused by a regression in 8c6cf9841cb, the slider positions are not initialized correctly from the provided zero positions at startup. This commit fixes the issue, by adding the call to center() again that got lost.
- Contributors: Timm Linder
1.12.4 (2016-08-23)
1.12.3 (2016-06-10)
- Fix circular logic in joint state publisher events (#140)
- Use signal and sys.exit to fix shutdown in joint_state_publisher (#139)
- joint_state_publisher: Change slider update method (#135)
- Contributors: Jackie Kay, vincentrou
1.12.2 (2016-04-12)
- Migrate qt (#128)
- Migrate JointStatePublisher from wxPython to qt5
- Contributors: Jackie Kay
1.12.1 (2016-04-10)
1.11.8 (2015-09-11)
1.11.7 (2015-04-22)
- Added a randomize button for the joints.
- Contributors: Aaron Blasdel
1.11.6 (2014-11-30)
- Added floating joints to joint types ignored by publisher
- warn when joints have no limits
- add queue_size for publisher
- Contributors: Jihoon Lee, Michael Ferguson, Shaun Edwards
1.11.5 (2014-07-24)
1.11.4 (2014-07-07)
- Update package.xml Updating author and maintainer email for consistency
- Contributors: David Lu!!
1.11.3 (2014-06-24)
1.11.2 (2014-03-22)
1.11.1 (2014-03-20)
1.11.0 (2014-02-21)
- Use #!/usr/bin/env python for systems with multiple Python versions.
- Contributors: Benjamin Chretien
1.10.18 (2013-12-04)
1.10.16 (2013-11-18)
1.10.15 (2013-08-17)
- joint_state_publisher: do not install script to global bin Also clean up no longer required setup.py
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
rclpy | |
sensor_msgs | |
std_msgs | |
ament_copyright | |
ament_flake8 | |
ament_pep257 | |
ament_xmllint | |
launch_testing | |
launch_testing_ros | |
ros2topic |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged joint_state_publisher at Robotics Stack Exchange
joint_state_publisher package from joint_state_publisher repojoint_state_publisher joint_state_publisher_gui |
|
Package Summary
Tags | No category tags. |
Version | 2.4.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/joint_state_publisher.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-08-21 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Shane Loretz
Authors
- David V. Lu!!
- Jackie Kay
Joint State Publisher
This contains a package for publishing sensor_msgs/msg/JointState
messages for a robot described with URDF.
Given a URDF (either passed on the command-line or via the /robot_description
topic), this node
will continually publish values for all of the movable joints in the URDF to the /joint_states
topic.
In combination with robot_state_publisher
, this ensures that there is a valid transform for all joints
even when the joint doesn’t have encoder data.
Published Topics
-
/joint_states
(sensor_msgs/msg/JointState
) - The state of all of the movable joints in the system.
Subscribed Topics
- (optional)
/robot_description
(std_msgs/msg/String
) - If no URDF is given on the command-line, then this node will listen on the/robot_description
topic for the URDF to be published. Once it has been received at least once, this node will start to publish joint values to/joint_states
. - (optional)
/any_topic
(sensor_msgs/msg/JointState
) - If thesources_list
parameter is not empty (see Parameters below), then every named topic in this parameter will be subscribed to for joint state updates. Do not add the default/joint_states
topic to this list, as it will end up in an endless loop!
Parameters
-
rate
(int) - The rate at which to publish updates to the/joint_states
topic. Defaults to 10. -
publish_default_positions
(bool) - Whether to publish a default position for each movable joint to the/joint_states
topic. Defaults to True. -
publish_default_velocities
(bool) - Whether to publish a default velocity for each movable joint to the/joint_states
topic. Defaults to False. -
publish_default_efforts
(bool) - Whether to publish a default effort for each movable joint to the/joint_states
topic. Defaults to False. -
use_mimic_tags
(bool) - Whether to honor<mimic>
tags in the URDF. Defaults to True. -
use_smallest_joint_limits
(bool) - Whether to honor<safety_controller>
tags in the URDF. Defaults to True. -
source_list
(array of strings) - Each string in this array represents a topic name. For each string, create a subscription to the named topic of typesensor_msgs/msg/JointStates
. Publication to that topic will update the joints named in the message. Defaults to an empty array. -
delta
(double) - How much to automatically move joints during each iteration. Defaults to 0.0.
Mapped Parameters
These parameters map from joint_names to values. The format to use these parameters is <parameter>.<key>:=<value>
, where a new parameter is defined for each key. See below for examples.
-
zeros
(map from string -> float) - A map of joint_names to initial starting values for the joint. For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param zeros.joint_name1:=value1 --param zeros.joint_name2:=value2
. This parameter is not set by default, so all joints start at zero. For joints where zero isn’t within the joint range, it uses the range’s (max + min) / 2. -
dependent_joints
(map from string -> map from ‘parent’, ‘factor’, ‘offset’ -> float) - A map of joint_names to the joints that they mimic; compare to the<mimic>
tag in URDF. A joint listed here will mimic the movements of the ‘parent’ joint, subject to the ‘factor’ and ‘offset’ provided. The ‘parent’ name must be provided, while the ‘factor’ and ‘offset’ parameters are optional (they default to 1.0 and 0.0, respectively). For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param dependent_joints.left_leg.parent:=right_leg --param dependent_joints.left_leg.offset:=0.0 --param dependent_joints.left_leg.factor:=2.0
. This parameter is not set by default, in which case only joints that are marked as<mimic>
in the URDF are mimiced.
Changelog for package joint_state_publisher
2.4.0 (2023-08-04)
- Support for sdformat robot descriptions (#55)
- Refactor urdf parser function (#94)
- Gracefully handle SIGINT (#86)
- Contributors: Dharini Dutia, Shane Loretz, Will
2.3.0 (2022-04-21)
- Use underscores in setup.cfg. (#76)
- Fix the mimic_cycle test to always succeed. (#74)
- Remove deprecated policy warning (#67)
-
Clarify docs on 'mapped parameters' in README (#66) (#71) * Clarify docs on 'mapped parameters' in README Co-authored-by: Binit Shah <<bshah@hello-robot.com>>
- Contributors: Binit Shah, Chris Lalancette
2.2.0 (2020-06-04)
- Minor fixes from review.
- Add in pytest.ini files for jsp and jsp_gui.
- Stop using deprecated launch parameters in Foxy.
- Contributors: Chris Lalancette
2.1.0 (2020-05-19)
2.0.0 (2020-03-10)
- Port to ROS 2 (#30)
- Remove the deprecated fallback option of use_gui (#34)
- Split jsp and jsp gui (#31)
- Only update one joint slider on value changed. (#11)
- ignore 'planar' joints just as 'fixed' and 'floating' (#14)
- Make GUI window scroll & resize for large robots (#10)
- Contributors: Andy McEvoy, Chris Lalancette, Michael Görner
1.12.13 (2018-03-19)
- add bugtracker link now that this is not hosted on robot_model anymore
- Added a scrollarea around the gridlayout to support large number of joints
- pass robot objects into init_collada() and init_urdf()
- add test for collada supports
- add support for collada model : moved from https://github.com/ros/robot_model/pull/97
- Contributors: Guillaume Walck, Kei Okada, Mikael Arguedas
1.12.12 (2017-09-15)
- Don't publish joint states if there are no joints (#212)
- Contributors: Chris Lalancette
1.12.11 (2017-06-27)
1.12.10 (2017-06-24)
1.12.9 (2017-04-26)
1.12.8 (2017-03-27)
- [joint_state_publisher] Handle time moving backwards Without this patch, joint_state_publisher dies whenever the ROS time moves backwards (e.g., when running [rosbag play --clock --loop]{.title-ref}).
- Switch a couple more packages over to Chris and Shane.
- Fix rostest dependency.
- Add recursive mimic joint
(#177)
- Add recursive mimic joint
- Contributors: Alessandro Tondo, Chris Lalancette, Martin Günther, Mike Purvis
1.12.7 (2017-01-26)
- Fixed a crash which happened when there were
0
free joints, opens empty window (#178) - Contributors: Bence Magyar
1.12.6 (2017-01-04)
- Migrated slots in joint state publisher gui to Qt5 (#147)
- Now uses GridLayout to support large numbers of joints and small screens (#150)
- Contributors: Bence Magyar, Michał Barciś
1.12.5 (2016-10-27)
- Fix initial position of sliders in joint_state_publisher GUI (#148) Caused by a regression in 8c6cf9841cb, the slider positions are not initialized correctly from the provided zero positions at startup. This commit fixes the issue, by adding the call to center() again that got lost.
- Contributors: Timm Linder
1.12.4 (2016-08-23)
1.12.3 (2016-06-10)
- Fix circular logic in joint state publisher events (#140)
- Use signal and sys.exit to fix shutdown in joint_state_publisher (#139)
- joint_state_publisher: Change slider update method (#135)
- Contributors: Jackie Kay, vincentrou
1.12.2 (2016-04-12)
- Migrate qt (#128)
- Migrate JointStatePublisher from wxPython to qt5
- Contributors: Jackie Kay
1.12.1 (2016-04-10)
1.11.8 (2015-09-11)
1.11.7 (2015-04-22)
- Added a randomize button for the joints.
- Contributors: Aaron Blasdel
1.11.6 (2014-11-30)
- Added floating joints to joint types ignored by publisher
- warn when joints have no limits
- add queue_size for publisher
- Contributors: Jihoon Lee, Michael Ferguson, Shaun Edwards
1.11.5 (2014-07-24)
1.11.4 (2014-07-07)
- Update package.xml Updating author and maintainer email for consistency
- Contributors: David Lu!!
1.11.3 (2014-06-24)
1.11.2 (2014-03-22)
1.11.1 (2014-03-20)
1.11.0 (2014-02-21)
- Use #!/usr/bin/env python for systems with multiple Python versions.
- Contributors: Benjamin Chretien
1.10.18 (2013-12-04)
1.10.16 (2013-11-18)
1.10.15 (2013-08-17)
- joint_state_publisher: do not install script to global bin Also clean up no longer required setup.py
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
rclpy | |
sensor_msgs | |
std_msgs | |
ament_copyright | |
ament_flake8 | |
ament_pep257 | |
ament_xmllint | |
launch_testing | |
launch_testing_ros | |
ros2topic |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged joint_state_publisher at Robotics Stack Exchange
joint_state_publisher package from joint_state_publisher repojoint_state_publisher joint_state_publisher_gui |
|
Package Summary
Tags | No category tags. |
Version | 2.4.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/joint_state_publisher.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-08-21 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Shane Loretz
Authors
- David V. Lu!!
- Jackie Kay
Joint State Publisher
This contains a package for publishing sensor_msgs/msg/JointState
messages for a robot described with URDF.
Given a URDF (either passed on the command-line or via the /robot_description
topic), this node
will continually publish values for all of the movable joints in the URDF to the /joint_states
topic.
In combination with robot_state_publisher
, this ensures that there is a valid transform for all joints
even when the joint doesn’t have encoder data.
Published Topics
-
/joint_states
(sensor_msgs/msg/JointState
) - The state of all of the movable joints in the system.
Subscribed Topics
- (optional)
/robot_description
(std_msgs/msg/String
) - If no URDF is given on the command-line, then this node will listen on the/robot_description
topic for the URDF to be published. Once it has been received at least once, this node will start to publish joint values to/joint_states
. - (optional)
/any_topic
(sensor_msgs/msg/JointState
) - If thesources_list
parameter is not empty (see Parameters below), then every named topic in this parameter will be subscribed to for joint state updates. Do not add the default/joint_states
topic to this list, as it will end up in an endless loop!
Parameters
-
rate
(int) - The rate at which to publish updates to the/joint_states
topic. Defaults to 10. -
publish_default_positions
(bool) - Whether to publish a default position for each movable joint to the/joint_states
topic. Defaults to True. -
publish_default_velocities
(bool) - Whether to publish a default velocity for each movable joint to the/joint_states
topic. Defaults to False. -
publish_default_efforts
(bool) - Whether to publish a default effort for each movable joint to the/joint_states
topic. Defaults to False. -
use_mimic_tags
(bool) - Whether to honor<mimic>
tags in the URDF. Defaults to True. -
use_smallest_joint_limits
(bool) - Whether to honor<safety_controller>
tags in the URDF. Defaults to True. -
source_list
(array of strings) - Each string in this array represents a topic name. For each string, create a subscription to the named topic of typesensor_msgs/msg/JointStates
. Publication to that topic will update the joints named in the message. Defaults to an empty array. -
delta
(double) - How much to automatically move joints during each iteration. Defaults to 0.0.
Mapped Parameters
These parameters map from joint_names to values. The format to use these parameters is <parameter>.<key>:=<value>
, where a new parameter is defined for each key. See below for examples.
-
zeros
(map from string -> float) - A map of joint_names to initial starting values for the joint. For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param zeros.joint_name1:=value1 --param zeros.joint_name2:=value2
. This parameter is not set by default, so all joints start at zero. For joints where zero isn’t within the joint range, it uses the range’s (max + min) / 2. -
dependent_joints
(map from string -> map from ‘parent’, ‘factor’, ‘offset’ -> float) - A map of joint_names to the joints that they mimic; compare to the<mimic>
tag in URDF. A joint listed here will mimic the movements of the ‘parent’ joint, subject to the ‘factor’ and ‘offset’ provided. The ‘parent’ name must be provided, while the ‘factor’ and ‘offset’ parameters are optional (they default to 1.0 and 0.0, respectively). For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param dependent_joints.left_leg.parent:=right_leg --param dependent_joints.left_leg.offset:=0.0 --param dependent_joints.left_leg.factor:=2.0
. This parameter is not set by default, in which case only joints that are marked as<mimic>
in the URDF are mimiced.
Changelog for package joint_state_publisher
2.4.0 (2023-08-04)
- Support for sdformat robot descriptions (#55)
- Refactor urdf parser function (#94)
- Gracefully handle SIGINT (#86)
- Contributors: Dharini Dutia, Shane Loretz, Will
2.3.0 (2022-04-21)
- Use underscores in setup.cfg. (#76)
- Fix the mimic_cycle test to always succeed. (#74)
- Remove deprecated policy warning (#67)
-
Clarify docs on 'mapped parameters' in README (#66) (#71) * Clarify docs on 'mapped parameters' in README Co-authored-by: Binit Shah <<bshah@hello-robot.com>>
- Contributors: Binit Shah, Chris Lalancette
2.2.0 (2020-06-04)
- Minor fixes from review.
- Add in pytest.ini files for jsp and jsp_gui.
- Stop using deprecated launch parameters in Foxy.
- Contributors: Chris Lalancette
2.1.0 (2020-05-19)
2.0.0 (2020-03-10)
- Port to ROS 2 (#30)
- Remove the deprecated fallback option of use_gui (#34)
- Split jsp and jsp gui (#31)
- Only update one joint slider on value changed. (#11)
- ignore 'planar' joints just as 'fixed' and 'floating' (#14)
- Make GUI window scroll & resize for large robots (#10)
- Contributors: Andy McEvoy, Chris Lalancette, Michael Görner
1.12.13 (2018-03-19)
- add bugtracker link now that this is not hosted on robot_model anymore
- Added a scrollarea around the gridlayout to support large number of joints
- pass robot objects into init_collada() and init_urdf()
- add test for collada supports
- add support for collada model : moved from https://github.com/ros/robot_model/pull/97
- Contributors: Guillaume Walck, Kei Okada, Mikael Arguedas
1.12.12 (2017-09-15)
- Don't publish joint states if there are no joints (#212)
- Contributors: Chris Lalancette
1.12.11 (2017-06-27)
1.12.10 (2017-06-24)
1.12.9 (2017-04-26)
1.12.8 (2017-03-27)
- [joint_state_publisher] Handle time moving backwards Without this patch, joint_state_publisher dies whenever the ROS time moves backwards (e.g., when running [rosbag play --clock --loop]{.title-ref}).
- Switch a couple more packages over to Chris and Shane.
- Fix rostest dependency.
- Add recursive mimic joint
(#177)
- Add recursive mimic joint
- Contributors: Alessandro Tondo, Chris Lalancette, Martin Günther, Mike Purvis
1.12.7 (2017-01-26)
- Fixed a crash which happened when there were
0
free joints, opens empty window (#178) - Contributors: Bence Magyar
1.12.6 (2017-01-04)
- Migrated slots in joint state publisher gui to Qt5 (#147)
- Now uses GridLayout to support large numbers of joints and small screens (#150)
- Contributors: Bence Magyar, Michał Barciś
1.12.5 (2016-10-27)
- Fix initial position of sliders in joint_state_publisher GUI (#148) Caused by a regression in 8c6cf9841cb, the slider positions are not initialized correctly from the provided zero positions at startup. This commit fixes the issue, by adding the call to center() again that got lost.
- Contributors: Timm Linder
1.12.4 (2016-08-23)
1.12.3 (2016-06-10)
- Fix circular logic in joint state publisher events (#140)
- Use signal and sys.exit to fix shutdown in joint_state_publisher (#139)
- joint_state_publisher: Change slider update method (#135)
- Contributors: Jackie Kay, vincentrou
1.12.2 (2016-04-12)
- Migrate qt (#128)
- Migrate JointStatePublisher from wxPython to qt5
- Contributors: Jackie Kay
1.12.1 (2016-04-10)
1.11.8 (2015-09-11)
1.11.7 (2015-04-22)
- Added a randomize button for the joints.
- Contributors: Aaron Blasdel
1.11.6 (2014-11-30)
- Added floating joints to joint types ignored by publisher
- warn when joints have no limits
- add queue_size for publisher
- Contributors: Jihoon Lee, Michael Ferguson, Shaun Edwards
1.11.5 (2014-07-24)
1.11.4 (2014-07-07)
- Update package.xml Updating author and maintainer email for consistency
- Contributors: David Lu!!
1.11.3 (2014-06-24)
1.11.2 (2014-03-22)
1.11.1 (2014-03-20)
1.11.0 (2014-02-21)
- Use #!/usr/bin/env python for systems with multiple Python versions.
- Contributors: Benjamin Chretien
1.10.18 (2013-12-04)
1.10.16 (2013-11-18)
1.10.15 (2013-08-17)
- joint_state_publisher: do not install script to global bin Also clean up no longer required setup.py
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
rclpy | |
sensor_msgs | |
std_msgs | |
ament_copyright | |
ament_flake8 | |
ament_pep257 | |
ament_xmllint | |
launch_testing | |
launch_testing_ros | |
ros2topic |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged joint_state_publisher at Robotics Stack Exchange
joint_state_publisher package from joint_state_publisher repojoint_state_publisher joint_state_publisher_gui |
|
Package Summary
Tags | No category tags. |
Version | 2.4.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/joint_state_publisher.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-08-21 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Shane Loretz
Authors
- David V. Lu!!
- Jackie Kay
Joint State Publisher
This contains a package for publishing sensor_msgs/msg/JointState
messages for a robot described with URDF.
Given a URDF (either passed on the command-line or via the /robot_description
topic), this node
will continually publish values for all of the movable joints in the URDF to the /joint_states
topic.
In combination with robot_state_publisher
, this ensures that there is a valid transform for all joints
even when the joint doesn’t have encoder data.
Published Topics
-
/joint_states
(sensor_msgs/msg/JointState
) - The state of all of the movable joints in the system.
Subscribed Topics
- (optional)
/robot_description
(std_msgs/msg/String
) - If no URDF is given on the command-line, then this node will listen on the/robot_description
topic for the URDF to be published. Once it has been received at least once, this node will start to publish joint values to/joint_states
. - (optional)
/any_topic
(sensor_msgs/msg/JointState
) - If thesources_list
parameter is not empty (see Parameters below), then every named topic in this parameter will be subscribed to for joint state updates. Do not add the default/joint_states
topic to this list, as it will end up in an endless loop!
Parameters
-
rate
(int) - The rate at which to publish updates to the/joint_states
topic. Defaults to 10. -
publish_default_positions
(bool) - Whether to publish a default position for each movable joint to the/joint_states
topic. Defaults to True. -
publish_default_velocities
(bool) - Whether to publish a default velocity for each movable joint to the/joint_states
topic. Defaults to False. -
publish_default_efforts
(bool) - Whether to publish a default effort for each movable joint to the/joint_states
topic. Defaults to False. -
use_mimic_tags
(bool) - Whether to honor<mimic>
tags in the URDF. Defaults to True. -
use_smallest_joint_limits
(bool) - Whether to honor<safety_controller>
tags in the URDF. Defaults to True. -
source_list
(array of strings) - Each string in this array represents a topic name. For each string, create a subscription to the named topic of typesensor_msgs/msg/JointStates
. Publication to that topic will update the joints named in the message. Defaults to an empty array. -
delta
(double) - How much to automatically move joints during each iteration. Defaults to 0.0.
Mapped Parameters
These parameters map from joint_names to values. The format to use these parameters is <parameter>.<key>:=<value>
, where a new parameter is defined for each key. See below for examples.
-
zeros
(map from string -> float) - A map of joint_names to initial starting values for the joint. For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param zeros.joint_name1:=value1 --param zeros.joint_name2:=value2
. This parameter is not set by default, so all joints start at zero. For joints where zero isn’t within the joint range, it uses the range’s (max + min) / 2. -
dependent_joints
(map from string -> map from ‘parent’, ‘factor’, ‘offset’ -> float) - A map of joint_names to the joints that they mimic; compare to the<mimic>
tag in URDF. A joint listed here will mimic the movements of the ‘parent’ joint, subject to the ‘factor’ and ‘offset’ provided. The ‘parent’ name must be provided, while the ‘factor’ and ‘offset’ parameters are optional (they default to 1.0 and 0.0, respectively). For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param dependent_joints.left_leg.parent:=right_leg --param dependent_joints.left_leg.offset:=0.0 --param dependent_joints.left_leg.factor:=2.0
. This parameter is not set by default, in which case only joints that are marked as<mimic>
in the URDF are mimiced.
Changelog for package joint_state_publisher
2.4.0 (2023-08-04)
- Support for sdformat robot descriptions (#55)
- Refactor urdf parser function (#94)
- Gracefully handle SIGINT (#86)
- Contributors: Dharini Dutia, Shane Loretz, Will
2.3.0 (2022-04-21)
- Use underscores in setup.cfg. (#76)
- Fix the mimic_cycle test to always succeed. (#74)
- Remove deprecated policy warning (#67)
-
Clarify docs on 'mapped parameters' in README (#66) (#71) * Clarify docs on 'mapped parameters' in README Co-authored-by: Binit Shah <<bshah@hello-robot.com>>
- Contributors: Binit Shah, Chris Lalancette
2.2.0 (2020-06-04)
- Minor fixes from review.
- Add in pytest.ini files for jsp and jsp_gui.
- Stop using deprecated launch parameters in Foxy.
- Contributors: Chris Lalancette
2.1.0 (2020-05-19)
2.0.0 (2020-03-10)
- Port to ROS 2 (#30)
- Remove the deprecated fallback option of use_gui (#34)
- Split jsp and jsp gui (#31)
- Only update one joint slider on value changed. (#11)
- ignore 'planar' joints just as 'fixed' and 'floating' (#14)
- Make GUI window scroll & resize for large robots (#10)
- Contributors: Andy McEvoy, Chris Lalancette, Michael Görner
1.12.13 (2018-03-19)
- add bugtracker link now that this is not hosted on robot_model anymore
- Added a scrollarea around the gridlayout to support large number of joints
- pass robot objects into init_collada() and init_urdf()
- add test for collada supports
- add support for collada model : moved from https://github.com/ros/robot_model/pull/97
- Contributors: Guillaume Walck, Kei Okada, Mikael Arguedas
1.12.12 (2017-09-15)
- Don't publish joint states if there are no joints (#212)
- Contributors: Chris Lalancette
1.12.11 (2017-06-27)
1.12.10 (2017-06-24)
1.12.9 (2017-04-26)
1.12.8 (2017-03-27)
- [joint_state_publisher] Handle time moving backwards Without this patch, joint_state_publisher dies whenever the ROS time moves backwards (e.g., when running [rosbag play --clock --loop]{.title-ref}).
- Switch a couple more packages over to Chris and Shane.
- Fix rostest dependency.
- Add recursive mimic joint
(#177)
- Add recursive mimic joint
- Contributors: Alessandro Tondo, Chris Lalancette, Martin Günther, Mike Purvis
1.12.7 (2017-01-26)
- Fixed a crash which happened when there were
0
free joints, opens empty window (#178) - Contributors: Bence Magyar
1.12.6 (2017-01-04)
- Migrated slots in joint state publisher gui to Qt5 (#147)
- Now uses GridLayout to support large numbers of joints and small screens (#150)
- Contributors: Bence Magyar, Michał Barciś
1.12.5 (2016-10-27)
- Fix initial position of sliders in joint_state_publisher GUI (#148) Caused by a regression in 8c6cf9841cb, the slider positions are not initialized correctly from the provided zero positions at startup. This commit fixes the issue, by adding the call to center() again that got lost.
- Contributors: Timm Linder
1.12.4 (2016-08-23)
1.12.3 (2016-06-10)
- Fix circular logic in joint state publisher events (#140)
- Use signal and sys.exit to fix shutdown in joint_state_publisher (#139)
- joint_state_publisher: Change slider update method (#135)
- Contributors: Jackie Kay, vincentrou
1.12.2 (2016-04-12)
- Migrate qt (#128)
- Migrate JointStatePublisher from wxPython to qt5
- Contributors: Jackie Kay
1.12.1 (2016-04-10)
1.11.8 (2015-09-11)
1.11.7 (2015-04-22)
- Added a randomize button for the joints.
- Contributors: Aaron Blasdel
1.11.6 (2014-11-30)
- Added floating joints to joint types ignored by publisher
- warn when joints have no limits
- add queue_size for publisher
- Contributors: Jihoon Lee, Michael Ferguson, Shaun Edwards
1.11.5 (2014-07-24)
1.11.4 (2014-07-07)
- Update package.xml Updating author and maintainer email for consistency
- Contributors: David Lu!!
1.11.3 (2014-06-24)
1.11.2 (2014-03-22)
1.11.1 (2014-03-20)
1.11.0 (2014-02-21)
- Use #!/usr/bin/env python for systems with multiple Python versions.
- Contributors: Benjamin Chretien
1.10.18 (2013-12-04)
1.10.16 (2013-11-18)
1.10.15 (2013-08-17)
- joint_state_publisher: do not install script to global bin Also clean up no longer required setup.py
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
rclpy | |
sensor_msgs | |
std_msgs | |
ament_copyright | |
ament_flake8 | |
ament_pep257 | |
ament_xmllint | |
launch_testing | |
launch_testing_ros | |
ros2topic |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged joint_state_publisher at Robotics Stack Exchange
joint_state_publisher package from joint_state_publisher repojoint_state_publisher joint_state_publisher_gui |
|
Package Summary
Tags | No category tags. |
Version | 1.15.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/joint_state_publisher.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2023-05-04 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Shane Loretz
Authors
- David V. Lu!!
- Jackie Kay
Joint State Publisher
This contains a package for publishing sensor_msgs/JointState
messages for a robot described with URDF.
Given a URDF in the robot_description
parameter on the parameter server, this node
will continually publish default values for all of the movable joints in the URDF to the /joint_states
topic.
See the ROS wiki for additional API documentation and tutorials.
This was originally part of the ros/robot_model
repository.
It has been moved to this repo as described by ros/robot_model#195
Published Topics
-
/joint_states
(sensor_msgs/JointState
) - The state of all of the movable joints in the system.
Subscribed Topics
- (optional)
/any_topic
(sensor_msgs/JointState
) - If thesources_list
parameter is not empty (see Parameters below), then every named topic in this parameter will be subscribed to for joint state updates. Do not add the default/joint_states
topic to this list, as it will end up in an endless loop!
Parameters
-
robot_description
(string, required) - A URDF or DAE file describing the robot. -
rate
(int) - The rate at which to publish updates to the/joint_states
topic. Defaults to 10. -
publish_default_positions
(bool) - Whether to publish a default position for each movable joint to the/joint_states
topic. Defaults to True. -
publish_default_velocities
(bool) - Whether to publish a default velocity for each movable joint to the/joint_states
topic. Defaults to False. -
publish_default_efforts
(bool) - Whether to publish a default effort for each movable joint to the/joint_states
topic. Defaults to False. -
use_mimic_tags
(bool) - Whether to honor<mimic>
tags in the URDF. Defaults to True. -
use_smallest_joint_limits
(bool) - Whether to honor<safety_controller>
tags in the URDF. Defaults to True. -
source_list
(array of strings) - Each string in this array represents a topic name. For each string, create a subscription to the named topic of typesensor_msgs/JointStates
. Publication to that topic will update the joints named in the message. Defaults to an empty array. -
zeros
(dictionary of string -> float) - A dictionary of joint_names to initial starting values for the joint. Defaults to an empty dictionary, in which case 0.0 is assumed as the zero for all joints. -
dependent_joints
(dictionary of string -> dictionary of ‘parent’, ‘factor’, ‘offset’) - A dictionary of joint_names to the joints that they mimic; compare to the<mimic>
tag in URDF. A joint listed here will mimic the movements of the ‘parent’ joint, subject to the ‘factor’ and ‘offset’ provided. The ‘parent’ name must be provided, while the ‘factor’ and ‘offset’ parameters are optional (they default to 1.0 and 0.0, respectively). Defaults to the empty dictionary, in which case only joints that are marked as<mimic>
in the URDF are mimiced.
Changelog for package joint_state_publisher
1.15.1 (2022-02-17)
- The jsp can now use the zeros parameter when joint names have slashes. (#60)
- Removed reference to removed use_gui parameter (#69)
- Use setuptools instead of distutils (#45)
- Contributors: Lucas Walter, Matthew Elwin, Shane Loretz
1.15.0 (2020-03-12)
- Bump CMake version to avoid CMP0048 (#44)
- Set source_update_cb attr before creating subscribers (#43)
- Make it clear robot_description is required. (#39)
- Remove the deprecated fallback option of use_gui (#34)
- Split jsp and jsp gui (#31)
- Only update one joint slider on value changed. (#11)
- ignore 'planar' joints just as 'fixed' and 'floating' (#14)
- Make GUI window scroll & resize for large robots (#10)
- Contributors: Andy McEvoy, Chris Lalancette, Michael Görner, Shane Loretz
1.12.13 (2018-03-19)
- add bugtracker link now that this is not hosted on robot_model anymore
- Added a scrollarea around the gridlayout to support large number of joints
- pass robot objects into init_collada() and init_urdf()
- add test for collada supports
- add support for collada model : moved from https://github.com/ros/robot_model/pull/97
- Contributors: Guillaume Walck, Kei Okada, Mikael Arguedas
1.12.12 (2017-09-15)
- Don't publish joint states if there are no joints (#212)
- Contributors: Chris Lalancette
1.12.11 (2017-06-27)
1.12.10 (2017-06-24)
1.12.9 (2017-04-26)
1.12.8 (2017-03-27)
- [joint_state_publisher] Handle time moving backwards Without this patch, joint_state_publisher dies whenever the ROS time moves backwards (e.g., when running [rosbag play --clock --loop]{.title-ref}).
- Switch a couple more packages over to Chris and Shane.
- Fix rostest dependency.
- Add recursive mimic joint
(#177)
- Add recursive mimic joint
- Contributors: Alessandro Tondo, Chris Lalancette, Martin Günther, Mike Purvis
1.12.7 (2017-01-26)
- Fixed a crash which happened when there were
0
free joints, opens empty window (#178) - Contributors: Bence Magyar
1.12.6 (2017-01-04)
- Migrated slots in joint state publisher gui to Qt5 (#147)
- Now uses GridLayout to support large numbers of joints and small screens (#150)
- Contributors: Bence Magyar, Michał Barciś
1.12.5 (2016-10-27)
- Fix initial position of sliders in joint_state_publisher GUI (#148) Caused by a regression in 8c6cf9841cb, the slider positions are not initialized correctly from the provided zero positions at startup. This commit fixes the issue, by adding the call to center() again that got lost.
- Contributors: Timm Linder
1.12.4 (2016-08-23)
1.12.3 (2016-06-10)
- Fix circular logic in joint state publisher events (#140)
- Use signal and sys.exit to fix shutdown in joint_state_publisher (#139)
- joint_state_publisher: Change slider update method (#135)
- Contributors: Jackie Kay, vincentrou
1.12.2 (2016-04-12)
- Migrate qt (#128)
- Migrate JointStatePublisher from wxPython to qt5
- Contributors: Jackie Kay
1.12.1 (2016-04-10)
1.11.8 (2015-09-11)
1.11.7 (2015-04-22)
- Added a randomize button for the joints.
- Contributors: Aaron Blasdel
1.11.6 (2014-11-30)
- Added floating joints to joint types ignored by publisher
- warn when joints have no limits
- add queue_size for publisher
- Contributors: Jihoon Lee, Michael Ferguson, Shaun Edwards
1.11.5 (2014-07-24)
1.11.4 (2014-07-07)
- Update package.xml Updating author and maintainer email for consistency
- Contributors: David Lu!!
1.11.3 (2014-06-24)
1.11.2 (2014-03-22)
1.11.1 (2014-03-20)
1.11.0 (2014-02-21)
- Use #!/usr/bin/env python for systems with multiple Python versions.
- Contributors: Benjamin Chretien
1.10.18 (2013-12-04)
1.10.16 (2013-11-18)
1.10.15 (2013-08-17)
- joint_state_publisher: do not install script to global bin Also clean up no longer required setup.py
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
sensor_msgs | |
rostest |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged joint_state_publisher at Robotics Stack Exchange
joint_state_publisher package from joint_state_publisher repojoint_state_publisher joint_state_publisher_gui |
|
Package Summary
Tags | No category tags. |
Version | 2.2.0 |
License | BSD |
Build type | AMENT_PYTHON |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/joint_state_publisher.git |
VCS Type | git |
VCS Version | galactic |
Last Updated | 2021-09-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Shane Loretz
Authors
- David V. Lu!!
- Jackie Kay
Joint State Publisher
This contains a package for publishing sensor_msgs/msg/JointState
messages for a robot described with URDF.
Given a URDF (either passed on the command-line or via the /robot_description
topic), this node
will continually publish values for all of the movable joints in the URDF to the /joint_states
topic.
In combination with robot_state_publisher
, this ensures that there is a valid transform for all joints
even when the joint doesn’t have encoder data.
Published Topics
-
/joint_states
(sensor_msgs/msg/JointState
) - The state of all of the movable joints in the system.
Subscribed Topics
- (optional)
/robot_description
(std_msgs/msg/String
) - If no URDF is given on the command-line, then this node will listen on the/robot_description
topic for the URDF to be published. Once it has been received at least once, this node will start to publish joint values to/joint_states
. - (optional)
/any_topic
(sensor_msgs/msg/JointState
) - If thesources_list
parameter is not empty (see Parameters below), then every named topic in this parameter will be subscribed to for joint state updates. Do not add the default/joint_states
topic to this list, as it will end up in an endless loop!
Parameters
-
rate
(int) - The rate at which to publish updates to the/joint_states
topic. Defaults to 10. -
publish_default_positions
(bool) - Whether to publish a default position for each movable joint to the/joint_states
topic. Defaults to True. -
publish_default_velocities
(bool) - Whether to publish a default velocity for each movable joint to the/joint_states
topic. Defaults to False. -
publish_default_efforts
(bool) - Whether to publish a default effort for each movable joint to the/joint_states
topic. Defaults to False. -
use_mimic_tags
(bool) - Whether to honor<mimic>
tags in the URDF. Defaults to True. -
use_smallest_joint_limits
(bool) - Whether to honor<safety_controller>
tags in the URDF. Defaults to True. -
source_list
(array of strings) - Each string in this array represents a topic name. For each string, create a subscription to the named topic of typesensor_msgs/msg/JointStates
. Publication to that topic will update the joints named in the message. Defaults to an empty array. -
delta
(double) - How much to automatically move joints during each iteration. Defaults to 0.0.
Mapped Parameters
These parameters map from joint_names to values. The format to use these parameters is <parameter>.<key>:=<value>
, where a new parameter is defined for each key. See below for examples.
-
zeros
(map from string -> float) - A map of joint_names to initial starting values for the joint. For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param zeros.joint_name1:=value1 --param zeros.joint_name2:=value2
. This parameter is not set by default, so all joints start at zero. For joints where zero isn’t within the joint range, it uses the range’s (max + min) / 2. -
dependent_joints
(map from string -> map from ‘parent’, ‘factor’, ‘offset’ -> float) - A map of joint_names to the joints that they mimic; compare to the<mimic>
tag in URDF. A joint listed here will mimic the movements of the ‘parent’ joint, subject to the ‘factor’ and ‘offset’ provided. The ‘parent’ name must be provided, while the ‘factor’ and ‘offset’ parameters are optional (they default to 1.0 and 0.0, respectively). For example, in Eloquent and beyond, this parameter can be used from the command-line withros2 run joint_state_publisher joint_state_publisher --ros-args --param dependent_joints.left_leg.parent:=right_leg --param dependent_joints.left_leg.offset:=0.0 --param dependent_joints.left_leg.factor:=2.0
. This parameter is not set by default, in which case only joints that are marked as<mimic>
in the URDF are mimiced.
Changelog for package joint_state_publisher
2.2.0 (2020-06-04)
- Minor fixes from review.
- Add in pytest.ini files for jsp and jsp_gui.
- Stop using deprecated launch parameters in Foxy.
- Contributors: Chris Lalancette
2.1.0 (2020-05-19)
2.0.0 (2020-03-10)
- Port to ROS 2 (#30)
- Remove the deprecated fallback option of use_gui (#34)
- Split jsp and jsp gui (#31)
- Only update one joint slider on value changed. (#11)
- ignore 'planar' joints just as 'fixed' and 'floating' (#14)
- Make GUI window scroll & resize for large robots (#10)
- Contributors: Andy McEvoy, Chris Lalancette, Michael Görner
1.12.13 (2018-03-19)
- add bugtracker link now that this is not hosted on robot_model anymore
- Added a scrollarea around the gridlayout to support large number of joints
- pass robot objects into init_collada() and init_urdf()
- add test for collada supports
- add support for collada model : moved from https://github.com/ros/robot_model/pull/97
- Contributors: Guillaume Walck, Kei Okada, Mikael Arguedas
1.12.12 (2017-09-15)
- Don't publish joint states if there are no joints (#212)
- Contributors: Chris Lalancette
1.12.11 (2017-06-27)
1.12.10 (2017-06-24)
1.12.9 (2017-04-26)
1.12.8 (2017-03-27)
- [joint_state_publisher] Handle time moving backwards Without this patch, joint_state_publisher dies whenever the ROS time moves backwards (e.g., when running [rosbag play --clock --loop]{.title-ref}).
- Switch a couple more packages over to Chris and Shane.
- Fix rostest dependency.
- Add recursive mimic joint
(#177)
- Add recursive mimic joint
- Contributors: Alessandro Tondo, Chris Lalancette, Martin Günther, Mike Purvis
1.12.7 (2017-01-26)
- Fixed a crash which happened when there were
0
free joints, opens empty window (#178) - Contributors: Bence Magyar
1.12.6 (2017-01-04)
- Migrated slots in joint state publisher gui to Qt5 (#147)
- Now uses GridLayout to support large numbers of joints and small screens (#150)
- Contributors: Bence Magyar, Michał Barciś
1.12.5 (2016-10-27)
- Fix initial position of sliders in joint_state_publisher GUI (#148) Caused by a regression in 8c6cf9841cb, the slider positions are not initialized correctly from the provided zero positions at startup. This commit fixes the issue, by adding the call to center() again that got lost.
- Contributors: Timm Linder
1.12.4 (2016-08-23)
1.12.3 (2016-06-10)
- Fix circular logic in joint state publisher events (#140)
- Use signal and sys.exit to fix shutdown in joint_state_publisher (#139)
- joint_state_publisher: Change slider update method (#135)
- Contributors: Jackie Kay, vincentrou
1.12.2 (2016-04-12)
- Migrate qt (#128)
- Migrate JointStatePublisher from wxPython to qt5
- Contributors: Jackie Kay
1.12.1 (2016-04-10)
1.11.8 (2015-09-11)
1.11.7 (2015-04-22)
- Added a randomize button for the joints.
- Contributors: Aaron Blasdel
1.11.6 (2014-11-30)
- Added floating joints to joint types ignored by publisher
- warn when joints have no limits
- add queue_size for publisher
- Contributors: Jihoon Lee, Michael Ferguson, Shaun Edwards
1.11.5 (2014-07-24)
1.11.4 (2014-07-07)
- Update package.xml Updating author and maintainer email for consistency
- Contributors: David Lu!!
1.11.3 (2014-06-24)
1.11.2 (2014-03-22)
1.11.1 (2014-03-20)
1.11.0 (2014-02-21)
- Use #!/usr/bin/env python for systems with multiple Python versions.
- Contributors: Benjamin Chretien
1.10.18 (2013-12-04)
1.10.16 (2013-11-18)
1.10.15 (2013-08-17)
- joint_state_publisher: do not install script to global bin Also clean up no longer required setup.py
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
rclpy | |
sensor_msgs | |
std_msgs | |
ament_copyright | |
ament_xmllint | |
launch_testing | |
launch_testing_ros |
System Dependencies
Name |
---|
python3-pytest |
Launch files
Messages
Services
Plugins
Recent questions tagged joint_state_publisher at Robotics Stack Exchange
joint_state_publisher package from joint_state_publisher repojoint_state_publisher joint_state_publisher_gui |
|
Package Summary
Tags | No category tags. |
Version | 1.12.15 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros/joint_state_publisher.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2020-12-11 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Chris Lalancette
- Shane Loretz
Authors
- David V. Lu!!
- Jackie Kay
Joint State Publisher
This contains a package for publishing sensor_msgs/JointState
messages for a robot described with URDF.
Given a URDF in the robot_description
parameter on the parameter server, this node
will continually publish default values for all of the movable joints in the URDF to the /joint_states
topic.
See the ROS wiki for additional API documentation and tutorials.
This was originally part of the ros/robot_model
repository.
It has been moved to this repo as described by ros/robot_model#195
Published Topics
-
/joint_states
(sensor_msgs/JointState
) - The state of all of the movable joints in the system.
Subscribed Topics
- (optional)
/any_topic
(sensor_msgs/JointState
) - If thesources_list
parameter is not empty (see Parameters below), then every named topic in this parameter will be subscribed to for joint state updates. Do not add the default/joint_states
topic to this list, as it will end up in an endless loop!
Parameters
-
robot_description
(string, required) - A URDF or DAE file describing the robot. -
rate
(int) - The rate at which to publish updates to the/joint_states
topic. Defaults to 10. -
publish_default_positions
(bool) - Whether to publish a default position for each movable joint to the/joint_states
topic. If False,use_gui
must also be False. Defaults to True. -
publish_default_velocities
(bool) - Whether to publish a default velocity for each movable joint to the/joint_states
topic. Defaults to False. -
publish_default_efforts
(bool) - Whether to publish a default effort for each movable joint to the/joint_states
topic. Defaults to False. -
use_mimic_tags
(bool) - Whether to honor<mimic>
tags in the URDF. Defaults to True. -
use_smallest_joint_limits
(bool) - Whether to honor<safety_controller>
tags in the URDF. Defaults to True. -
source_list
(array of strings) - Each string in this array represents a topic name. For each string, create a subscription to the named topic of typesensor_msgs/JointStates
. Publication to that topic will update the joints named in the message. Defaults to an empty array. -
zeros
(dictionary of string -> float) - A dictionary of joint_names to initial starting values for the joint. Defaults to an empty dictionary, in which case 0.0 is assumed as the zero for all joints. -
dependent_joints
(dictionary of string -> dictionary of ‘parent’, ‘factor’, ‘offset’) - A dictionary of joint_names to the joints that they mimic; compare to the<mimic>
tag in URDF. A joint listed here will mimic the movements of the ‘parent’ joint, subject to the ‘factor’ and ‘offset’ provided. The ‘parent’ name must be provided, while the ‘factor’ and ‘offset’ parameters are optional (they default to 1.0 and 0.0, respectively). Defaults to the empty dictionary, in which case only joints that are marked as<mimic>
in the URDF are mimiced. -
use_gui
(bool) - Deprecated option to show a GUI useful for manipulating joints when launching the joint_state_publisher. Defaults to False. Will be removed in Noetic in favor of runningjoint_state_publisher_gui
instead. -
num_rows
(int) - Deprecated option to control the number of rows shown in the GUI whenuse_gui
is set to true. Defaults to the number of joints. Will be removed in Noetic.
Changelog for package joint_state_publisher
1.12.15 (2020-03-12)
- Make it clear robot_description is required (#42)
- Set source_update_cb attr before creating subscribers (#41)
- Contributors: Shane Loretz
1.12.14 (2020-01-22)
- Split jsp and jsp gui (#31)
- Only update one joint slider on value changed. (#11)
- ignore 'planar' joints just as 'fixed' and 'floating' (#14)
- Make GUI window scroll & resize for large robots (#10)
- Contributors: Andy McEvoy, Chris Lalancette, Michael Görner
1.12.13 (2018-03-19)
- add bugtracker link now that this is not hosted on robot_model anymore
- Added a scrollarea around the gridlayout to support large number of joints
- pass robot objects into init_collada() and init_urdf()
- add test for collada supports
- add support for collada model : moved from https://github.com/ros/robot_model/pull/97
- Contributors: Guillaume Walck, Kei Okada, Mikael Arguedas
1.12.12 (2017-09-15)
- Don't publish joint states if there are no joints (#212)
- Contributors: Chris Lalancette
1.12.11 (2017-06-27)
1.12.10 (2017-06-24)
1.12.9 (2017-04-26)
1.12.8 (2017-03-27)
- [joint_state_publisher] Handle time moving backwards Without this patch, joint_state_publisher dies whenever the ROS time moves backwards (e.g., when running [rosbag play --clock --loop]{.title-ref}).
- Switch a couple more packages over to Chris and Shane.
- Fix rostest dependency.
- Add recursive mimic joint
(#177)
- Add recursive mimic joint
- Contributors: Alessandro Tondo, Chris Lalancette, Martin Günther, Mike Purvis
1.12.7 (2017-01-26)
- Fixed a crash which happened when there were
0
free joints, opens empty window (#178) - Contributors: Bence Magyar
1.12.6 (2017-01-04)
- Migrated slots in joint state publisher gui to Qt5 (#147)
- Now uses GridLayout to support large numbers of joints and small screens (#150)
- Contributors: Bence Magyar, Michał Barciś
1.12.5 (2016-10-27)
- Fix initial position of sliders in joint_state_publisher GUI (#148) Caused by a regression in 8c6cf9841cb, the slider positions are not initialized correctly from the provided zero positions at startup. This commit fixes the issue, by adding the call to center() again that got lost.
- Contributors: Timm Linder
1.12.4 (2016-08-23)
1.12.3 (2016-06-10)
- Fix circular logic in joint state publisher events (#140)
- Use signal and sys.exit to fix shutdown in joint_state_publisher (#139)
- joint_state_publisher: Change slider update method (#135)
- Contributors: Jackie Kay, vincentrou
1.12.2 (2016-04-12)
- Migrate qt (#128)
- Migrate JointStatePublisher from wxPython to qt5
- Contributors: Jackie Kay
1.12.1 (2016-04-10)
1.11.8 (2015-09-11)
1.11.7 (2015-04-22)
- Added a randomize button for the joints.
- Contributors: Aaron Blasdel
1.11.6 (2014-11-30)
- Added floating joints to joint types ignored by publisher
- warn when joints have no limits
- add queue_size for publisher
- Contributors: Jihoon Lee, Michael Ferguson, Shaun Edwards
1.11.5 (2014-07-24)
1.11.4 (2014-07-07)
- Update package.xml Updating author and maintainer email for consistency
- Contributors: David Lu!!
1.11.3 (2014-06-24)
1.11.2 (2014-03-22)
1.11.1 (2014-03-20)
1.11.0 (2014-02-21)
- Use #!/usr/bin/env python for systems with multiple Python versions.
- Contributors: Benjamin Chretien
1.10.18 (2013-12-04)
1.10.16 (2013-11-18)
1.10.15 (2013-08-17)
- joint_state_publisher: do not install script to global bin Also clean up no longer required setup.py
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
sensor_msgs | |
rostest |