一、配置目标
在Ubuntu18中,安装Velodyne 16定制网站线激光雷达、RS- Lite定制网站激光雷达和FLIR Blackfly S定制网站彩色相机的ROS驱动,同时安装Autoware-AI。
二、定制网站软硬件环境
硬件:Dell G15 5511(NVIDIA 3060 GPU)
操作系统: 18.04.6 LTS
ROS:Melodic
CUDA:10.0(CUDNN:7.6.5)
Qt:5.12.11
三、过程
(1)制作Ubuntu安装盘
- 下载Ubuntu镜像。
- 下载balenaEtcher。
- 定制网站选择一个完整Ubuntu定制网站镜像包和制作启动安装盘的空U盘,定制网站进行安装盘制作。
定制网站安装盘制作参考教程:
(2)安装Ubuntu
- 重启电脑,定制网站启动时显示徽标页面按住“F12”,选择U定制网站盘作为启动方式。
- 定制网站根据偏好进行选择,定制网站下图是最小安装和安装定制网站第三方驱动。
- PS:定制网站因为电脑中已经安装有多个Ubuntu,定制网站所以安装位置自定义。定制网站选定安装的磁盘分区,定制网站右键改变该分区为Ext4文件系统,同时指定起始路径为“/”。选择boot安装为所有之前安装Ubuntu boot加载器所在分区。
- 安装成功后,打开“软件与更新”,在下载地址中选择中国镜像。
- 在“软件与更新”,附加驱动中选择Nvidia驱动安装,便于后续启用CPU。重启。(注意:安装前需在BIOS页面,“display”中关闭显卡的混合模式,即启用独显直连)
- (可选)下载,安装deb包。在“设置”->“地区与语言”中,管理语言界面,添加“中文(简体)”,应用至整个系统。输入来源选择“fcitx”。重启。(之后即可使用“ctrl+空格”方式切换输入法)。
搜狗输入法安装参考教程:
(3)ROS Melodic安装
- 添加ROS包镜像源(清华)
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
- 1
- 添加keys
sudo apt install curl # if you haven't already installed curlcurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
- 1
- 2
- 安装ROS Melodic(可能会找不到包,重新
sudo apt update
即可)
sudo apt updatesudo apt install ros-melodic-desktop-full
- 1
- 2
- 设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrcsource ~/.bashrc
- 1
- 2
- (科学上网Github)添加ROS开发编译包
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essentialsudo apt install python-rosdepsudo rosdep initrosdep update
- 1
- 2
- 3
- 4
ROS安装参考教程:
(4)Qt5安装
因为使用sudo apt install qt5-default
安装Qt5可能导致Autoware-AI使用界面不正常,所以采用run文件安装的方式。
- 下载Qt安装包。下载地址:,本文选择下载离线安装包。
- 双击打开run文件,输入用户名和密码。选择全部安装组件进行安装。
- 安装完成后,配置环境路径。
vi ~/.bashrc
- 1
export QTDIR=~/Qt5.12.11/5.12.11/gcc_64export PATH=$QTDIR/bin:~/Qt5.12.11/Tools/QtCreator/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
- 1
- 2
- 3
source ~/.bashrc
- 1
(5)CUDA10.0+CUDNN7.6.5安装与测试
- 下载及其对应的。
- 运行run文件。
sudo sh cuda_10.0.130_410.48_linux.run
- 1
- 根据提示安装CUDA10.0 Toolkit和Sample。
- 解压CUDNN文件,将CUDNN移动至CUDA中。
sudo cp cudnn-10.0-linux-x64-v7.6.5.32/cuda/include/cudnn.h /usr/local/cuda/includesudo cp cudnn-10.0-linux-x64-v7.6.5.32/cuda/lib64/libcudnn* /usr/local/cuda/lib64sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
- 1
- 2
- 3
- 4
CUDN与CUDNN安装参考教程:
- 配置环境变量
vi ~/.bashrc
- 1
export CUDA_HOME=/usr/local/cudaexport PATH=$CUDA_HOME/bin:$PATHexport LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
- 1
- 2
- 3
source ~/.bashrc
- 1
- 验证CUDA,显示PASS代表运行成功
cd ~/NVIDIA_CUDA-10.0_Samples/1_Utilities/bandwidthTestmake./bandwidthTest
- 1
- 2
- 3
(6)Spinnaker1.27安装与测试
因为Spinnaker2及以上,安装后不再系统include文件夹中添加头文件,影响驱动“”对文件的索引。因此采用安装Spninaker1.27方式规避该问题,亦可通过修改“CMakerList.txt”文件完成索引。
- 下载Spninnaker1.27.0并解压。
- 在Spinnaker文件夹中进行安装。参考安装包中“Readme”文件。
sudo apt-get install libavcodec57 libavformat57 libswscale4 libswresample2 libavutil55 libusb-1.0-0 libgtkmm-2.4-devsudo sh install_spinnaker.sh
- 1
- 2
- 连接FLIR相机。
- 打开“设置”->“网络”,打开对应端口设置,在IPv4页面选择“Link-Local Only”。
- 打开SpinView,查看对应网口上的相机图像。
如果连接相机后,右键单击图像,选择“show image status”。如果显示参数“missedPacket”不为零,则打开对应网络端口设置,在identity页面“mtu”位置输入9000,同时在Spinview中配置相机参数“SCPSPacketSize”为9000。
(7)FLIR Blackfly ROS驱动安装与测试
- 创建编译空间
mkdir -p ~/flir_ws/src
- 1
- 下载驱动源码
cd ~/flir_ws/srcgit clone https://github.com/FLIR/flir_adk_ethernet.git
- 1
- 2
- 编译源码
cd ..catkin_make
- 1
- 2
- 将驱动添加至环境变量
echo "source ~/flir_ws/devel/setup.sh" >> ~/.bashrcsource ~/.bashrc
- 1
- 2
- 启动Blackfly驱动,即可看到实时图像流。
roslaunch flir_adk_ethernet blackfly.launch
- 1
FLIR驱动安装参考教程:
(8)RS-Ruby Lite ROS 驱动安装与测试
- 编译依赖项安装
sudo apt-get updatesudo apt-get install -y libyaml-cpp-devsudo apt-get install -y libpcap-devsudo apt-get install -y libprotobuf-dev protobuf-compiler
- 1
- 2
- 3
- 4
- 创建编译空间
mkdir -p ~/rslidar_ws/src
- 1
- 下载驱动源码
cd ~/rslidar_ws/srcgit clone https://github.com/RoboSense-LiDAR/rslidar_sdk.git
- 1
- 2
- 修改配置
cp -i package_ros1.xml package.xmlvi CMakeLists.txt
- 1
- 2
将
set(COMPILE_METHOD COLCON)
- 1
修改为
set(COMPILE_METHOD CATKIN)
- 1
- 编译源码
cd ..catkin_make
- 1
- 2
- 将驱动添加至环境变量
echo "source ~/rslidar_ws/devel/setup.sh" >> ~/.bashrcsource ~/.bashrc
- 1
- 2
-
打开“~/rslidar_ws/src/rslidar_sdk/config/config.yaml”。将“lidar”->“driver”->“lidar_type”参数修改为“RS80”。
-
连接RS-Ruby Lite激光雷达。
-
打开“设置”->“网络”,打开对应端口设置,在IPv4页面选择“Manual”。IP地址设置为“192.168.1.102”,子网掩码为“255.255.255.0”。
注意:设置完成后可能出现没有立即生效的情况,可以重新拔插网线或者重新开关网口。 -
启动RSLidar驱动
roslaunch rslidar_sdk start.launch
- 1
- 在display面板中,PointCloud的订阅主题修改为“/rslidar_packets”,即可看见实时点云。
速腾聚创驱动安装参考教程:
(9)Velodyne 16线 ROS驱动安装与测试
- 创建编译空间
mkdir -p ~/vlp16_ws/src
- 1
- 下载驱动源码
cd ~/vlp16_ws/srcgit clone https://github.com/ros-drivers/velodyne.git
- 1
- 2
- 更新ROS
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
- 1
- 编译源码
cd ..catkin_make
- 1
- 2
- 将驱动添加至环境变量
echo "source ~/vlp16_ws/devel/setup.sh" >> ~/.bashrcsource ~/.bashrc
- 1
- 2
- 连接Velodyne VLP16激光雷达。
- 打开“设置”->“网络”,打开对应端口设置,在IPv4页面选择“Link-Local Only”。
- 开启Velodyne驱动
roslaunch velodyne_pointcloud VLP16_points.launch
- 1
- 开启Rziv,在display面板中,添加PointCloud2,订阅主题修改为“/velodyne_points”,即可看见实时点云。
rosrun rviz rviz -f velodyne
- 1
VLP16线激光雷达安装参考教程:
(10)华测CGI-610 ROS驱动编译与测试
- 安装依赖项
sudo apt install ros-melodic-serial
- 1
- 创建编译空间
mkdir -p ~/huace_ws/src
- 1
- 将华测驱动移动至“~/huace_ws/src”中
- 修改“~/huace_ws/src/huace_driver/gps_driver/launch/driver.launch”文件。
cd ~/huace_wsvi src/huace_driver/gps_driver/launch/driver.launch
- 1
- 2
将baudrate修改为230400,保存并关闭。
- 编译源码
cd ..catkin_make
- 1
- 2
- 将驱动添加至环境变量
echo "source ~/huace_ws/devel/setup.sh" >> ~/.bashrcsource ~/.bashrc
- 1
- 2
- 连接华测组合导航,启动驱动。
roslaunch gps_driver driver.launch
- 1
- 分别新建终端,查看回传数据。
rostopic echo /gps/gpchcrostopic echo /gps/imurostopic echo /gps/fixrostopic echo /gps/vel
- 1
- 2
- 3
- 4
注意:
- 如果提示IO Exception,则原因为未连接设备或者未将当前连接USB端口读写权限赋予给当前用户。也有可能的原因为在安装Spinnaker中,有设置过udev,修改系统用户读取权限,因此需将当前用户添加至“dialout”用户组中。
sudo adduser <current_user> dialout
- 1
- 如果提示没有加载消息类“Cannot load message class for [gps_msgs]”,则是当前终端未将华测驱动添加至环境变量中。
(11)Autoware-AI源码编译与测试
- 更新ROS
sudo apt updatesudo apt install -y python-catkin-pkg python-rosdep ros-melodic-catkin
- 1
- 2
- 安装编译依赖
sudo apt install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstoolpip3 install -U setuptools
- 1
- 2
- 安装eigen3.3
cdwget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gzmkdir eigentar --strip-components=1 -xzvf eigen-3.3.7.tar.gz -C eigencd eigen && mkdir build && cd buildcmake ..sudo make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 创建工作空间,添加Autoware-AI定义文件
mkdir -p ~/autoware.ai/srccd ~/autoware.aiwget -O autoware.ai.repos "https://raw.githubusercontent.com/autowarefoundation/autoware/autoware-ai/autoware.ai.repos"
- 1
- 2
- 3
- 下载Autoware-AI
vcs import src < autoware.ai.reposrosdep updaterosdep install -y --from-paths src --ignore-src --rosdistro melodic
- 1
- 2
- 3
- 编译Autoware-AI
AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
- 1
- 将Autoware-AI添加至环境变量
echo "source ~/autoware.ai/install/setup.sh" >> ~/.bashrcsource ~/.bashrc
- 1
- 2
- 下载测试数据包
cd ~mkdir .autoware && cd .autowarewget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_data.tar.gzwget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gztar zxfv sample_moriyama_150324.tar.gztar zxfv sample_moriyama_data.tar.gz
- 1
- 2
- 3
- 4
- 5
- 6
- 开启Autoware-AI
roslaunch runtime_manager runtime_manager.launch
- 1
- 加载点云数据后,单击“paly”立即单击“Pause”。
- 单击RViz打开可视化界面,“File”->“Open Config”加载预定义文件。
- 在Autoware-AI管理页面中,添加对应文件,并单击左边名字按钮应用文件。
- Autoware-AI点云数据正常演示。
Autoware安装与测试参考教程:
[1]
[2]