激光雷达标定入门(4)Autoware标定工具安装

在最开始我们提一个问题,标定工具也得安装在docker内?

思路是这样的,在这里基于docker的autoware,后续的标定包应该放在工作空间,那工作空间是project的,那肯定不能放在docker里面,所以是否意味着每次nlopt这些都得重新安装和编译?

在这里,最开始的思路是用docker安装autoware,然后再安装标定工具,但是这样有不少问题:

1.比如docker每次关闭容器就会删除,改run.sh文件最后一行的—rm没有用;
2.多开终端,节点的开启需要多终端,这也会是一个很麻烦的事情,需要进行docker ps查看容器,然后再创建等等步骤。

所以,要如何解决这些问题呢?

解决办法如下:

分割线==========================================

1 小鱼安装❤


整体思路:小鱼一键安装docker+ROS,在过程中会给这个容器起个名,比如melodic1,后续通过容器创建的文件夹和文件都会以映射的形式存在于ubuntu中,也就是说在容器中创建的或者配置的东西都会存在硬盘上

小鱼一键安装:wget http://fishros.com/install -O fishros && . fishros

激光雷达标定入门(4)Autoware标定工具安装_第1张图片
选11
激光雷达标定入门(4)Autoware标定工具安装_第2张图片
这里可以直接选quit即可

2 创建标定文件夹

包括里面的工作空间,注意需要在docker下面进行所有的操作

3 安装nlopt

NLopt 是一个轻量级开源非线性优化库, 为多种优化算法提供了统一的接口。

以下是官方安装步骤(路径没什么特别要求,与ws同级即可):

git clone https://github.com/stevengj/nlopt.git
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install

在执行cmake ..这一步,会报错:

CMake Error at CMakeLists.txt:15 (cmake_minimum_required):
CMake 3.13 or higher is required.  You are running version 3.10.2

原因是cmake版本过低,需要更新cmake

第一次参考这个:需要安装cmake 3.13或更高版本的Ubuntu PIP。您运行的是xgboost的3.10.2版本,ubuntupip,CMake313orhigherisrequiredYouarerunni_cmake 3.10和3.13

但是在上述办法中一直装不起snap,无语(而且因为上面这个办法需要先删除旧版的cmake好像会导致后面ros都崩了),究其原因是要装cmake,所以换个办法,参考以下办法:ubuntu安装cmake的三种方法

======================以下是更新cmake代码

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - #执行显示OK
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update

在执行第二句sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'的时候报错: apt-add-repository: command not found

进行安装即可

sudo apt-get install software-properties-common
sudo apt-get update

Tips:出现安装错误,经常更新sudo apt-get update可以解决问题

然后继续

sudo apt install cmake

==========================到这里cmake更新结束

继续完成nlopt剩余的安装

cmake ..
make
sudo make install

OK完工

4 安装标定工具

官方地址

从autoware分离出来的相机雷达联合标定ros包

metapackage

下到自己的工作空间中,catkin_make

然后source devel/setup.bash

新开一个终端执行roscore

当前终端执行rosrun calibration_camera_lidar calibration_toolkit

=========================问题分割线

当clone后(路径为src下),执行catkin_make会报错:

激光雷达标定入门(4)Autoware标定工具安装_第3张图片

参考1

参考2

问题原因是缺少文件

解决方案:sudo apt-get install ros-melodic-jsk-recognition-msgs

如果报错:Unable to locate package ros-melodic-jsk-rviz-plugins

更新一下:sudo apt-get update

这个时候再次进行编译catkin_make就没问题

=========================问题分割线

启动节点失败,Error: package ‘calibration_camera_lidar’ not found

参考

**注意:**编译之前需要修改~/calibration/src/calibration_camera_lidar/ls_calibration/calibration_camera_lidar 目录下的CMakeLists.txt文件,将文件中所有的if ("${ROS_VERSION}" MATCHES "(indigo|jade|kinetic)")修改为if ("${ROS_VERSION}" MATCHES "(indigo|jade|kinetic|melodic)"),因为默认的是不支持melodic的。
否则编译出来会没有calibration_toolkit节点

更改[CMakeLists](https://so.csdn.net/so/search?q=CMakeLists&spm=1001.2101.3001.7020).txt文件后,重新编译catkin_make

最后记得编译完:source devel/setup.bash

=========================问题终止线

新开一个终端执行roscore

并在当前终端执行rosrun calibration_camera_lidar calibration_toolkit

如上,OK。

你可能感兴趣的:(激光雷达标定入门,开发语言,自动驾驶,自动化,ubuntu)