Skip to main content

Student Robotics API for Python 3

Project description

sr-robot3

Lint & build PyPI version Documentation Status MIT license Bees

sr-robot3 - Python 3 API for Student Robotics Kit

This is the API for Student Robotics, library for writing Robotics APIs. It will first be deployed at Student Robotics 2024.

Installation

If you wish to install openCV from your package manager, you can install the base package with:

pip install sr-robot3

To install the full package, including openCV, you can install with:

pip install sr-robot3[vision]

Usage

The main entry point for the API is the Robot class. Intantiating this class will automatically detect and connect to any SR v4 boards connected to the device. By default, the Robot class will wait for the start button on the power board to be pressed before continuing.

from sr.robot3 import Robot

r = Robot()

To disable the waiting for the start button, you can pass wait_for_start=False to the constructor. The wait_for_start method needs to be called before the metadata is available.

from sr.robot3 import Robot

r = Robot(wait_for_start=False)

# Setup in here

r.wait_start()

Developer Notes

There are a number of considerations that have been made in the design of this API. Some of these may not be immediately obvious, so they are documented below.

  • The API is designed to raise exceptions for incorrect actions, such as trying to modify the output dictionary or assign a value directly to the motor object.
  • MappingProxyType is used to prevent the user from adding, removing or overwriting keys in any parts of the API that return a dictionary.
  • tuple is used to prevent the user from adding, removing or overwriting items in any parts of the API that would return a list.
  • __slots__ is used to prevent the user from adding, removing or overwriting attributes in any parts of the API.
  • sr.robot3.serial_wrapper.SerialWrapper handles automatic reconnection to the serial port if the connection is lost and impleents 3 retries on any serial operation before raising a BoardDisconnectionError.

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

sr-robot3-2024.0.1.tar.gz (59.1 kB view details)

Uploaded Source

Built Distribution

sr_robot3-2024.0.1-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file sr-robot3-2024.0.1.tar.gz.

File metadata

  • Download URL: sr-robot3-2024.0.1.tar.gz
  • Upload date:
  • Size: 59.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for sr-robot3-2024.0.1.tar.gz
Algorithm Hash digest
SHA256 4136f804259f81edc70857d38b90d7c70f476dde964eefc7f7a9efd00c4d6eb1
MD5 4d5181bc9412dc201ba7a570ba175a6f
BLAKE2b-256 bd6be4ee546ac0f2fc4410cf8d266800a3bcebce1fa6cc16ee72b47d55ddbd8c

See more details on using hashes here.

File details

Details for the file sr_robot3-2024.0.1-py3-none-any.whl.

File metadata

  • Download URL: sr_robot3-2024.0.1-py3-none-any.whl
  • Upload date:
  • Size: 45.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for sr_robot3-2024.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9803fd1107928afae0249542b4d6d524e53076637cd0d1dd37c43ac047eff1ef
MD5 4b58f0d3eb5ffcc8acb7db9ccfe759fc
BLAKE2b-256 dd803644f7bfd954a3ed616da5b3198316b7cf75836ab1333e8c20b5de346df5

See more details on using hashes here.

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