Skip to main content

J5 Robotics API

Project description

j5

CircleCI Test Coverage Maintainability Documentation Status MIT license Bees

j5 Robotics API - Currently under development.

What is j5?

j5 is a Python 3 library that aims to abstract away robotics hardware and provide a consistent API for robotics. It was created to reduce the replication of effort into developing the separate, yet very similar APIs for several robotics competitions. Combining the API into a single library with support for various hardware gives a consistent feel for students and volunteers. This means more time to work on building robots!

How do I use j5?

j5 is designed to never be visible to students. It sits behind the scenes and works magic.

from robot import Robot

r = Robot()
r.motor_boards[0].motors[1] = 0.5

The above code is likely to be familiar to any student who has competed in one of the below competitions. However, it is not a trivial problem to make this code portable across the platforms. For example, the motor board for Student Robotics is a separate board to the brain board, but is built into the same board for HR RoboCon.

j5 lets competition vendors define how the basic parts of the apis are accessed. A robot can thus be constructed from any combination of parts from various organisations.

from j5.boards import BoardGroup
from j5.backends.hw import HardwareEnvironment

from j5.boards.sr.v4 import PowerBoard, MotorBoard, ServoBoard, Ruggeduino


class Robot:

    def __init__(self):

        self._env = HardwareEnvironment()

        self.power_board = PowerBoard(self._env)

        self.motor_boards = BoardGroup(MotorBoard, self._env)
        self.motor_board = self.motor_boards.singular()

        self.servo_boards = BoardGroup(ServoBoard, self._env)
        self.servo_board = self.servo_boards.singular()

        self.ruggeduino = Ruggeduino(self._env)

Competitions

We intend to support the kits of the following robotics competitions:

Whilst j5 isn't officially endorsed by Student Robotics or RoboCon, we are working closely with Student Robotics to ensure perfect compatibility. Many j5 contributors are members of Student Robotics and SourceBots.

If you are interested in adding support for your hardware, please get in touch.

Contributions

This project is released under the MIT Licence. For more information, please see LICENSE.

j5 contributors refers to the people listed in the CONTRIBUTORS file.

The CONTRIBUTORS file can be generated by executing CONTRIBUTORS.gen. This generated file contains a list of people who have contributed to the j5 project.

j5 is being developed by a group of volunteers primarily based at the University of Southampton. We welcome contributions and reside in a channel on the SourceBots Slack.

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

j5-0.2.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

j5-0.2.0-py3-none-any.whl (64.3 kB view details)

Uploaded Python 3

File details

Details for the file j5-0.2.0.tar.gz.

File metadata

  • Download URL: j5-0.2.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.11 CPython/3.7.3 Linux/5.0.7-arch1-1-ARCH

File hashes

Hashes for j5-0.2.0.tar.gz
Algorithm Hash digest
SHA256 04bd1ecd683d8a606888e27318c2ee26e856b736bbaa8f85d26ea0015e0f9f06
MD5 efeff15f1ac24e653cb1515f7ae73082
BLAKE2b-256 aabe743bd46ee142af56e0723f89c2ce9ab9329af480de633d8e51180d5e7363

See more details on using hashes here.

File details

Details for the file j5-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: j5-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 64.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.11 CPython/3.7.3 Linux/5.0.7-arch1-1-ARCH

File hashes

Hashes for j5-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fbc223881bba7db5965ca75192cdcf5696d931a9d7ee9d54a35415a35c04a78b
MD5 3919ed6b78773cf39403008ca0c2cdc1
BLAKE2b-256 21d87ca5430b7aa47b583b7c861a98d04117189178c23adc1ee8e42b41fa803b

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