zoukankan      html  css  js  c++  java
  • ROS 导航设计随笔

    1  tf变换

     <node pkg="tf" type="static_transform_publisher" name="map_odom_broadcaster" args="0 0 0 0 0 0 /map /odom 100" />

    作用:设置一个/odom与/map之间的静态坐标变换,前六个参数分别是xyz和rpy,100代表100ms刷新一次.

    2  view_frames

    view_frames是可视化的调试工具,可以生成pdf调试信息,来显示整颗tf树的信息.

    命令执行方式:

    rosrun tf view_frames
    evince frames.pdf

     参考:https://www.guyuehome.com/279

    3  机器人的(位姿)位置和姿态

      ROS中定义了MoveBaseActionGoal数据结构来存储导航的目标位置数据,其中最重要的就是位置坐标(position)和方向(orientation)

    rosmsg show MoveBaseActionGoal  
      
    [move_base_msgs/MoveBaseActionGoal]:  
    std_msgs/Header header  
      uint32 seq  
      time stamp  
      string frame_id  
    actionlib_msgs/GoalID goal_id  
      time stamp  
      string id  
    move_base_msgs/MoveBaseGoal goal  
      geometry_msgs/PoseStamped target_pose  
        std_msgs/Header header  
          uint32 seq  
          time stamp  
          string frame_id  
        geometry_msgs/Pose pose  
          geometry_msgs/Point position  
            float64 x  
            float64 y  
            float64 z  
          geometry_msgs/Quaternion orientation  
            float64 x  
            float64 y  
            float64 z  
            float64 w

    其中position中的x,y,z分别代表机器人的位置坐标, oriention中的x,y,z,w是四元数,用来描述角度角度转换关系见下图.

           四元数和欧拉角和rpy(https://www.cnblogs.com/21207-ihome/p/6894128.html)

      其中K = (kx,ky,kz)为旋转轴的方向向量

    4  模型上下摆动问题

      在运行导航文件 nav_cloister_demo.launch的时候, 发现模型在rviz中上下摆动, 观察坐标系发现是odom坐标系不在地图表面,而是在地图的下面,所以tf每发布一次/odom和/map之间的坐标变换就导致轮椅上下摆动一次.

      接下来就是漫长的排除之路,最后排除发现是amcl的问题,然后对比古月的代码发现并没有不同的,最后查阅参数发现 ~base_frame_id 没有配置,他的默认值是base_link,而我的模型应该是base_footprint,所以加入以下就可以解决了

    <param name="base_frame_id" value="base_footprint"/>
  • 相关阅读:
    软考之操作系统
    牛腩javascript(二)之正则表达式
    牛腩javascript(一)
    软考之算法
    软考之数据结构
    软考之路之刷屏开始
    XML中的几种比较
    北大青鸟ASP.NET之总结篇
    Webassembly 学习2 -- Js 与C 数据交互
    nginx-proxy_redirect
  • 原文地址:https://www.cnblogs.com/vtas-Yao/p/12825803.html
Copyright © 2011-2022 走看看