返回Wiki

敏捷X UGV SDK <unk>通用CAN平台 SDK

详细参考AgileX ugv_sdk C++ 库和pyagxrobots Python 绑定. 涵盖安装,CAN 设置,支持的平台 (SCOUT,RANGER,BUNKER, TRACER,HUNTER,LIMO),ROS2 使用和协议细节.

在这个页面上

  • T31
  • 支持平台
  • T33
  • [C++图书馆]
  • [ Python 绑定]
  • ,我知道,我知道.
  • [一次性设置]
  • [持续设置]
  • 根据"协议详细")
  • T40
  • ,我知道,我在做什么.
  • T42)

敏捷X页面

  • 其他国家和地区的发展
  • 现在,我们要做什么?
  • ,我知道,我知道.
  • ,我知道,我在做什么.
  • ,我知道,我在做什么.
  • ,我知道,我知道.
  • ,我还没有说过.

硬件指南

  • ,我知道你是个.
  • ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
  • ,我不想让你知道.
  • ,我没有什么可说的.
  • ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
  • ,我知道,我知道.
  • ,我很高兴.

查看

  • [←所有文章]
  • 机器人学院的研究人员
  • T61)
  • 问一个问题.

T0 C++ 库和T1 Python 绑定 所有AgileX移动平台的统一接口在500 kbps的CAN 2.0B.

图书馆: T2 字符串: T3 界面: CAN 2.0B @ 500 kbps GitHub: agilexrobotics/ugv_sdk

C++ Python CAN 总线 ROS2 所有平台

1 概述

gv_sdk**是AgileX机器人开源C++库,通过CAN巴士为所有AgileX移动平台提供统一的软件接口.而不是平台特定的驱动程序,ugv_sdk将底层CAN协议抽象成一致的API.

图书馆支持两个协议版本: 协议 V1 (遗产) 和 协议 V2 (当前).从2021年开始生产的所有平台都使用协议 V2. 协议 V1 支持保留了与旧的童工,童工迷你,猎人 1.0 和克单元的后退兼容性.

对于Python用户来说, pyagxrobots包通过 pip为ugv_sdk提供Python绑定,允许快速原型制作和与Python中写的导航堆进行集成,而不会直接编译C++库.

** 一个SDK,所有平台.** ugv_sdk是所有AgileX ROS2包 (T4,T5,T6,T7等) 共享的单个依赖性. 装一次,所有平台特定的ROS2驱动程序将自动找到它.

2. 支持的平台

下面的表显示了每个AgileX平台的协议版本支持,可用接口和当前支持状态.

Robot Protocol V1 Protocol V2 UART CAN Status
Scout 2.0 Y Y N Y Active
Scout Mini (Skid) Y Y Y Active
Scout Mini (Omni) Y Y Y Active
Hunter 1.0 Y Y Y Active
Hunter 2.0 Y Y Active
Bunker Y Y Y Active
Tracer Y N Y Active
Ranger Mini 2.0 Y Y Active
Ranger Mini 3.0 Y Y Active
Ranger Y Y Active

** 协议V2是推的所有新开发.** 协议V1支持存在于旧硬件.如果您的平台使用协议V2 (从2021年开始的所有单元),请不要启用V1 ,这可能会导致新固件的意外行为.

3 装机

语言库

从源头构建和安装ugv_sdk. 库需要CMake 3.10+,C++14兼容的编译器和SocketCAN开发头 (T8在Ubuntu上).

设置依赖性 (Ubuntu 20.04 / 22.04) 软件安装构建必需的Cmake libsocketcan-dev

染库 T74 单机组件:

建立和安装 制 .. &&制 -j4 sudo 实现安装

安装后,头条可以在T9和图书馆在T10上找到. 在 CMakeLists.txt 中链接到T11.

鱼绑定 (pyagxrobots)

对于 Python 工作流程,通过 pip 安装官方 Python 绑定.不需要 C++ 编译.

试机安装pyagxrobots

