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"/>
  • 相关阅读:
    [HAOI2009] 毛毛虫
    [NOI2015]品酒大会
    SDOI2016 生成魔咒
    [POJ2406]字符串的幂
    [SPOJ705]不同的子串
    快速幂和矩阵快速幂
    对于最近的一些日常总结by520(17.10.18)
    思维训练
    趣味性的高智商(贼有意思)的题(坑)
    C++手动开O2优化
  • 原文地址:https://www.cnblogs.com/vtas-Yao/p/12825803.html
Copyright © 2011-2022 走看看