j5机器人框架
项目描述
j5
j5框架 - 为机器人创建一致的API
什么是j5?
j5
是一个 Python 3 框架,旨在简化构建机器人一致 API 的过程。它是为了减少为多个机器人竞赛开发各自独立但又非常相似的 API 而创建的。将通用元素合并到一个支持各种硬件的单个库中,为学生和志愿者提供一致的感觉。这意味着有更多的时间来构建机器人!
如何使用 j5?
j5
被设计成对学生不可见。它在幕后工作,施展魔法。
from robot import Robot
r = Robot()
r.motor_boards[0].motors[1] = 0.5
上面的代码可能对参加过以下竞赛之一的学生来说很熟悉。然而,让这段代码在各个平台上可移植并不是一个简单的问题。例如,学生机器人的电机板与大脑板是分开的,但在 HR RoboCon 中是集成在同一块板上的。
j5
允许竞赛供应商定义如何访问 API 的基本部分。因此,机器人可以从各种组织提供的任何组件组合中构建。
from j5 import BaseRobot
from j5.backends.hardware.sr.v4 import (
SRV4MotorBoardHardwareBackend,
SRV4PowerBoardHardwareBackend,
SRV4ServoBoardHardwareBackend,
)
from j5.boards import BoardGroup
from j5.boards.sr.v4 import MotorBoard, PowerBoard, ServoBoard
class Robot(BaseRobot):
"""My Competition Robot."""
def __init__(self) -> None:
self._power_boards = BoardGroup.get_board_group(
PowerBoard, SRV4PowerBoardHardwareBackend,
)
self.power_board = self._power_boards.singular()
self.motor_boards = BoardGroup.get_board_group(
MotorBoard, SRV4MotorBoardHardwareBackend,
)
self.motor_board = self.motor_boards.singular()
self.servo_boards = BoardGroup.get_board_group(
ServoBoard, SRV4ServoBoardHardwareBackend,
)
self.servo_board = self.servo_boards.singular()
竞赛
我们打算支持以下机器人竞赛的套件
虽然 j5
没有得到 Student Robotics 或 RoboCon 的官方认可,但我们正与 Student Robotics 紧密合作,确保完美兼容。许多 j5
贡献者是 Student Robotics 和 SourceBots 的成员。
sbot,一个基于 j5
的 API,在 2019 年 8 月成功部署给了超过 100 个用户。这是已知第一个基于 j5
的 API 的实际部署案例。
如果您有兴趣添加对您硬件的支持或构建自己的 API,请与我们联系。
贡献
本项目采用 MIT 许可证发布。更多信息,请参阅 LICENSE
文件。
j5 贡献者
指的是在 CONTRIBUTORS
文件中列出的人。
可以通过执行 CONTRIBUTORS.gen
生成 CONTRIBUTORS
文件。此生成的文件包含为 j5
项目做出贡献的人的名单。
有关贡献的更多信息以及如何联系贡献者,请参阅我们的文档
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建发行版
j5-1.1.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1e7c74ce97a976f7489464daefa59e8791679c88223f7b1e7c351155763dc0bc |
|
MD5 | 6921efb957c7e0ef2271cb84353482d6 |
|
BLAKE2b-256 | db72c1a0e7628dfe816dca8706428cc49471932a46b6e448e9d111d3c1f71e52 |
j5-1.1.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6d48865e4a702326b637e02444dfc66700c34dbcf2167d28de751acb481242bb |
|
MD5 | a0f600677f1482cc70280e63a03353cb |
|
BLAKE2b-256 | ab336855e760a8897beb3952ec32ad3ed23c41aff1ef1a14cb93e6ba40d5dbaa |