5.1补充 源码安装cartographer和navigation

本文介绍了如何通过源码方式安装ROS的navigation和ros_cartographer包,强调了源码安装的优势及编译时的内存问题。在环境配置中,由于默认路径问题导致功能包调用困难,作者尝试修改.bashrc文件未果,最终选择在每个工作空间内单独运行包。同时,文章提及了在功能包调用时需手动设置路径,并分享了相关代码示例。尽管未能找到将源码包加入ROS默认路径的方法,作者期待读者的交流和指导。
摘要由CSDN通过智能技术生成

前言:

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

一、源码安装navigation

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

二、源码安装ros_cartographer


sudo apt install stow

sudo apt install ninja-build

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)

若仍无法找到功能包,将move_base和cartographer的launch文件放到对应的功能包内去运行

 4.总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CPU疼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值