第二章:Bobac 机器人结构与硬件参数¶

2.1 Bobac 机器人整体介绍¶

Bobac 机器人是一款面向办公室场景的移动操作机器人,主要由三大部分组成:bobacX 底盘 、 睿尔曼 ECO65B 机械臂 以及 乐白夹爪

2.1.1 机器人组成¶

bobac_full

Bobac 机器人主要由以下部分组成:

graph LR
subgraph Bobac机器人
    subgraph 底盘[BobacX 全向轮底盘]
        direction TB
        U[上位机
] <-- Modbus-RTU --> L[下位机
] U --> S1[自动对焦摄像头] U --> S3[深度相机] U --> S7[快门相机] U --> S8[后置激光雷达] U --> S9[前置激光雷达] L --> S2[温湿度传感器] L --> S4[烟雾传感器] L --> S5[超声波雷达1] L --> S6[超声波雷达2] L --> D3[全向轮驱动器] end Arm[eco65B 机械臂] Gripper[乐白夹爪] end 底盘 <-- 上位机网口直连 --> Arm Arm -- IO串口+RS485 --> Gripper

2.1.2 机器人规格参数¶

参数项 规格
整机尺寸 长 × 宽 × 高:377mm377mm798mm
续航时间 约 6-8 小时(标准工况)
工作电压 约 6-8 小时(标准工况)
最大负载 底盘:50kg,机械臂:2kg
工作环境 室内平整地面,温度 0-40℃
电池+充电器 输入电压:25.4V
输出电压:21.6-25.2V;
电池容量:5200mAh,持续电流:20A。
自动充电桩 输入电压:25.4V;
充电电流:2A;
自动充电引导方式:二维码
机器人最大速度 线速度0.6m/s,角速度 0.8rad/s;
直流伺服电机 编码器线数:500线;减速比:27:1 (行星减速齿轮);
额定扭矩:1.3Nm;额定转速:230r/min;功率:30W,供电电压:DC 24V,空载电流:130ma。

2.1.3 系统版本 + 硬件接口配置¶

参数项 规格
系统版本 ubuntu 20.04
ROS 版本 noetic
上位机硬件配置 CPU:i5
内存:4G
硬盘:120G固态硬盘
接口:RS2325,RS4851,网口2,支持wifi,USB3.04,USB2.0*4。
上下位机通讯接口 RS232

2.2 移动底盘系统¶

Bobac 机器人搭载三轮全向轮驱动底盘,采用经典 120° 等边三角布局,具备全向移动能力,运动灵活、结构紧凑,适配室内竞赛、精准作业、复杂环境避障等场景。

img

2.2.1 底盘整体布局与运动特性¶

  • 结构布局:

   三个标准全向轮呈120° 等边三角形均匀布置在底盘底部,单轮安装方向与轮心径向夹角为 30°,三点支撑结构稳定性强。

  • 运动自由度:

   底盘具备平面三自由度运动能力,可实现 X 轴前后平移、Y 轴左右横移、绕中心 Z 轴原地旋转,无需额外转向机构,支持任意角度斜向移动,理论转弯半径为 0。

  • 驱动形式:

   三个全向轮分别由独立驱动电机控制,对比四轮麦克纳姆轮 / 全向轮方案,整体结构更简洁、机械故障率低、成本与维护难度更低。

2.2.2 关键参数¶

参数 数值 说明
轮距(wheel_base) 0.185m 左右驱动轮中心距离
车轮半径(wheel_radius) 0.1m 驱动轮半径
最大线速度 0.6m/s 直线运动最大速度
最大角速度 0.8rad/s 旋转最大角速度

2.2.3 全向轮结构与驱动原理¶

全向轮¶

   全向轮是实现底盘全向运动的核心执行部件,依靠特殊机械结构解除单一方向的运动限制。

img

全向轮主体分为主轮与横向从动小辊子两部分:

  • 主轮由驱动电机带动旋转,提供纵向驱动力,实现机器人前后行进;

  • 主轮外周均匀布置多组横向小辊子,辊子轴线与主轮轴线相互垂直,且可自由转动;

  • 当机器人产生横向、斜向运动趋势时,侧向受力会驱动小辊子滚动,消除侧向摩擦力,最终实现横移、斜走、原地旋转等全向动作。

   该结构摒弃了传统轮式底盘的转向舵机,仅通过电机转速配比即可完成所有运动姿态切换。

