0


5.1补充 源码安装move_base和navigation

前言:

    前文给出了2进制安装2个包的方法,使用简单但不支持源码的查看和修改。此文给出源码安装方案。

一、源码安装navigation

https://gitee.com/liwuhaoooo/navigation.git

二、源码安装ros_cartographer

2.1参考:链接

2.2编译

    我用的nano,编译过程中多次出现卡死机的情况,并不算代码的问题,而是处理器内存不够。建议关闭图形化界面显示从而释放内存,用远程登录的方式编译源码。具体操作流程参考。

三、环境配置

3.1功能包的运行

    若电脑上已经安装了2进制的包,此时你在其他工作空间调用相关功能包,如rosrun move_base move_base,ros默认调用安装在/opt/ros/melodic/share目录下的包。若电脑上没有装2进制安装包,无法在其他工作空间调用源码安装的功能包。对此,一些博客给出的解决方案为修改.bashrc文件,但我修改后,并没有像预期的那样。我增加的路径如下
source /opt/ros/melodic/setup.bash 
 source ~/navigation/devel/setup.bash
 source ~/caizhai1.0/lidar/devel/setup.bash
 source ~/cartographer/install_isolated/setup.bash 

但 echo $ROS_PACKAGE_PATH后的结果如图

并没有把我增加的全部路径都成功加入PATH。一番挣扎后放弃。改为在对应的工作空间内运行各自的包。

cartographer相关:在/home/lwh-nav/cartographer/install_isolated/share/cartographer_ros路径下的launch和configuration_files文件夹内增改自己所需的文件。

navigation相关:在/home/lwh-nav/navigation/src/move_base路径下新建launch和config文件夹,增加自己所需的文件。

3.2功能包的调用

    若其他功能包需要调用源码安装的功能包,因为源码安装的功能包不在ros的默认路径,find_package无法找到相关功能包,需要自己用set设置寻找路径。样例如下:
set(amcl_DIR /home/lwh-nav/navigation/devel/share/amcl/cmake)
set(move_base_DIR /home/lwh-nav/navigation/devel/share/move_base/cmake)
find_package(catkin REQUIRED COMPONENTS
  urdf
  xacro
  amcl
  map_server
  move_base
  roscpp
  rospy
  std_msgs
  tf2
  tf2_ros
  tf2_geometry_msgs
)
set(cartographer_DIR /home/lwh-nav/cartographer/install_isolated/share/cartographer)
find_package(cartographer REQUIRED)

4.总结

    应该有将源码安装的功能包加入ros默认路径的方法,但博主水平有限,暂时不会。欢迎大家指导交流。

本文转载自: https://blog.csdn.net/weixin_54424184/article/details/125232527
版权归原作者 CPU疼 所有, 如有侵权,请联系我们删除。

“5.1补充 源码安装move_base和navigation”的评论:

还没有评论