https://github.com/cmower/safe_robot

A low-level ROS package for the safe operation of robots.

https://github.com/cmower/safe_robot

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
Last synced: 11 months ago · JSON representation

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
Archived
Created over 4 years ago · Last pushed over 4 years ago
Metadata Files
Readme License

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

Published topics

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/JointState messages, otherwise std_msgs/Float64MultiArray messages 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/Float64MultiArray messages, 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

Senior Research Scientist at Huawei Technologies R&D.

GitHub Events

Total
Last Year

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 41
  • Total Committers: 2
  • Avg Commits per committer: 20.5
  • Development Distribution Score (DDS): 0.024
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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)
Top Labels
Issue Labels
bug (2) documentation (1) enhancement (1)
Pull Request Labels