2.2.4 底盘坐标系定义¶

   本机器人底盘统一采用 ROS 标准右手坐标系(base_link),是运动学建模、导航、传感器数据解算的统一基准。

img
  • 坐标系规则说明:
    • 坐标原点:底盘几何中心;
    • X 轴:指向机器人正前方;
    • Y 轴:指向机器人左侧;
    • Z 轴:垂直底盘平面竖直向上;
    • 旋转方向:绕 Z 轴逆时针旋转定义为角速度正方向。

2.2.5 三轮全向轮运动学模型¶

   结合底盘 120° 等边三轮布局,建立正运动学模型与逆运动学模型。其中:

  • 逆运动学:上位机下发整机运动指令 → 解算各车轮目标转速(机器人控制核心);

  • 正运动学:采集各车轮实际转速 → 解算机器人当前运动状态(速度闭环、位姿反馈)。

2.2.5.1 基础符号约定¶

   结合本机硬件参数,统一建模符号:

符号 含义 本机参数值
$r$ 全向轮有效半径 r=0.1 m
$R$ 底盘中心至单轮轴线回转半径 由布局几何换算得到
$ω_1$、$ω_2$、$ω_3$ 1/2/3 号车轮角速度(rad/s) 电机输出物理量
$V_x$​ 机器人 X 轴平移速度(m/s) 前进 / 后退速度
$V_y​$ 机器人 Y 轴平移速度(m/s) 左 / 右横移速度
$ω$ 机器人绕 Z 轴旋转角速度(rad/s) 原地旋转速度

   三轮角度分布:以 X 轴为基准,轮 1 夹角 0∘、轮 2 夹角 120∘、轮 3 夹角 240∘。

2.2.5.2 逆运动学模型(控制核心):¶

$$ \begin{cases} \omega_1 = \dfrac{V_x}{r} + \dfrac{R}{r}\omega \\ \omega_2 = -\dfrac{V_x}{2r} + \dfrac{\sqrt{3}V_y}{2r} + \dfrac{R}{r}\omega \\ \omega_3 = -\dfrac{V_x}{2r} - \dfrac{\sqrt{3}V_y}{2r} + \dfrac{R}{r}\omega \end{cases} $$

2.2.5.2 正运动学模型(状态反馈):¶

$$ \begin{cases} V_x = r\omega_1 - R\omega \\ V_y = \dfrac{r}{\sqrt{3}}\left(\omega_2 - \omega_3\right) \\ \omega = \dfrac{2r}{3R}\left(\omega_1 + \omega_2 + \omega_3\right) \end{cases} $$

2.2.4 底盘传感器、硬件配置位置、配置参数¶

imgimg
imgimg
参数项 规格
深度相机 彩色图像分辨率:1280x720,帧率:≥30fps;
深度图像分辨率:1280x1024,帧率:≥7fps;测量范围:8米。
二维激光雷达 测量范围:360°;测量距离:10000mm;角度分辨率:1°
自动对焦摄像头 分辨率:1920x1080(1280 x720);帧率:30fps;功能要求:支持自动对焦,内置麦克风
快门相机 辅助定位相机 最高帧率: 1280*720/30帧;支持全局快门;

|超声波传感器| 工作电源:5V
测量距离:750cm,分辨率:1cm,相应频率:15HZ,最大束角:60。 |温湿度传感器|温度精度:±0.8°;
温度测量范围:-10°~50°;
温度分辨率:0.1℃;
湿度精度:±3%RH;
湿度范围:0%RH-100%RH;
湿度分辨率:0.1%RH;
|

参考资料 : bobacX 使用说明书

2.3 机械臂系统¶

2.3.1 机械臂结构¶

Bobac 机器人配备 ECO65-B 6自由度机械臂,采用串联关节结构。

关节分布和尺寸说明¶

   ECO65-B机器人本体模仿人的手臂,共有6个旋转关节,每个关节表示1个自由度。如下图所示,机器人关节包括肩部(关节1),肩部(关节2),肘部(关节3),腕部(关节4),腕部(关节5)和腕部(关节6)。

img
工作空间¶

   ECO65-B运动范围,除去基座正上方和正下方的圆柱空间,工作范围为半径610mm的球体。选择机器人安装位置时,务必考虑机器人正上方和正下方的圆柱体空间,尽可能避免将工具移向圆柱体空间。另外,在实际应用中,关节1转动范围:±178°,关节2转动范围:-178°~ +135°,关节3转动范围:-160°~ +145°,关节4转动范围:±178°,关节5转动范围:±178°,关节6转动范围:±360°。

