ROS noetic 安装编译Cartographer踩坑记录

本文涉及的产品
资源编排,不限时长
简介: ROS noetic 安装编译Cartographer踩坑记录

ROS noetic 安装编译Cartographer踩坑记录

安装编译工具

sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build

首先来说,python-rosdep已经被废弃了

2018122814580746.png

sudo apt-get install python3-rosdep

不过注意,noetic和python3-rosdep有冲突,所以,你在安装中有可能碰到把ros部分组建给卸掉的情况,这时你只能重装(挺快的)

sudo apt install ros-noetic-desktop-full

创建工作空间

mkdir -p ~/ROS_WS/cartographer
cd ~/ROS_WS/cartographer

用wstool拉源码

wstool init src
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall

编辑src目录下的.rosinstall

#鉴于github源码在国内访问较慢,可以使用国内码云仓库,在我的仓库中已经设置为公有
vim ./src/.rosinstall

将文件修改为如下内容:

- git:
    local-name: cartographer
    uri: https://gitee.com/moresweet/cartographer.git
    version: master
- git:
    local-name: cartographer_ros
    uri: https://gitee.com/moresweet/cartographer_ros.git
    version: master
- git:
    local-name: ceress-solver
    uri: https://gitee.com/moresweet/ceres-solver.git

2018122814580746.png

成功后会拉下来三套源码

2018122814580746.png

编译安装

rosdep update
rosdep install ——from-paths src ——ignore-src ——rosdistro=${ROS_DISTRO} -y

可能会出现问题

若rosdep update很慢报错,请参照

https://blog.csdn.net/leida_wt/article/details/115120940?spm=1001.2014.3001.5506

第二条可能会报错

ERROR: Rosdep cannot find all required resources to answer your query
Missing resource ——from-paths
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/opt/ros/noetic/share

这明显是–from-path参数不认识,猜测是python3-rosdep2有了变动,操作不一样了,并且报错是环境变量中的路径找不到,那么直接catkin_make(不需要编译成功,目的是出现devel目录,将此目录环境导入PATH中,当然也可以选择直接更改环境变量的方式)

catkin_make #不管成功与否,只是为了生成devel目录
source devel/setup.bash #这样本功能包的目录就在终端环境中了

此时再执行rosdep install ——from-paths src ——ignore-src ——rosdistro=${ROS_DISTRO} -y会发现

ERROR: Rosdep cannot find all required resources to answer your query
Missing resource ——from-paths
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/moresweet/ROS_WS/cartograher/src
ROS path [2]=/opt/ros/noetic/share

多了一行

2018122814580746.png

我们直接用rosdep在src中安装就可以了

cd src
rosdep install cartographer

一步一步的按y点回车就好了

安装cartographer的依赖(记住这个地方,后面编译出错,可以会来看看是不是确实的东西,这里有,有就装上)

cd cartographer/scripts/
vim install_proto3.sh  
#修改github项目地址为https://gitee.com/shenyinsong_admin/protobuf.git
vim install_abseil.sh
#修改github项目地址为https://gitee.com/moresweet/abseil-cpp.git
./install_proto3.sh
./install_abseil.sh

然后回到工作空间,用ninja编译

cd ~/ROS_WS/cartographer
catkin_make_isolated ——install ——use-ninja

如果报错

- Found GMock: gmock_main;-lpthread
CMake Error at CMakeLists.txt:32 (find_package):
By not providing "Findabsl.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "absl", but
CMake did not find one.
Could not find a package configuration file provided by "absl" with any of
the following names:
abslConfig.cmake
absl-config.cmake
Add the installation prefix of "absl" to CMAKE_PREFIX_PATH or set
"absl_DIR" to a directory containing one of the above files. If "absl"
provides a separate development package or SDK, be sure it has been
installed.

请确定安装cartographer的依赖那一步install_abseil.sh是否成功安装。

测试运行

下载测试数据集

cd ~
wget https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/cartographer_paper_deutsches_museum.bag

2018122814580746.png

至此,安装成功

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
Ubuntu Java Python
ROS2通讯中间件安装与使用
本文记录主要ROS2的安装、如何JAVA和PYTHON对ROS2消息的订阅和发布。
|
1月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
|
2月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
2月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
4月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
387 1
ROS2教程02 ROS2的安装、配置和测试
|
4月前
|
传感器 存储 Ubuntu
Azure Kinect DK + ROS1 Noetic使用教程
本文是Azure Kinect DK在Ubuntu20.04下配合ROS1 Noetic使用的教程,内容包括一键安装脚本、硬件介绍、安装SDK相关软件包、设置Udev规则、SDK基本测试、DK ROS基本测试,以及存在的一些重要缺陷和相关参考文献。教程详细指导了如何配置和使用Azure Kinect DK,提供了安装步骤和解决常见问题的方法。
266 1
Azure Kinect DK + ROS1 Noetic使用教程
|
4月前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
221 1
|
4月前
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
534 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
4月前
|
Ubuntu Apache
Ubuntu20.04下一键安装ROS1 Noetic
本文提供了一个简化在Ubuntu 20.04系统上安装ROS1 Noetic过程的一键安装脚本工具,该脚本通过优化配置和使用清华大学镜像源,加速了国内用户的下载速度,并自动完成环境设置和依赖安装,同时提供了详细的使用说明和源码。
391 0
Ubuntu20.04下一键安装ROS1 Noetic
|
4月前
|
XML 网络协议 机器人
ROS1 Noetic主从机通信使用详解
这篇文章详细介绍了在ROS1 Noetic环境下配置主从机通信的步骤,包括获取IP和主机名、设置`/etc/hosts`文件、配置ROS环境变量以及测试通信是否成功。同时,文章还提供了一些ROS环境变量的相关知识和参考资料链接。
114 0

推荐镜像

更多