一、ros导航的关键技术
1.全局地图
全局地图的实现,通常使用slam建图也称为(CML)的方式,即即时定位和地图构建、并发建图和定位。具体的slam建图的方法gmapping、hector_slam、cartographer、rgbdslam、ORB_SLAM ....。并且slam建图必须还要依靠自身的激光雷达或者摄像头。当然建好的地图保存需要使用到map_server这个包。
2.自身定位
自身定位,通常需要使用GPS,但是GPS并不使用与室内信号较弱的地方,比如地下、隧道、室内以及一些屏蔽GPS信号的地方。这时可以利用slam进行自身定位,除此之外,还有AMCL算法,ros还兼顾amcl包
3.路径规划
全局规划通常运用A*算法和Dijskstra算法计算最优路线,作为全局路线。局部规划算法通常是机器人为避免在路径中出现的障碍而诞生的一种算法,通常是dynamic window approach,被称为动态窗口算法
4.运动控制
5.环境感知
环境感知通常依赖于激光雷达,摄像头,编码器,激光雷达、摄像头可以感知外界环境的深度信息,编码器可以感知机器人电机的转速信息,进而可以获取速度信息并生成里程计信息。
机器人导航和无人驾驶类似,关键技术也是由上述5点组成,只不过机器人导航是基于室内的,无人驾驶基于室外的。所以环境感知层面会出现区别。