Skip to main content

No project description provided

Project description

RoboClaw Encoder Interface

This project provides an interface for controlling and reading encoder values from RoboClaw motor controllers. It allows you to set motor speeds, control motor movement, and read encoder values with proper handling of overflow, underflow, and direction. Features

Control Motors: Set speed for individual motors (M1, M2).
Drive Both Motors: Control both motors at the same time with forward or backward movement.
Turn Both Motors: Control turning by adjusting motor speeds in opposite directions.
Read Encoder: Accurately read encoder values, adjusting for overflow and underflow.

System Requirements

This library will only work on devices with the AArch64 architecture running linux/gnu. Here's a list of example devices:

  • Raspberry PI 3/4/5 (Requires a 64-bit OS)
  • Raspberry PI Zero 2 W
  • NVIDIA Jetson Series

Installation

pip install roboclaw-python

Usage

Example in Python using the PyO3 bindings

from roboclaw_python import RoboClaw, Motor

Initialize RoboClaw

roboclaw = RoboClaw(port_name="/dev/ttyUSB0", baud_rate=115200, timeout=20, retries=128, address=128)

Set motor speed

roboclaw.set_speed(Motor.M1, 100)

Read encoder value

encoder_value_m1 = roboclaw.read_encoder(Motor.M1)
print(f"Motor M1 Encoder: {encoder_value_m1}")

Currently supported

set_speed()                 M1 + M2 Forward and Backwards
drive()                     Both motors forwards and backwards at the same time
turn()                      Turn one or the other motor

//Encoders
read_encoder()              Reads the encoder of a specified motor
read_encoder_speed()        Read the speed of the encoder in counts per second
reset_encoders()            Resets both encoders
set_encoder()               Sets the encoder value of a specified motor

//Advanced Commands
set_serial_timeout()        Sets the serial timeout
read_serial_timeout()       Reads the serial timeout

External links

License

This project is licensed under the MIT License.

This is an unofficial roboclaw driver for python. I'm not affiliated with Basic Micro.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

roboclaw_python-0.5.7-cp311-cp311-manylinux_2_34_x86_64.whl (430.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

roboclaw_python-0.5.7-cp311-cp311-manylinux_2_34_aarch64.whl (431.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

File details

Details for the file roboclaw_python-0.5.7-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for roboclaw_python-0.5.7-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 45ac42278d4a8df2b52c5944760365817ef7020a3cc6c03abb4a60ce2122f051
MD5 805b2eff0b59bd4be90b5fc9b8dfb70f
BLAKE2b-256 70a19fd1dcb1fc09f0b82690ec355fee2971eaf9672a822adc96e49d320bc1c8

See more details on using hashes here.

File details

Details for the file roboclaw_python-0.5.7-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for roboclaw_python-0.5.7-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 dee3808e85bd63803ac9bd263d02058e4a7ef61548ca1ab6599f51b9db420556
MD5 2066764cda89782691275d86c9ee6233
BLAKE2b-256 7bb2696d65f06503c5f5e48c961a65f8a389860df231f7e5a87a34d8deb5030e

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