-
Notifications
You must be signed in to change notification settings - Fork 408
Add VDA5050 Safety State Broadcaster #1958
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
base: master
Are you sure you want to change the base?
Add VDA5050 Safety State Broadcaster #1958
Conversation
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.
First (very superficially) review
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.
this would be the first yaml file having a copyright/license section. @ros-controls/ros_control should we make this default, or remove it from here?
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)") | ||
add_compile_options(-Wall -Wextra -Werror=conversion -Werror=unused-but-set-variable -Werror=return-type -Werror=shadow) | ||
endif() |
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.
please use ros2_control_cmake here to use the same options across all plugins.
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.
Done; removed these compile options and added:
find_package(ros2_control_cmake REQUIRED)
set_compiler_options()
export_windows_symbols()
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.
this would be the first yml file having a copyright/license section. @ros-controls/ros_control should we make this default, or remove it from here?
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 would say no for a copyright in an yaml
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.
Done; removed license from yaml files.
This Pull Request introduces the VDA5050 Safety State Broadcaster, a controller for publishing safety state information in ROS 2. The broadcaster reads safety-related state interfaces from hardware and exposes them in standardized ROS messages, as defined by the VDA5050 standard, for easy integration with VDA5050-based fleet management systems, safety monitoring, and higher-level decision-making nodes.
Dependency: This PR depends on control_msgs#266 which introduces the
VDA5050SafetyState
message.Features
Standardized Safety Output: Publishes a
control_msgs::msg::VDA5050SafetyState
message representing the current safety state of the system: field violation and E-stop status.Flexible Interface Support: Reads from configurable state interfaces covering field violation, manual E-stop, remote E-stop, and auto-acknowledged E-stop, ensuring full compatibility with the VDA5050 schema.
Parameterization: Fully configurable through YAML using generate_parameter_library.
Published Topic
~/vda5050_safety_state
(control_msgs::msg::VDA5050SafetyState
) — publishes the combined safety state: field violation and prioritized E-stop status.Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
To send us a pull request, please:
colcon test
andpre-commit run
(requires you to install pre-commit bypip3 install pre-commit
)