diff --git a/Image/2024-04-01/UWBFusion.png b/Image/2024-04-01/UWBFusion.png new file mode 100644 index 0000000..f31ea9a Binary files /dev/null and b/Image/2024-04-01/UWBFusion.png differ diff --git a/开发日志.md b/开发日志.md new file mode 100644 index 0000000..3b1b5de --- /dev/null +++ b/开发日志.md @@ -0,0 +1,80 @@ +# 2024-04-28 + +##### 1.已有功能 + +- UWB融合IMU、ODOM定位。 +- 双目测距、目标检测 +- 全覆盖路径规划 +- 碰撞传感器、超声波传感器接入:可以考虑扩展三个超声波传感器,用于提高障碍物分辨率 +- 基于双目、碰撞、超声波的避障+全覆盖:目前割草机器人的避障识别能力需要进一步优化 +- 手持标签划定范围:用户预先划定机器人的割草范围 +- USB-HID通信:利用USB-HID通信,可以精确确定USB设备并开启,提高设备的稳定性和扩展性。 + +##### 2. 需开发功能 + +- 草坪和非草坪识别功能:通过摄像头识别草坪与非草坪,决定是否开启割草马达 +- 基于语义分割的环境建图 :根据语义分割功能,创建语义地图,识别草坪的实际边界和障碍物,建立语义地图 +- UWB融合定位自动对准:自动对齐IMU和UWB的坐标系 +- UWB杆位置初始化:机器人运动一段时间后,估计出UWB标杆的位置,省去手动输入坐标位置的问题 +- APP控制机器人操作,省去命令行控制机器人 +- 自动回充 + +##### 3.当前问题 + +# 2024-04-01 + +#### 1.当前状态: + +​ 目前融合定位和摄像头检测避障程序都有初步DEMO,联合运行存在问题。 + +#### 2.摄像头避障问题 + +​ 目前摄像头避障存在不及时的问题,已经检测到目标障碍物了,但是会撞到障碍物。原因:全覆盖地图和摄像头避障回调是两个单独的线程。当摄像头检测到避障后,回调函数设置障碍标志位。但是此时全覆盖的策略亦然在线程里面运行,还没有进入避障逻辑,已经撞到障碍物了。 + +```C++ +void sendNavigation(vector pos){ + for(p in pos){ + NavigationSet(pos); + sleep(0.1); + } +} + +void navigateExplorationPath(){ + if(flag == true){ + // 避开障碍物策略 + ... + } + // 发送导航目标 + sendNavigation(pos); +} + +void SteroCB(float dist){ + if(dist > 10 && dist < 60){ + flag = true; + } +} +``` + +​ 解决方案:2024/04/01实验确定了是全覆盖的策略导致的避障不及时问题。 需要额外增加合适的标志位打断原先的全覆盖逻辑,进入避障的逻辑 + +#### 3.UWB草坪测试问题 + +​ 在草坪环境里面跑UWB融合定位全覆盖,会出现异常情况。在下面箭头位置,全覆盖会失效错误。目前草坪UWB全覆盖有下面两个问题: + +​ 1、转弯处有额外的圈圈,怀疑是因为UWB放在车头导致转弯产生额外的偏移,引起全覆盖算法出现调整导致。 + +​ 2、全覆盖异常问题:运行一段时间后,全覆盖出现异常导航 + +​ ![f74ccf4edc58d341763b35346d6fc5b](./Image/2024-04-01/UWBFusion.png) + +​ 问题1解决方案:调整UWB基站的位置,放在两个轮子中间,重新设计银星机器人结构,减少摄像头遮挡。 + +​ 问题 2解决方案:全覆盖的log采用文件存储方式,在关键节点记录全覆盖的log并保存,在复现bug的时候,通过log回推代码逻辑。 + +#### 4.融合定位问题 + +​ 目前融合定位存在下面两个问题: + +​ 1.初始收敛慢,缺少初始阶段快速收敛 + +​ 2.缺少方向对准 \ No newline at end of file diff --git a/进度记录.md b/进度记录.md deleted file mode 100644 index c97d3fe..0000000 --- a/进度记录.md +++ /dev/null @@ -1,20 +0,0 @@ -### 进度记录 2024-04-28 - -##### 1.1.1 已有功能 - -- UWB融合IMU、ODOM定位。 -- 双目测距、目标检测 -- 全覆盖路径规划 -- 碰撞传感器、超声波传感器接入:可以考虑扩展三个超声波传感器,用于提高障碍物分辨率 -- 基于双目、碰撞、超声波的避障+全覆盖:目前割草机器人的避障识别能力需要进一步优化 -- 手持标签划定范围:用户预先划定机器人的割草范围 -- USB-HID通信:利用USB-HID通信,可以精确确定USB设备并开启,提高设备的稳定性和扩展性。 - -##### 1.1.2 需开发功能: - -- 草坪和非草坪识别功能:通过摄像头识别草坪与非草坪,决定是否开启割草马达 -- 基于语义分割的环境建图 :根据语义分割功能,创建语义地图,识别草坪的实际边界和障碍物,建立语义地图 -- UWB融合定位自动对准:自动对齐IMU和UWB的坐标系 -- UWB杆位置初始化:机器人运动一段时间后,估计出UWB标杆的位置,省去手动输入坐标位置的问题 -- APP控制机器人操作,省去命令行控制机器人 -- 自动回充 \ No newline at end of file