【ROS】ROS1导航(了解)

1、简述

ROS1导航模块navigation,它从里程计、传感器流和目标姿势中获取信息,并将速度、角速度控制命令发送至差速控制单元。

因为是ROS1,所以下面的内容只是一带而过,没有深入学习总结。详细内容可参考官网:http://wiki.ros.org/navigation

2、硬件要求

1)仅适用于差动驱动机器人,原因是navigation向控制单元发送的命令形式为:x 速度、y 速度、theta 速度;
2)需要在底盘上配置激光扫描传感器,用于地图构建和定位;
3)机器人本身的形状要规则,比如为方形或者圆形

3、框架

【ROS】ROS1导航(了解)_第1张图片
导航模块navigation的组件(功能包)框架:

白色组件是ROS已经实现的必需组件;
灰色组件是ROS已经实现的可选组件
蓝色组件需要自己来实现的必须组件。

4、功能包介绍

1)sensor transforms:坐标转换,机器人使用tf发布有关坐标系之间的关系
2)sensor sources:依靠传感器信息来避开障碍物,通过 ROS发布sensor_msgs/LaserScan或sensor_msgs/PointCloud消息来获取
3)odometry source:通过里程计来计算所处的位置
4)base controller:发送控制电机的速度命令,相关话题“cmd_vel”的结构为cmd_vel.linear.x, cmd_vel.linear.y, cmd_vel.angular.z
5)map_server:地图服务,没有地图也能运行,机器人可以边走边建图
6)

5、安装

在Ubuntu20.04上安装为例

sudo apt install ros-noetic-navigation

6、名词解释

Goal:目标,从A点出发,自主导航到B点;
AMCL:定位,输入是激光来获取位置,或者通过(里程计)编码器积分来获取位置
Path Planner:路径规划,比如SLAM,
move_base:全局规划和本地规划,一边走、一边避障
/cmd_vel + /odom:发送运动控制指令
Base Controller:地盘控制电机
Motor Speeds:电机运动
map_server:地图功能包,非必须,如果没有,认为是空地图

7、官网

http://wiki.ros.org/navigation
http://wiki.ros.org/move_base

【ROS】ROS1导航(了解)_第2张图片
【ROS】ROS1导航(了解)_第3张图片

你可能感兴趣的:(ROS,ROS)