智能车|自主导航 ROS Navigation Stack 功能包 简介与编译

智能车|自主导航 ROS Navigation Stack 功能包 简介与编译

在这里插入图片描述

前言

ros功能包:Navigation
ros wiki:http://wiki.ros.org/navigation
github 地址:https://github.com/ros-planning/navigation

功能包简介
ROS Navigation Stack是ROS提供的一个二维的导航功能包集合,通过输入里程计、传感器信息和目标位姿,输出控制机器人到达目标状态的安全速度指令。

ROS Navigation Stack为移动机器人的导航规划提供了比较好的参考,通过实现功能包集合提供的接口,也可以比较容易地将自己的算法应用到移动机器人上。

在任何一个移动机器人上配置自主导航功能都是件复杂的事情
这个功能包的应用提前需要的条件有:

  • 移动机器人具备ROS环境
  • 具备TF坐标变换树
  • 正确的ROS消息格式的传感器数据
  • 需要配置功能包的一些参数例如机器人的尺寸、动力等

硬件需求
尽管 ROS Navigation Stack 设计的追求通信性,但是应用的时候,还是需要满足以下的三点要求:

  • 它仅适用于差速驱动和全息轮式机器人,它假设移动平台,可以通过发送速度控制(x速度,y速度,θ速度)指令来实现控制
  • 需要在移动平台安装二维激光雷达,这个激光雷达用于地图构建和定位
  • 功能包基于方形机器人开发,所以在接近方向或者圆形的机器人上表现的更好。在狭窄空间的,大尺寸矩形机器人则可能出问题

功能包下载与编译

下载指令

git clone https://github.com/ros-planning/navigation

下载完成后,将功能包复制到ros的本地工作空间下

在工作空间目录下,进行编译

catkin_make

在这里插入图片描述

CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by “tf2_sensor_msgs”
with any of the following names:
tf2_sensor_msgsConfig.cmake
tf2_sensor_msgs-config.cmake

出现这个报错时,是因为ros系统缺少tf2_sensor_msgs功能包,通过下面指令安装

sudo apt-get install ros-noetic-tf2-sensor-msgs

如果提示源有问题,那么需要进行下更新

sudo apt-get update

安装完成后提示如下:
在这里插入图片描述
然后再进行编译
就安装成功了
在这里插入图片描述

我装的环境不是一个0的环境,别的环境可能出其它问题。需要根据实际情况再进行解决。

猜你喜欢

转载自blog.csdn.net/qq_32761549/article/details/128527576