navigation
introduction
YeeKal
•
•
"#navigation"
- mapping
- gmapping
- location
- planning
- A*:
- D*: dynamic planning
ros navigation
三个常用规划包:
- move_base:根据参照的消息进行路径规划,使移动机器人到达指定的位置;
- gmapping:根据激光数据(或者深度数据模拟的激光数据)建立地图;
- amcl:根据已经有的地图进行定位。
消息:
- /cmd_vel: move_base发布的移动命令/移动车接受的命令
- /move_base/goal
- /odom: 里程计信息
- /scan:
move_base
- navigation goal: 通过 MoveBaseAction , MoveBaseGoal等实现,MoveBaseGoal封装了目标pose数据,客服端程序将MoveBaseGoal类型数据发送给MoveBaseAction服务端启动导航过程。
- global planner: 全局规划器 利用地图与规划算法规划一条从当前位置到目标位置的最优路径。
- local planner: 可以利用传感器数据识别不在地图中障碍物信息,如果本地规划行不通,会请求重新进行全局规划。
查看tf关系:
- 使用rqt_tf_tree: rosrun rqt_tf_tree rqt_tf_tree
- 使用tf_echo: rosrun tf tf_echo [parent_frame_id] [child_frame_id]
mbf: Move Base Flex A Highly Flexible Navigation Framework for Mobile Robots
map
- 地图种类
- Occupancy Grid Map: 占据栅格地图
- 建图算法
- Gmapping
- HectorSlAM
- Karto
- Cartographer
ref
- ros navigation
- cmd_vel to wheel speed
- 用ROS开发自己的机器人
- 机器人学习笔记-知乎
- ASL: Autonomous Syatem Lab
- MRPT:
- move base tutorial: robot_navigation