No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.0.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/centralenantesrobotics/baxter_common_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-01-31
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Custom ROS 1/2 bridge for Baxter robot

Additional Links

Maintainers

  • Olivier Kermorgant

Authors

  • Olivier Kermorgant

baxter_bridge

The baxter_bridge package exposes a custom ros1<->ros2 bridge, precompiled for all Baxter’s messages and specific topics.

It embeds a ROS 2 robot_state_publisher and also bridges the inverse kinematics services.

It avoids having to recompile ros1_bridge which can be quite long.

By default the bridge only forwards a selection of usual topics (joint command, joint states, range sensors). The others are forwarded dynamically when suitable. It will display on Baxter’s screen who is publishing on which topic.

Compile dependencies

To compile the ROS 1 part, at least the several ROS 1 packages have to be installed:

  • roscpp
  • rosconsole
  • roscpp_serialization
  • rostime xmlrpcpp

All ROS 1 dependencies can be installed from the deb files available in baxter_legacy.

Compile options

By default the robot can only be controlled in POSITION or VELOCITY mode. This allows in particular the embedded auto-collision avoidance. In practice, JointCommand messages using another mode (EFFORT or RAW_POSITION) will be changed into VELOCITY.

Set the CMake flag SAFE_CMD to False to allow forwarding all modes for JointCommand messages.

ROS 1 side

When run from multiple computers (e.g. students doing a lab on Baxter), all bridges synchronize by default and only allow one user to publish a given command topic at the same time.

The synchronization is done with ROS 1 that allows all bridges to communicate. Users are identified from their Linux username. Using the same username from several computers will lead to nodes having the same name in the ROS 1 graph.

Two ROS 1 rosparams tune the synchronization behavior:

  • allow_multiple (default False): allow several users to publish on the same topic
  • forward_diplay (default True): if allow_multiple is False, uses Baxter’s screen to display who is currently publishing on which topics

It also advertizes two services on the ROS 1 side, mostly to synchronize bridges together when allow_multiple is False.

  • /bridge_auth: request to publish on a given topic from a given user, returns the list of current topics and their users
  • /bridge_force: reserve a limb (left / right) for a given user. Give an empty username to cancel

Runtime options

  • -s forces it to forward all (many, many) topics
  • --server forces the instantiation of the synchronization server. There should be only one per network. Without this option, the first baxter_bridge trying to connect to this server will instead instantiate it.

Parameters

When run from multiple computers (e.g. students doing a lab on Baxter), all bridges synchronize by default and only allow one user to publish a given topic at the same time.

Set the ROS 1 rosparam /allow_multiple to True in order to allow several computers to publish on the same topic.

Users are identified from their Linux username. Using the same username from several computers will lead to nodes having the same name in the ROS 1 graph.

Services

The bridge advertizes two services on the ROS 2 side, to handle locally bridged topic:

  • /bridge_open: force forwarding of a given topic. This can be useful if you want e.g. to display a topic in RViz that is not bridged yet
  • /bridge_exists: know if a given topic is currently forwarded, and it which direction
CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged baxter_bridge at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.