• Stars
    star
    270
  • Rank 152,189 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python ROS Bridge library

roslibpy: ROS Bridge library

Documentation Status Documentation: Chinese translation Github Actions CI Build Status License PyPI Package latest release Supported implementations

Python ROS Bridge library allows to use Python and IronPython to interact with ROS, the open-source robotic middleware. It uses WebSockets to connect to rosbridge 2.0 and provides publishing, subscribing, service calls, actionlib, TF, and other essential ROS functionality.

Unlike the rospy library, this does not require a local ROS environment, allowing usage from platforms other than Linux.

The API of roslibpy is modeled to closely match that of roslibjs.

Main features

  • Topic publishing and subscribing.
  • Service calls (client).
  • Service advertisement (server).
  • ROS parameter management (get/set/delete).
  • ROS API services for getting ROS meta-information.
  • Actionlib support for interfacing with preemptable tasks.
  • TF Client via the tf2_web_republisher.

Roslibpy runs on Python 3.x and IronPython 2.7.

Installation

To install roslibpy, simply use pip:

pip install roslibpy

For IronPython, the pip command is slightly different:

ipy -X:Frames -m pip install --user roslibpy

Remember that you will need a working ROS setup including the rosbridge server and TF2 web republisher accessible within your network.

Documentation

The full documentation, including examples and API reference is available on readthedocs.

Contributing

Make sure you setup your local development environment correctly:

  • Clone the roslibpy repository.
  • Create a virtual environment.
  • Install development dependencies:
pip install -r requirements-dev.txt

You're ready to start coding!

During development, use pyinvoke tasks on the command prompt to ease recurring operations:

  • invoke clean: Clean all generated artifacts.
  • invoke check: Run various code and documentation style checks.
  • invoke docs: Generate documentation.
  • invoke test: Run all tests and checks in one swift command.
  • invoke: Show available tasks.

For more details, check the Contributor's Guide available as part of the documentation.

The default branch was recently renamed to main. If you've already cloned this repository, you'll need to update your local repository structure with the following lines:

git branch -m master main
git fetch origin
git branch -u origin/main main

Releasing this project

Ready to release a new version roslibpy? Here's how to do it:

  • We use semver, i.e. we bump versions as follows:
    • patch: bugfixes.
    • minor: backwards-compatible features added.
    • major: backwards-incompatible changes.
  • Update the CHANGELOG.rst with all novelty!
  • Ready? Release everything in one command:
invoke release [patch|minor|major]
  • Profit!

Credits

This library is based on roslibjs and to a large extent, it is a line-by-line port to Python, changing only where a more idiomatic form makes sense, so a huge part of the credit goes to the roslibjs authors.

More Repositories

1

ros_docker

Docker images for ROS master, bridge and nodes
Dockerfile
76
star
2

robotic_assembly_workshop

Materials for the Robotic Assembly workshop using COMPAS framework
Dockerfile
21
star
3

compas_timber

Python
18
star
4

workshop_mcneel_2021

Robotic Fabrication with the COMPAS Framework workshop (McNeel Europe)
Python
10
star
5

integral_timber_joints

Robotic Assembled Timber Structures with Integral Timber Joints
Python
9
star
6

compas_xr

COMPAS XR streamlines extended reality workflows to ease the implementation of human-machine collaborative applications in architectural research and educational environments.
Python
8
star
7

python_template

A template for GKR python projects
Python
8
star
8

clamp_electronics

Electronics for remote controlled robotic clamps
Roff
5
star
9

compas_introduction

Python
5
star
10

workshop_tokyo_2020

Materials for the COMPAS FAB Hands-on intro at Tokyo AEC Dev Group 2020
Dockerfile
5
star
11

itj_process_controller

Python-based high-level controller to coordinate robotic process for Spatial Timber Assembly using Distributed Architectural Robots.
Jupyter Notebook
5
star
12

workshop_munich_2020

Materials for the Robotic Assembly workshop using COMPAS FAB framework
Python
4
star
13

ros_file_server

A detached fork of ROS# File Server: https://github.com/siemens/ros-sharp/tree/master/ROS/file_server
CMake
4
star
14

workshop_futureofconstruction_2022

Computational Design with COMPAS: Workshop material and slides for the Future of Construction Symposium 2022
4
star
15

clamp_controller

High-level controller to monitor and command a network of distributed clamps.
Python
3
star
16

compas_fab_preworkshop

Materials for the introduction to the robotic fabrication package for the COMPAS framework
3
star
17

compas_mrr

Robot localization using external measuring device (total station)
Python
3
star
18

clamp_firmware

Firmware development for embedded Arduino on remote-controlled actuators.
Forth
3
star
19

abb_irb4600_40_255

ABB IRB4600 40-2,55
CMake
3
star
20

workshop_supsi_2022

Example files, slides and other resources for the COMPAS FAB workshop at SUPSI 2022 Summer School
CMake
3
star
21

phd_spatial_timber_assembly

Gateway repository of PhD work by Victor Leung
3
star
22

impact_printing_t2

Python
3
star
23

workshop_princeton_2021

CMake
2
star
24

coding_architecture_hs23

Materials for the Coding Architecture I course, Autumn Semester 2023
Batchfile
2
star
25

ashlar

Compute intrinsic properties from closed, triangular stone meshes. Meta-faces are computed using the variational shape approximation, and these are used in turn to compute the ashlarness value.
C++
2
star
26

workshop_swinburne_2021

Dockerfile
2
star
27

aixd_ara

ARA: Grasshopper plugin for AIXD_ toolkit
Python
2
star
28

2d_tile_detector

Minimal, OpenCV-based library for detecting 2d pose of tiles
Python
2
star
29

clamp_hardware

Mechanical design for remote controlled robotic clamps.
Python
2
star
30

workshop_michigan

Materials for the Robotic Assembly workshop using COMPAS FAB framework
Dockerfile
2
star
31

abb_crb15000_5_95_moveit_config

MoveIt Config for the ABR CRB 15000 5/95 (GoFa)
CMake
2
star
32

mas_2223

Python
2
star
33

kr6r900sixx_moveit_config

CMake
1
star
34

maker_faire_bilbao_workshop_2019

COMPAS FAB: Software de Fabrication Digital Robótica
Python
1
star
35

coding_architecture_fs24

Batchfile
1
star
36

itj_design_study

Repository for physical and digital design studies involving integral timber joints.
Roff
1
star
37

workshop_donbosco_2022

Materiales para el taller de fabricación digital con COMPAS FAB
1
star
38

abb_irb4600_40_255_moveit_config

MoveIt config for the ABB IRB4600 40/2.55
CMake
1
star
39

installlib

Installlib is a small library which helps orchestrating arbitrary scripted tasks
Python
1
star
40

gkr_idc_poc

GKR-cadwork-IDC potential Innosuisse demo
Python
1
star