制造FRC机器人的实用程序

marsutils的Python项目详细描述


mars utlities

构建更好的机器人代码的实用程序

Read the Docs在线查看文档

控制管理器

ControlManager提供了一个包装器,使替代控制模式(替代驱动程序、不同控制程序)变得异常简单。它最初是为magicrobot组件设计的,但是,它应该可以与任何类型的组件一起工作。

请参见example/以获取机器人示例。

使用量

首先,所有控件都必须实现为子类marsutils.ControlInterface的类。在teleopPeriodic方法中定义的主控制代码。 然后,必须定义将显示在仪表板自动选择程序上的_DISPLAY_NAME字段。 您可以设置_SORT来为某些接口设置优先级,这个数字越高,选择器列表上的值就越高。

因为它是一个神奇的机器人组件,所以您可以访问注入的组件。

但必须使空的execute函数成为有效的magicbot函数。

拥有控件组件后,有两种方法可以创建管理器。

魔术魔术

如果您使用的是magicrobot框架,那么可以使用@with_ctrl_manager装饰器自动设置所有内容。只要用@with_ctrl_manager注释robot类,就完成了。它将神奇地检测任何ControlInterfaces,构造ControlManager,并自动调用周期函数。

使用decorator还意味着您不需要定义execute函数。

手动

否则,必须在调用createObjects之后,通过初始化所有组件来设置管理器。这是not technically possible with the MagicBot framework

self.control_manager=marsutils.ControlManager(self.xbox_ctrl,self.joystick_ctrl)

创建控件管理器后,必须调用其周期函数。这意味着为您使用的每个函数添加self.control_manager.teleopPeriodic()teleopPeriodic函数中,以此类推。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
未检测到“空格”的java ASCII码   音频如何在Java中设置SourceDataLine的音量   java MyBatissSpringBoot无法使用作为bean注入的数据源   Java字谜递归列表<List<String>>仅存储空列表<Strings>   java显示30px高的JPanel,然后用minecraft填充剩余空间   java JOGL平滑度   Java:按完整与否对1d对象数组进行排序   arraylist仅当java结构不存在时才将对象添加到java结构中   无法初始化java渲染库在安卓 studio 4.1.1上出现错误   java SpringBoot ClassCastException   java解析文本文件,基于字数   java=运算符引发异常   java使点可拖动并存储新坐标JavaFx   JavaWebSphereApplicationServer:EJB模块和JMS路由器