J5 Robotics API
Project description
j5
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.
class Robot(j5.Robot):
def __init__(self, *args, **kwargs):
self.power_board = j5.boards.sr.v4power()
self.motor_board = j5.boards.sr.v4motor()
self.servo_board = j5.boards.sb.servo_board()
self.camera_board = j5.boards.sb.camera_board()
The above code is for example purposes only and the API is subject to change at any time before it is declared stable.
Competitions
We are working with the following robotics competition to support their hardware(1):
- SourceBots
- Student Robotics
- Hills Road RoboCon
If you are interested in adding support for your hardware, please get in touch.
How do I contribute to j5?
j5
is being developed by a group of volunteers at the University of Southampton. We welcome contributions and reside in a channel on the SourceBots Slack.
(1): Neither Student Robotics nor Hills Road have officially agreed to use this software for their respective competitions. j5
does not represent any of the competitions listed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file j5-0.0.1.tar.gz
.
File metadata
- Download URL: j5-0.0.1.tar.gz
- Upload date:
- Size: 2.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1787145e968ad3e62e0c352c4959bbe1ac9029755f6cb00d096c2e28631c2ab6 |
|
MD5 | 258c1e0869d76dde300c857ac70a0764 |
|
BLAKE2b-256 | 225a75112e09b095a3e17397fbec4c8d8d67da257ecf8e3ecd459ff6f01ea462 |
File details
Details for the file j5-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: j5-0.0.1-py3-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93c109a18816714495517d2d2b93fc4a47076f4f74bf1014f7cc3e516fe0559d |
|
MD5 | 9c69b5f83a2a07449373a0d4f269eec6 |
|
BLAKE2b-256 | 746d5a19c3e1213a1f45e0cfa80626573bcb6130715156b5a787a87ee24246a4 |