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.14-cp311-cp311-win_amd64.whl (164.3 kB view details)

Uploaded CPython 3.11Windows x86-64

roboclaw_python-0.5.14-cp311-cp311-manylinux_2_34_x86_64.whl (430.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

roboclaw_python-0.5.14-cp311-cp311-manylinux_2_34_aarch64.whl (431.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

File details

Details for the file roboclaw_python-0.5.14-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for roboclaw_python-0.5.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c20c7ea5732b5f9d618c5ae1ebb2230f2a414ecdf3dae179d36440d7d49ee818
MD5 15d07deba9dc2742b92269ac84bd246e
BLAKE2b-256 f5618d208e5fca7fcd5962c8965725240b4b8f993f0173e352a17d139a2eb6a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for roboclaw_python-0.5.14-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c6edb0e23caae8a491301c69132b56e447ee6559ccd6efce8bb29d678dd9dac1
MD5 2c2c6f66d9cbf4650bf947b45258a026
BLAKE2b-256 845973786134bb95977382ddde33b120fbd990a353cb583a1b72d679c14c7732

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for roboclaw_python-0.5.14-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 4df437de91400e083df9c84f9b3eb0dce4afdb8c3c51516cf3976ded3b55236d
MD5 958eee6a53a8afbb439257cbf28f9546
BLAKE2b-256 b99e60e29d64902474771bdf950d6fa4eda1cbd4fb7780aad60658c77979b1c6

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