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 (in src/tools/)
  • 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

git clone <repository-url>
cd rox-control
invoke create-venv  # Creates venv and installs 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:

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

Repository structure

  • main package is contained in src/rox_control
  • supporting code (simulator, visualisation etc.) are in src/tools. These are not included in the package.

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.3.1.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.3.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rox_control-0.3.1.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.3.1.tar.gz
Algorithm Hash digest
SHA256 afa10c7cabb5e77f57bc01d91b0a891d80f7b671e1b6dab8495bf2e132a3d8a6
MD5 a199b03bcbd477acc5eb018e39b5cf46
BLAKE2b-256 b3956e433f2983459715388c373dbb89f2a0bd32b71d3fd54a2d4ca459f4b4f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rox_control-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fccacd8109bb0e9834ee16e585068acc5a686b82a7edd329f30f0093eec6fdcd
MD5 478af69f97a0da914cac0c4126aa1d1f
BLAKE2b-256 be73c0f58943ab580a1c19c547eaf0e6cd4964ec0b267e21b5d28e6a2d1457a9

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