去除部分冗余代码,更新 README
This commit is contained in:
18
README.md
18
README.md
@@ -21,10 +21,6 @@
|
||||
- MVSDK (工业相机 SDK)
|
||||
- 待补充...
|
||||
|
||||
## 目标
|
||||
|
||||
感谢同济 SuperPower 战队!自瞄算法参考同济的 sp_vision_26 。
|
||||
|
||||
## 软件架构
|
||||
|
||||
ROS2 基本架构为节点。以每个节点的发布、解析、接收数据为例说明。
|
||||
@@ -49,9 +45,9 @@ ROS2 基本架构为节点。以每个节点的发布、解析、接收数据为
|
||||
### IMU 收发节点
|
||||
|
||||
- 功能:IMU 与主机通信的封装节点。物理上读取 IMU(DETA10)数据
|
||||
- 连接:IMU_CP210x,协商 UART 通信速率 921600,`/dev/ttyUSB1`
|
||||
- 连接:IMU_CP210x,协商 UART 通信速率 921600,`/dev/ttyIMU`
|
||||
- 接收:IMU_CP210x -> 六轴加速度、陀螺仪数据
|
||||
- 发布:IMU 数据(地磁角、六轴角加速度、加速度、陀螺仪)
|
||||
- 发布:IMU 数据(加速度、陀螺仪)
|
||||
|
||||
### 中央节点
|
||||
|
||||
@@ -84,6 +80,14 @@ stateDiagram-v2
|
||||
### 导航节点
|
||||
|
||||
- 功能:根据 IMU 数据计算出当前位置,根据状态决定目标位置并发出移动到该位置所需的指令
|
||||
- 接收:收发节点 -> IMU.地磁角, IMU.速度, IMU.加速度, IMU.六轴陀螺仪
|
||||
- 接收:收发节点 -> IMU.加速度, IMU.六轴陀螺仪(AHRS)
|
||||
中央节点 -> 状态
|
||||
- 发布:导航运动指令
|
||||
|
||||
考虑到 IMU 的实际情况,导航建模思路如下:
|
||||
- 地图范围:一个 $8 \times 12 m$ 的矩形,机器人运动的范围。以左下角为坐标原点 $(0,0)$,地图对角为 $(12,8)$,坐标单位为米。
|
||||
- 障碍区:不可跨越,不可侵入,由地图中两个矩形组成,第一个矩形的两个角点为 $(2.5,1.5) ~ (4.5,8)$,第二个为 $(7.5,0) ~ (9.5,6.5)$。
|
||||
- 基地:同样为场地中角点描述的矩形,我方基地为 $(0,6) ~ (1.5,8)$。
|
||||
- 增益点:同样为场地中角点描述的矩形,范围为 $(4.5,2.5) ~ (7.5,5.5)$.
|
||||
- 机器人:视为一直径 $0.75 m$ 的圆,圆心位置为 IMU 安装位置。开始时,圆心位于 $(1.235,6.265)$。
|
||||
- 机器人的朝向和位置计算:IMU 安装于机器人圆心,开始时,IMU X 轴正方向(机器人朝向)与场地 Y 轴负方向相同,Y 轴正方向与场地 X 轴负方向相同,IMU Z 轴则朝向地面。当机器人朝向发生改变时,IMU 轴系的朝向也会相应发生改变,因此需要结合陀螺仪数据才能正确反向解算加速度计带来的加速度信息,从而完成惯性导航。IMU 安装并不完全平整,且机器人运动有颠簸,因此需要将 Z 轴数据结合解算出在二维平面上的加速度和位移。
|
||||
Reference in New Issue
Block a user