img

机器人可达空间示意图

2.3.2 关节运动范围¶

每个关节都有运动范围限制,防止机械干涉和损坏:

关节 下限(rad) 上限(rad) 下限(度) 上限(度) 范围(°) 最大角速度(°/s)
joint1 -3.11 3.11 -178° 178° 356° 180
joint2 -3.11 2.36 -178° 135° 313° 180
joint3 -2.79 2.53 -160° 145° 305° 225
joint4 -3.11 3.11 -178° 178° 356° 225
joint5 -3.11 3.11 -178° 178° 356° 225
joint6 -6.28 6.28 -360° 360° 720° 225

注意事项:

  • ⚠️ 控制时必须遵守关节限制,否则可能损坏机械臂
  • ⚠️ 接近限位时应降低速度,避免冲击
  • ⚠️ 某些关节角度组合可能导致奇异点,需要避免

2.3.3 MDH 参数(Denavit-Hartenberg)¶

MDH模型坐标系:

img

ECO65系列MDH参数(改进D-H参数)¶

关节编号(i) $a_{i-1}$(mm) $\alpha_{i-1}$(°) $d_i$(mm) $\theta_i / offset_i$(°)
1 0 0 162.5 0
2 -86 -90 0 -90
3 260 0 0 0
4 240 0 -58.88 90
5 0 90 110 0
6 0 -90 79.5 0

参数说明:

  • a:连杆长度(沿 X 轴)
  • α:连杆扭角(绕 X 轴旋转)
  • d:连杆偏移(沿 Z 轴)
  • θ:关节角度(绕 Z 轴旋转,变量)

说明: offset为机械零位与建模零位的偏差, 即模型角度 = 关节角度 + offset.

2.3.4 机械臂性能参数¶

参数 数值
自由度 6
构型 协作臂构型
关节制动器形式 1~6关节硬抱闸
工作半径/mm 610
有效负载/kg 5
自重/kg 7.8
重复定位精度 ±0.05mm
最大速度 180°/s(关节)
末端速度 1.0 m/s
通信接口 ROS2 Action
控制频率 100 Hz
TCP线速度/m/s ≤1.8
典型功率/W ≤150
峰值功率/W ≤900
安装角度 任意角度
材质 铝合金/ABS
材质 铝合金/ABS

参考资料:ECO65B系列参数

2.4 夹爪系统¶

乐白夹爪参数¶

参数 数值
夹爪类型 平行夹爪
重量 0.46kg
建议负载 3kg
行程 0-90mm
夹持力 10-35N
供电电源 24V (DC)
通讯协议 RS485
控制器 内置
自锁 否
IO 2 DI / 2 DO

乐白夹爪通讯协议¶

基本信息

参数 数值
供电 24V 供电
通讯接口 RS485
波特率 115200 8N1
协议 Modbus RTU
Modbus 地址 1

寄存器功能说明

   乐白夹爪自带下位机,因此,我们直接控制下位机的指定寄存器,就能控制夹爪电机,进而控制夹爪的开合,下面是具体的寄存器地址以及可使用的参数:

寄存器地址 功能说明 参数有效范围
40000(0x9C40) 夹爪幅度控制(可写) 0-100
40001(0x9C41) 夹爪力度控制(可写) 0-100
40005(0x9C45) 夹爪当前位置(可读) 0-100
40006(0x9C46) 夹爪当前力矩(可读) 0-100
40007(0x9C47) 指令是否执行完(可读) 1指令执行完成
0 执行中
40008(0x9C48) 找行程指令(可写) 1
40009 (0x9C49) 夹爪未找行程(可读) 1未找行程
0 找行程完成
40010 (0x9C4A) 设置夹爪开合速度(读写) 0-100
40011(0x9C4B) 保存夹爪开合速度,断电保留(读写) 0-100
40090 (0x9C9A) 关闭自动找行程指令(可写) 1关闭
2关闭自动找行程且断电保存
3 恢复自动找行程且断电保存

40091 (0x9C9B) 设置夹爪地址 1-10000

   具体的单片机控制类原理,不在此解释,可以自行了解

