Skip to main content

Controllers for path following

Project description

rox-control

Controllers for path tracking.

This repository provides pure python implementations of controllers for path tracking and basic simulation and visualisation tools.

The goal is to provide simple, yet production ready controllers that are easy to understand, integrate and maintain.

Why this repo?

  1. Because PythonRobotics (which is great btw) has a purely educational purpose.
  2. Because ROS2 controllers (Nav2 etc.) are C++ centered and require a lot of complexity.

What's in the repo

rox-control provides production-ready path tracking controllers for robotics applications:

  • Controllers: PurePursuitA - Pure pursuit path tracking controller with lookahead-based steering
  • Track Management: Track class for waypoint/path management and interpolation
  • Simulation Tools: Bicycle kinematics model, visualization, and plotting utilities (optional [tools] extra)
  • Examples: Ready-to-run demonstrations of controller usage

The package focuses on simplicity and production readiness, unlike educational implementations. Core controllers are packaged separately from simulation/visualization tools.

Quick start

Installation

Choose your installation based on your needs:

# Production use: Core controllers only (minimal dependencies)
pip install rox-control

# Development/Research: Include simulation and visualization tools  
pip install rox-control[tools]

For local development from source:

git clone <repository-url>
cd rox-control
invoke create-venv  # Creates venv and installs all dependencies

Basic usage

from rox_control import Track
from rox_control.controllers import PurePursuitA

# Create a track from waypoints
track = Track([(0, 0), (10, 0), (10, 10), (0, 10)])

# Set up controller
controller = PurePursuitA(
    look_ahead_distance=2.0,
    target_speed=5.0
)
controller.set_track(track)

# Use in control loop
control_output = controller.control(robot_state)

Examples

Run the included examples to see the controllers in action (requires [tools] installation):

python examples/01_basic_simulation.py     # Basic bicycle model simulation
python examples/02_pure_pursuit_a.py       # Pure pursuit path tracking

Package Structure

  • Core package: src/rox_control/ - Controllers and track management (always available)
  • Tools package: src/rox_control/tools/ - Simulation and visualization tools (optional [tools] extra)
  • Examples: examples/ - Ready-to-run demonstrations

References

Development

see DEVELOPMENT.md

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

rox_control-0.4.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rox_control-0.4.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file rox_control-0.4.0.tar.gz.

File metadata

  • Download URL: rox_control-0.4.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.8

File hashes

Hashes for rox_control-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9d3a6cc0269175294702c21997cadb53a904510d3fdaab5b7f23c8f16d5a5b32
MD5 5c0babdd1efc3b0929a3784d3c71caa0
BLAKE2b-256 edf145defaabe10aca8b9184b7214c8a319e20915607eb55c8abed868fbe9a30

See more details on using hashes here.

File details

Details for the file rox_control-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rox_control-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb149102ae9f343aba538215dbbd6c0bdeb2e205eba53430f0f1053fb62972e9
MD5 ac9e9cb64388701a0477242470609360
BLAKE2b-256 e94856e6d653a2cac32d02f60a096d842d25c4e21f49d018c2015c042132a347

See more details on using hashes here.

Supported by

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