小豆包的学习之旅:开发记录

声明:软件截图为个人所有,严禁用于商业目的和其他盈利行为。

云台控制和激光点云获取软件

第一阶段:三维点云采集可视化

第二阶段:MoblieSim仿真数据接入,sim_lms1xx_1激光。Gmapping建图实现效果图,感觉效果一般,估计有的参数还是要调整一下。

进一步工作:
(1)当前真实轨迹,当前pose;<Done>
(2)目前建图过程延迟很厉害,因为加入队列的数据RangeReading数目太多,需要进行控制;
  思路:减速增加队列中的无效数据(不进行扫描匹配);机器人处于停止状态不读取激光数据;时间间隔控制;
(3)图的大小不是实际的坐标值,需要对应上;<Done>
(4)ArServerModelGoto中的速度控制模式,控制运行到位置;<Done>

 

  

第三阶段:鼠标控制初步(没有局部避障和路径规划)

今天在机器人上真实环境测试了一下,首先鼠标控制和运动到位置的服务都是可用的。问题:运动过程中老是撞到障碍,有室内太拥挤的原因,因此急需增加局部避障功能。

同时考虑是不是机器人里程计提供的位姿飘的太厉害了,我看着地图控制怎么会撞呢?

机器人启动之后即产生位姿(世界,机器人原点),当开始建图时的机器人位姿(相对于机器人原点)已经不为0。但是建图用的地图原点产生了一个新的坐标系。

第四阶段:实现了VFF局部避障算法(Done 2017/6/6

第五阶段:边界探索 (初步完成,很多问题 2017/6/8

  完成一个简单版本的自主探索,目前还有很多问题:

1.根据True Pose进行运算而非里程计 (Done)
2.控制根据True Pose相对方向运动 (Done,思考该方法是有问题的!)
3.自主探索开口点提取的太粗糙,需要精化 (未完成)

  TruoPose图片

实际环境测试,出现问题:像木马一样震颤(2017/6/20)

可能原因:
(1)VFF算法局部避障需要延时,建议值1s (Done)
(2)激光的5m范围内存在过小的值,无效值1mm (Done)
(3)服务器端需要增加配置文件,控制激光不连接 (Done)
(4)按钮实现的速度控制需要限制前进速度
(5)优化服务端,尤其是旋转的速度要控制的低速旋转(Done,目前+-15度以内速度不控制,以外按照Heading方向10度间隔旋转)
反馈:
修改了(1)(2)(3)之后,实际环境中鼠标算是可以控制了。

 第六阶段:服务优化,算法优化

   (1)t1完成扫描匹配,得到真实位姿T1,用t1时刻的真实位姿和里程计来更新t2,t3,...,t10时刻的里程计。则t10时刻有,T10=T1Odom11(Odom10)

  (2)服务器端的旋转都按照Heading方向相对运动,因为里程计偏差太大。根据TruePose计算的Map坐标系下的目标方向,和Odometry中相差太大。

  (1)(2)两点都归结为相对运行,相对于机器人前一时刻的Heading进行旋转。

 

2017/6/26室外测试,没有问题,只是走廊地板的摩擦力好大,旋转不流畅,阻力很大!

2017/8/4修改:旋转角度很大时,采用匀速旋转;角度比较小时则采用旋转到角度。

视频地址:

http://v.youku.com/v_show/id_XMjk1MDg3MDg2MA==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2

posted @   太一吾鱼水  阅读(831)  评论(5编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2014-04-29 关于蓄积量估计
2014-04-29 [转载]ArcGIS Engine 中的多线程使用
点击右上角即可分享
微信分享提示