Python 绑定需要一个工作的 CAN 接口. T12 与硬件通信在 C++ 库的同一个 SocketCAN 接口上. 在调用任何 pyagxrobots API 之前,确保 T13 已经完成.

4. CAN 公共汽车设置

所有AgileX平台都使用CAN 2.0B以500 kbps.您需要一个GS_USB兼容的USB-to-CAN适配器 (例如,CANable,Waveshare USB-CAN-A).在运行下面的命令之前将其连接到机器人的CAN端口.

提现了CAN接口

装载GS_USB内核模块 试验器

子500千兆/秒 sudo ip链接设置可以0 up类型可以500000bitrate

检查接口正常运行 链接显示可以0

选项:用于诊断的原始CAN框架放弃

连续启动

每个平台的ROS2包都会发送两个自动处理持久性的脚本:

运行一次后的硬件连接配置适配器 设置

在启动任何ROS2节点之前,运行每次接下来的启动 们可以们.

两个脚本都位于平台特定的ROS2包的T14目录中 (例如,T15).

提示:如果您希望CAN接口自动上启动,而不需要手动运行脚本,请将其添加到您的~/.bashrc或系统d服务.

议定书详细信息

Parameter Value
CAN standard CAN 2.0B (extended frame support)
Bitrate 500 kbps
Byte order Motorola (big-endian)
Timeout protection 500 ms — platform stops if no command received
Minimum command rate 10 Hz (recommended: 20–50 Hz)
Protocol versions V1 (legacy), V2 (current, all 2021+ units)

500ms安全时间. 如果控制节点崩或停滞超过500ms,机器人会自动停止.这是故意的.设计控制循环以以至少10Hz发送命令.用于远程操作,建议50Hz进行流动运动.

6. ROS2 使用

所有AgileX平台都遵循相同的ROS2发射模式. 取代T16用平台名称:T17,T18,T19,T20,T21,或T22.

安装平台的ROS2包

用平台取代"侦察" 其他类型: T75 其他类型 系统安装--from-paths src --ignore-src - r - y 编译链接 源安装/设置.bash

发射基地驱动器

首先提起CAN接口 (如果已经没有提起) 鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/鱼/

启动机器人基地驱动器 导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航导航

在第二个终端中 键盘遥控操作 运行电话_twist_键盘电话_twist_keyboard

速度命令主题

所有平台都会订阅T23 (类型:T24) 并在T25上发布自测量和T26上发布机器人状态.所有平台上的主题名称和消息类型均一致.

启动驱动器后检查可用的主题 专题列表

发送手动速度命令 (0.3 m/s 前进, 0 角) 子 "{线性: {x: 0.3, y: 0.0, z: 0.0},角性: {x: 0.0, y: 0.0, z: 0.0}}"

**nav2兼容.**所有AgileX平台ROS2包都与ROS2 nav2导航堆兼容.

7. 模拟

敏捷X为所有UGV平台提供了统一的Gazbo模拟包,在 ugv_gazebo_sim 模拟使用与实际硬件相同的ROS2主题界面,因此模拟中开发的代码无需修改地转移到物理机器人.

模的模拟包 其他类型: T76 编辑器:Cd_ros2 源安装/设置.bash

启动SCOUT 2.0在加塞博 (用平台取代"侦察") 发射探险员 描述探险员 gazebo.launch.py

8 关键链接

Resource URL
ugv_sdk GitHub github.com/agilexrobotics/ugv_sdk
Gazebo Simulation github.com/agilexrobotics/ugv_gazebo_sim
Python binding pypi.org/project/pyagxrobots
AgileX GitHub org github.com/agilexrobotics (87 repos)
AgileX website www.agilex.ai
Technical support support@agilex.ai

所有AgileX平台浏览 AgileX平台中心 查看包括SCOUT,RANGER,BUNKER, TRACER,LIMO和Piper的产品页面.

有任何问题吗 问社区联系支持 关于您的平台模型和输出的T30.