Skip to main content

Pythonic robotics toolkit

Project description

ROXBOT - a Pythonic robotics toolkit

What is this?

Project roxbot is a handbook for robotcs developers. It is intended as a knowledge base, providing a series of examples, reusable library code and tips and tricks for building robotic systems. Common use case is an AGV, navigating with an RTK-GPS module.

Project roadmap

see roadmap discussion

Note: watch this repository to be notified about updates. (we don't do spammy mailing lists)

Quick start

What about ROS?

Well, ROS2 has some nice concepts, but it can be complex and complicated. Besides, ROS is C++ centric, which makes it a bit old-fashioned. Another shortcoming is a large codebase that has not been widely tried and tested in real world applications.

Key principles

  • KISS (keep it simple, stupid): - let's make robotics easier by reducing complexity.
  • Less Code Equals Fewer Problems: - keep codebase small and portable. "Code is not an asset but a liability"
  • Don't reinvent the wheel - leverage robust existing technologies. Think of asyncio, Docker etc.

Concepts

ROXBOT takes familiar ideas from ROS2 and makes them easier to use and more Python-friendly:

  • Nodes: These are small, focused classes that perform specific tasks within the robotics application. For example, one Node might manage sensor data while another controls a motor.

  • Interfaces: These are standardized formats that ensure consistent data exchange between Nodes. This makes it easy for different parts of your project to communicate and work together effectively.

  • Subsystems: This term refers to a group of Nodes that work together to perform a broader function like motion control or data logging. These subsystems can be packaged into Docker containers for easy deployment and scaling.

  • System: This is the complete set of subsystems working together as a whole, forming a fully functional robotic system. We manage these as a Docker stack to ensure they are robust and scalable.

Classes overview

images are found in docs/uml

run invoke uml to update.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roxbot-2.0.0.tar.gz (16.6 kB view hashes)

Uploaded Source

Built Distribution

roxbot-2.0.0-py3-none-any.whl (14.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page