All Projects → gramaziokohler → Roslibpy

gramaziokohler / Roslibpy

Licence: mit
Python ROS Bridge library

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Roslibpy

Robotics Coursework
🤖 Places where you can learn robotics (and stuff like that) online 🤖
Stars: ✭ 1,810 (+1139.73%)
Mutual labels:  robotics, ros
Rosnodejs
Client library for writing ROS nodes in JavaScript with nodejs
Stars: ✭ 145 (-0.68%)
Mutual labels:  robotics, ros
Robotics setup
Setup Ubuntu 18.04, 16.04 and 14.04 with machine learning and robotics software plus user configuration. Includes ceres tensorflow ros caffe vrep eigen cudnn and cuda plus many more.
Stars: ✭ 110 (-24.66%)
Mutual labels:  robotics, ros
Aikido
Artificial Intelligence for Kinematics, Dynamics, and Optimization
Stars: ✭ 133 (-8.9%)
Mutual labels:  robotics, ros
Cleanit
Open-source Autonomy Software in Rust-lang with gRPC for the Roomba series robot vacuum cleaners. Under development.
Stars: ✭ 125 (-14.38%)
Mutual labels:  robotics, ros
Flexbe behavior engine
Contains the behavior engine FlexBE.
Stars: ✭ 101 (-30.82%)
Mutual labels:  robotics, ros
Stereo dense reconstruction
Dense 3D reconstruction from stereo (using LIBELAS)
Stars: ✭ 113 (-22.6%)
Mutual labels:  robotics, ros
Navigation
ROS Navigation stack. Code for finding where the robot is and how it can get somewhere else.
Stars: ✭ 1,248 (+754.79%)
Mutual labels:  robotics, ros
Ros2learn
ROS 2 enabled Machine Learning algorithms
Stars: ✭ 119 (-18.49%)
Mutual labels:  robotics, ros
Se2clam
SE(2)-Constrained Localization and Mapping by Fusing Odometry and Vision (IEEE Transactions on Cybernetics 2019)
Stars: ✭ 116 (-20.55%)
Mutual labels:  robotics, ros
Evo
Python package for the evaluation of odometry and SLAM
Stars: ✭ 1,373 (+840.41%)
Mutual labels:  robotics, ros
Urdf Loaders
URDF Loaders for Unity and THREE.js with example ATHLETE URDF Files
Stars: ✭ 129 (-11.64%)
Mutual labels:  robotics, ros
Webots
Webots Robot Simulator
Stars: ✭ 1,324 (+806.85%)
Mutual labels:  robotics, ros
Grl
Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
Stars: ✭ 105 (-28.08%)
Mutual labels:  robotics, ros
Rvd
Robot Vulnerability Database. An archive of robot vulnerabilities and bugs.
Stars: ✭ 87 (-40.41%)
Mutual labels:  robotics, ros
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+1184.93%)
Mutual labels:  robotics, ros
Ev3dev Lang Java
A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way.
Stars: ✭ 79 (-45.89%)
Mutual labels:  robotics, ros
Ros Openpose
CMU's OpenPose for ROS
Stars: ✭ 81 (-44.52%)
Mutual labels:  robotics, ros
Dolly
🤖🐑 It's a sheep, it's a dolly, it's a following robot. Dolly was born to be cloned.
Stars: ✭ 113 (-22.6%)
Mutual labels:  robotics, ros
Rclnodejs
Node.js version of ROS 2.0 client
Stars: ✭ 126 (-13.7%)
Mutual labels:  robotics, ros

============================ roslibpy: ROS Bridge library

.. start-badges

.. image:: https://readthedocs.org/projects/roslibpy/badge/?style=flat :target: https://roslibpy.readthedocs.io/en/latest/ :alt: Documentation Status

.. image:: https://img.shields.io/badge/docs-%E4%B8%AD%E6%96%87-brightgreen.svg :target: https://roslibpy-docs-zh.readthedocs.io :alt: Documentation: Chinese translation

.. image:: https://github.com/gramaziokohler/roslibpy/workflows/build/badge.svg :target: https://github.com/gramaziokohler/roslibpy/actions :alt: Github Actions CI Build Status

.. image:: https://img.shields.io/github/license/gramaziokohler/roslibpy.svg :target: https://pypi.python.org/pypi/roslibpy :alt: License

.. image:: https://img.shields.io/pypi/v/roslibpy.svg :target: https://pypi.python.org/pypi/roslibpy :alt: PyPI Package latest release

.. image:: https://anaconda.org/conda-forge/roslibpy/badges/version.svg :target: https://anaconda.org/conda-forge/roslibpy

.. image:: https://img.shields.io/pypi/implementation/roslibpy.svg :target: https://pypi.python.org/pypi/roslibpy :alt: Supported implementations

.. end-badges

Python ROS Bridge library allows to use Python and IronPython to interact with ROS <http://www.ros.org>, the open-source robotic middleware. It uses WebSockets to connect to rosbridge 2.0 <http://wiki.ros.org/rosbridge_suite> and provides publishing, subscribing, service calls, actionlib, TF, and other essential ROS functionality.

Unlike the rospy <http://wiki.ros.org/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 <https://roslibpy.readthedocs.io/>_.

Contributing

Make sure you setup your local development environment correctly:

  • Clone the roslibpy <https://github.com/gramaziokohler/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 <http://docs.pyinvoke.org/>_ 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 <https://roslibpy.readthedocs.io/>_.

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 <http://semver.org/>_, 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 <https://github.com/RobotWebTools/roslibjs/blob/develop/AUTHORS.md>_.

.. _roslibjs: http://wiki.ros.org/roslibjs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].