• 4.19-P3AT navigation with odom


    • 就算没有地图,不管怎么样,还是需要一个全局坐标系,我得告诉机器人他在哪儿
      • 在rosaria中添加相关代码,通过tf发出来
      • 先实现:读出机器人在全局坐标中的数据,并且我可以设置odom与zsworld_frame的关系
      • 设置坐标系之间的关系就是设置机器人的出生点啊!
      • 通过rosparam来设置全局坐标系与机器人里程计的关系~
      • 固定zsworld坐标系,使得机器人最后能够输出全局坐标,使用tf
    • 完成所有启动模块的参数编写,试着跑一下,不要怕!
    • 做一个fake_amcl,使得move_base能够知道自己的全局坐标
      • initialpose 需要从rosaria发送出来
      • 完善rviz显示
    • 改造move_base模块!
      • 重点还是在move_base的代码上!
      • 想初始化两个cost_map,有一张全局空地图作为全局坐标,但是不使用任何全局规划器,因为全局规划器在上位机上。
      • 或者说,叫做自己设计全局规划器插件,但是现在还没这个水平,就先把全局规划器给去掉吧。
    • 需解决问题
      • 为什么cost_map 不更新,障碍层地图不更新?
      • 做一个消息发布器,测试自己改造的move_base
      • 怎样单独调试cost_map节点呢?
      • 或者从头开始做?一点一点编码?
    • 做一个消息发布器
      • tf::poseTFToMsg();
      • frame_id
        • odom; base_link; bumpers_frame; sonar_frame; 
    • local planner 没有收到path plan!
      • 已经设置planner thread 不运行,当然收不到path plan
      • 实际上path plan 永远是局部的,就是下一个点
    • 能走,但是不能避障
      • 现有情况描述,给定坐标范围必须在1m以内,不然此坐标会被预处理代码给“修剪”掉
      • 终点检测功能误差较大,为0.1m,所以x为0.9的时候就会停下来
      • 最后没有纠正姿势(很可能是recovery behavior模块没有执行),也有可能是因为
      • yaw_goal_tolerance设置太大,为3.14
        • 查看local planner和recovery behaviors.的相关代码
        • 机器人是怎样实现避障的?
        • 可能的问题是:局部损失地图没有更新,导致局部规划器没有重新根据局部地图规划
        • 没有实现恢复行为,导致没有进入重新规划步骤。
    • 可能原因分析
      • 要么是避障功能没有激发:避障功能可能在recovery behavior 模块中,但是被我给注释掉了
      • 要么是本地地图没有正确配置:在RVIZ上没有看到地图正确更新
    • 我认为:局部规划器是有规划的,但是没有进行重新规划?
      • 老师认为,局部规划器根本就没有规划,我认为老师是对的。
    • 任务
      • 将全局坐标放到外边去
      • 理解规划器代码
  • 相关阅读:
    PyQt作品 – PingTester – 多点Ping测试工具
    关于和技术人员交流的一二三
    Pyjamas Python Javascript Compiler, Desktop Widget Set and RIA Web Framework
    Hybrid Qt applications with PySide and Django
    pyjamas build AJAX apps in Python (like Google did for Java)
    PyQt 维基百科,自由的百科全书
    InfoQ:请问为什么仍要选择Java来处理后端的工作?
    Eric+PyQt打造完美的Python集成开发环境
    python select module select method introduce
    GUI Programming with Python: QT Edition
  • 原文地址:https://www.cnblogs.com/lizhensheng/p/11117566.html
Copyright © 2020-2023  润新知