https://github.com/cmower/safe_robot
A low-level ROS package for the safe operation of robots.
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.6%) to scientific vocabulary
Repository
A low-level ROS package for the safe operation of robots.
Basic Info
- Host: GitHub
- Owner: cmower
- License: bsd-2-clause
- Language: Python
- Default Branch: master
- Size: 46.9 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 4
- Releases: 0
Metadata Files
README.md
safe_robot
A low-level ROS package for the safe operation of robots. Easily setup
with a single launch file. The safe_robot_node.py acts as a
remapper. Target joint states are passed through several safety
checks, if safe then the command is sent to the robot, otherwise they
are prevented. Possible checks
* joint position limits
* joint velocity limits
* end-effector/link box limits
* self-collision check
Node
safe_robot_node.py
Subscribed topics
joint_states/target(sensor_msgs/JointState)The target joint state.
Published topics
joint_states/command(sensor_msgs/JointState or std_msgs/Float64MultiArray)The commanded joint state. Note, optionally this can be sent as a
sensor_msgs/JointStatemessage orstd_msgs/Float64MultiArray.robot_safety/status(diagnostic_msgs/DiagnosticStatus)Status of the joint state.
(optional)
safe_robot/box_limit/marker(visualization_msgs/Marker)Optional, marker that shows the box limit for the end-effectors/links. This is only published when debug-mode is turned on (see below).
Parameters
~exotica_xml_filename(string)An EXOTica XML filename. This should point to a URDF and SRDF file.
~link_xlim(string)Two floats separated by a space that specifies the end-effector/link limits in the x-axis for the world frame.
~link_ylim(string)Two floats separated by a space that specifies the end-effector/link limits in the x-axis for the world frame.
~link_zlim(string)Two floats separated by a space that specifies the end-effector/link limits in the x-axis for the world frame.
~safe_links(string)A list of links that should be bound with the box limits, each link name should appear in the URDF or EXOTica XML config file. Every name should be separated by a space.
~joint_position_limit_factor(double, default: 0.95, min: 0.0, max: 1.0)The joint position limits (from URDF) are multipled by a factor to determine safe operation.
~joint_velocity_limit_factor(double, default: 0.95, min: 0.0, max: 1.0)The joint velocity limits (from URDF) are multipled by a factor to determine safe operation.
~safe_distance(double, min: 0.0)Safe distance used in self-collision check calculation.
~publish_as_joint_state(bool, default: true)When true the commands are published as
sensor_msgs/JointStatemessages, otherwisestd_msgs/Float64MultiArraymessages are used.~check_joint_position_limits(bool, default: true)When true the joint position limits are checked, false otherwise.
~check_joint_velocity_limits(bool, default: true)When true the joint velocity limits are checked, false otherwise.
~check_link_limits(bool, default: true)When true the end-effector/link limits listed in
~safe_links(above) are checked, false otherwise.~check_self_collision(bool, default: true)When true the target state is checked for self-collisions, false otherwise. This utilizes the functionality of EXOTica.
~stop_after_first_fail(bool, default: true)When true all future target states are prevented.
~debug(bool, default: false)When true debug mode is turned on.
~joint_name_order(string, default: ordering specified by EXOTica)This parameter can be used to specify a joint ordering that is different to that is required by a controller. For example, when a robot accepts
std_msgs/Float64MultiArraymessages, the ordering of the joint positions is critical. Some controllers accept these in a different order to the given URDF.
Owner
- Name: Chris Mower
- Login: cmower
- Kind: user
- Location: London, UK
- Company: Huawei Technologies R&D
- Website: https://cmower.github.io/
- Repositories: 55
- Profile: https://github.com/cmower
Senior Research Scientist at Huawei Technologies R&D.
GitHub Events
Total
Last Year
Committers
Last synced: almost 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Chris E. Mower | c****r@e****k | 40 |
| Chris Mower | c****r | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: almost 2 years ago
All Time
- Total issues: 5
- Total pull requests: 3
- Average time to close issues: 3 days
- Average time to close pull requests: about 15 hours
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.2
- Average comments per pull request: 0.0
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- cmower (5)
Pull Request Authors
- cmower (3)