名称:ros-kinetic-navigation
安装:sudo apt-get install ros-kinetic-navigation
move_base_msg找不到是因为没有安装navigation的包sudo apt-get install ros-kinetic-navigation。ros提供navigation包实现自主导航,包含两个核心功能包,定位AMCL,运动规划move_base。AMCL可以单独使用,输入是IMU和激光雷达数据,前提是建好地图,输出就是地图中的位置。全局规划器用A*搜,局部规划器用trajectory rollout,dynamic window approaches的算法搜,局部规划器发布的是速度控制指令。这个包对接口有要求,输出的控制量是速度,要求能控制速度。有一个框架,需要仔细了解下.需要map,imu,激光雷达,里程计信息。move_base提供的接口是action接口,通过action实现路径规划.action使用的是服务器,客户端结构
名称:ros-kinetic-gmapping
与ros-kinetic-hector
安装:sudo apt-get install ros-kinetic-gmapping ros-kinetic-hector
二维SLAM库有gampping和hector,前者需要里程计和IMU,还有激光雷达信息.里程计的误差协方差矩阵可以使用默认的,或者精确建模的结果,后者只需要纯的激光雷达信息就可以建图,但是要求运动速度慢,精度不高.都需要把对应数据的topic名称改好。二维SLAM还有一个谷歌开源的cartographer,这个需要下载源代码安装.三维SLAM库有rgbslam,orb_slam。重点看下gmapping
名称:ros-kinetic-rosparam-handler
安装:sudo apt-get install ros-kinetic-rosparam-handler
转到catkin工作区的顶级目录,其中包含您要使用的ROS包的源代码。然后运行:
rosdep install --from-paths src --ignore-src -r -y
此命令可以神奇地安装catkin工作区中的软件包所依赖但在您的计算机上缺少的所有软件包。
单独为某个package安装其依赖
到其目录下,rosdep install AMAZING_PACKAGE
rosparam-handler可以看下https://github.com/cbandera/rosparam_handler
名称:ros-kinetic-smach
安装:sudo apt-get install ros-kinetic-smach
ros的smach是一个python包,有限状态机,需要额外安装,使用python语言写node,需要定义状态类,状态机,指定状态转移过程,状态之间还可以传递数据。还可以可视化状态转移过程,允许状态机嵌套和多状态并行