跳转到主要内容

j5机器人框架

项目描述

j5

Tests Test Coverage Maintainability Documentation Status PyPI version MIT license Bees

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 (45.1 kB 查看哈希值)

上传于

构建发行版

j5-1.1.2-py3-none-any.whl (72.2 kB 查看哈希值)

上传于 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面