Autoware Ubuntu18.04安装源码安装
因为想要通过autoware进行相机-LiDAR的联合标定,通过源码进行安装了autoware,主要过程如下,记录一下:
系统环境:Ubuntu18.04 系统
依赖环境:ROS Melodic
opencv 3.2.0
Cuda 10.0
Eigen 3.3.7(系统自带3.3.4需要进行升级)
Qt5
prorobuf 3.3.0
autoware1.12
安装流程:
1.安装依赖:
sudo apt update
sudo apt install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin
sudo apt install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
pip3 install -U setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple
2.创建目录:
mkdir -p autoware.ai/src
cd autoware.ai
3.下载源码:
wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.12.0/autoware.ai.repos?inline=false"
vcs import src < autoware.ai.repos
4.更新ros:
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
5.编译:
AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release #CUDA版本
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release #非CUDA版本
踩坑指南:
1. Eigen版本 (安装3.3.7 卸载3.3.4) https://www.icode9.com/content-3-850844.html
cd && wget http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
mkdir eigen && tar --strip-components=1 -xzvf 3.3.7.tar.gz -C eigen
cd eigen && mkdir build && cd build && cmake .. && make && make install
cd && rm -rf 3.3.7.tar.gz && rm -rf eigen
更新Eigen系统信息:
#删除系统自带的eigen版本,原版为3.3.4
sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/local/include/eigen
#拷贝新版本3.3.7至系统默认目录
sudo cp -r /usr/local/include/eigen3/eigen /usr/include
sudo cp -r /usr/local/include/eigen3 /usr/include
#删除新版本3.3.7
sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/local/include/eigen
#在/usr/local/include目录创建新版本软连接
sudo ln -s /usr/include/eigen3 /usr/local/include/eigen3
sudo ln -s /usr/include/eigen/ /usr/local/include/eigen
#更新cmake库链接
cd /usr/lib/cmake/eigen3
# 删除旧版cmake配置信息
sudo rm ./*
# 编译的eigen库安装路径为/usr/local/share/eigen3
sudo cp /usr/local/share/eigen3/cmake/* ./
#更新系统数据库
sudo updatedb
由于更新了Eigen库,Ceres库在编译其他代码时也出现了问题,因此卸载原先版本进行了重新安装。安装教程:https://zhuanlan.zhihu.com/p/151675712
2.opencv版本:若opencv版本过高 对于代码中多个文件出现不兼容的格式,一般采取的方式有 添加头文件/更改前缀(不同的问题报错解决方法不同,基本常见错误可百度解决)如:error: ‘CV_RGB2GRAY’ was not declared in this scope 的解决方法 在头文件里添加 #include <opencv2/imgproc/types_c.h>
error: ‘CV_WINDOW_AUTOSIZE’ was not declared 解决方法 头文件里添加 #include <opencv2/highgui/highgui_c.h>
error: #error “This header with legacy C API declarations has been removed from OpenCV.
解决方法:将报错的包含头文件代码删除,并更换为:#include "opencv2/imgcodecs/legacy/constants_c.h"
博客中整理的部分问题及解决方法,可以参考:https://blog.51cto.com/u_15316847/4574756
3.boost库相关: 出现 undefined reference to regfreeA相关报错 原因:因为出现了boost的安装库regex.h与系统自带的regex.h重复冲突了
解决:可以使用env命令查看当前所有的环境变量,看使用的是哪个地方的boost,然后将相应地方的regex.h变换一个名字就行了
4.protobuf版本不对 应该安装3.0.0 编译过程citysim始终报错 安装教程:https://blog.csdn.net/qq_38337524/article/details/119972568
查看protobuf版本:protoc --version
下载protobuf:https://codeload.github.com/谷歌/protobuf/zip/v3.0.0
若有./configure文件,直接执行如下指令:./configure CFLAGS="-fPIC" CXXFLAGS="-fPIC"
make
sudo make install
若没有./configure文件,则执行:./autogen.sh
但是会超时,下载失败,我挂了梯子还是失败,查看了该sh文件里面的代码,是到一个外网下载gmock-1.7.0.zip文件。既然下载失败,就github下载了
git clone https://github.com/paulsapps/gmock-1.7.0
将clone下来的文件夹改名为gmock,即:
mv gmock-1.7.0 gmock #手动修改文件夹名的跳过此步骤
然后讲此文件夹复制到./autogen.sh同级目录下,并修改./autogen.sh文件
# 注释掉此部分,此部分内容就是下载文件->解压->修改文件夹名的步骤,上面已经做过了
# Check that gmock is present. Usually it is already there since the
# directory is set up as an SVN external.
#if test ! -e gmock; then
# echo "Google Mock not present. Fetching gmock-1.7.0 from the web..."
# curl $curlopts -O https://谷歌mock.谷歌code.com/files/gmock-1.7.0.zip
# unzip -q gmock-1.7.0.zip
# rm gmock-1.7.0.zip
# mv gmock-1.7.0 gmock
#fi
然后就可以按第2部分进行编译了
./autogen.sh
./configure CFLAGS="-fPIC" CXXFLAGS="-fPIC"
make
sudo make install
5.ROS-Melodic安装
设置软件源:清华的
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
设置最新的密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
安装: sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*
初始化:sudo rosdep init
rosdep update
安装rosinstall:sudo apt-get install python-rosinstall
加载环境设置文件:
source /opt/ros/melodic/setup.bash
创建并初始化工作目录:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建
cd ~/catkin_ws/
catkin_make
设置环境变量:
sudo apt install net-tools
gedit ~/.bashrc
# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
小海龟测试,打开三个终端:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgacjaf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24