RobotWebTools/roslibpy

Python ROS Bridge library

What it solves

roslibpy is a Python library that allows developers to interact with the Robot Operating System (ROS) without needing a local ROS installation on the machine running the Python code. This removes the dependency on Linux and allows ROS-enabled robots to be controlled or monitored from any platform that can run Python.

How it works

The library connects to a ROS network via WebSockets using the rosbridge_suite (specifically the rosbridge server). It acts as a bridge, enabling Python scripts to perform standard ROS operations—such as publishing and subscribing to topics, calling services, and managing parameters—over a network connection rather than through a local system bus.

Who it’s for

Developers who want to control ROS robots from non-Linux platforms or from environments where installing a full ROS distribution is impossible or impractical.

Highlights

  • Cross-platform compatibility: Works on Python 3.x and IronPython 2.7, enabling usage on Windows or macOS.
  • Comprehensive ROS functionality: Supports topic publishing/subscribing, service calls/advertisements, and ROS parameter management.
  • Task management: Includes support for Actionlib for preemptable tasks.
  • Flexible transport: Offers multiple WebSocket transport options, including Twisted and asyncio.
  • TF Client: Provides TF (Transform) support via the tf2_web_republisher.

Related

  • Project
  • Project
  • Project
  • Project
  • Project