2.6 坐标系统¶

   坐标系统是由上面的机器人的三个模块组成起来的完整机器人的具体某个部分的坐标系集合,通过这个坐标系统,我们就能通过位置 偏移矩阵 以及 转换矩阵 来找到 机器人上任何一个部件相对于指定部件 或是 机器人在地图上 的位置姿态信息,这对于我们后面控制 机械臂进行精准的抓取操作 以及 机器人的底盘导航 具有绝对性质的作用,如果坐标系统错误,就根本做不到精确的控制

2.6.1 坐标系层次结构¶

graph TD
    %% 关键样式:确保文字为黑色,并添加灰色边框以增强可读性
    classDef root fill:#e6f7ff,stroke:#666,color:black;
    classDef chassis fill:#f0f2f5,stroke:#666,color:black;
    classDef arm fill:#fef0f0,stroke:#666,color:black;
    classDef gripper fill:#fcffe6,stroke:#666,color:black;

    %% 顶层坐标系 (居中)
    map["map (地图坐标系)"]:::root --> odom["odom (里程计坐标系)"]:::root
    odom --> base_link["base_link (底盘基坐标系)"]:::chassis

    %% 底盘传感器与轮子 (在 base_link 下方展开)
    base_link -->|front_lidar_joint| front_lidar["front_lidar_link (前雷达)"]:::chassis
    base_link -->|rear_lidar_joint| rear_lidar["rear_lidar_link (后雷达)"]:::chassis
    base_link -->|left_wheel_joint| left_wheel["left_wheel_link (左轮)"]:::chassis
    base_link -->|right_wheel_joint| right_wheel["right_wheel_link (右轮)"]:::chassis
    base_link -->|front_wheel_joint| front_wheel["front_wheel_link (前轮)"]:::chassis

    %% 机械臂 (从 base_link 向右水平展开)
    base_link -->|arm_base_joint| arm_base["arm_base_link (机械臂基座)"]:::arm
    arm_base -->|joint_1| link_1["link_1"]:::arm
    link_1 -->|joint_2| link_2["link_2"]:::arm
    link_2 -->|joint_3| link_3["link_3"]:::arm
    link_3 -->|joint_4| link_4["link_4"]:::arm
    link_4 -->|joint_5| link_5["link_5"]:::arm
    link_5 -->|joint_6| link_6["link_6 (机械臂末端)"]:::arm

    %% 夹爪与相机 (在机械臂末端下方展开)
    link_6 -->|gripper_base_joint| gripper_base["gripper_base_link (夹爪基座)"]:::gripper
    gripper_base -->|arm_camera_joint| arm_camera["arm_camera (末端相机)"]:::gripper

    %% 左侧夹爪关节
    gripper_base -->|gripper_l_joint1| gripper_l1["gripper_l_link1"]:::gripper
    gripper_l1 -->|gripper_l_joint2| gripper_l2["gripper_l_link2"]:::gripper
    gripper_l1 -->|gripper_l_joint_finger| gripper_lf["gripper_l_finger"]:::gripper

    %% 右侧夹爪关节
    gripper_base -->|gripper_r_joint1| gripper_r1["gripper_r_link1"]:::gripper
    gripper_r1 -->|gripper_r_joint2| gripper_r2["gripper_r_link2"]:::gripper
    gripper_r1 -->|gripper_r_joint_finger| gripper_rf["gripper_r_finger"]:::gripper

2.6.2 主要坐标系说明¶

坐标系 说明
map 全局地图坐标系,固定不动
odom 里程计坐标系,随机器人的移动而移动(但会受打滑影响,导致定位飘逸)
base_link 机器人本体坐标系
laser_link 激光雷达坐标系
base_link_arm 机械臂基座坐标系
link_1 ~ link_6 机械臂各连杆坐标系
gripper_link 夹爪坐标系
arm_camera_link 相机坐标系

2.8 本章小结¶

本章详细介绍了 Bobac 机器人的硬件结构和参数,包括:

关键要点:

  1. 移动底盘:三轮全向驱动,轮距 0.185m,轮半径 0.1m
  2. 机械臂:6自由度串联机械臂,工作半径 0.61m,负载 5kg
  3. 传感器:激光雷达(360°)、深度相机(双目)等
  4. MDH 参数:描述机械臂运动学的改进DH参数
  5. 坐标系:从 map 到末端执行器的完整 TF 树

这些硬件参数是后续在 Isaac Sim 中构建仿真模型的基础,必须准确配置才能保证仿真的真实性。