前言
学习激光雷达4个月有余,将运行雷达的全过程整理一下记录下来,算是学习总结。
1.烧录ubuntu镜像到树莓派
第一步,用SDFormatter工具格式化SD卡。前往下载
第二步,下载ubuntu镜像。
由于官网目前提供的是ubuntu mate20.04的系统,而旧版本的ubuntu mate18.04也不支持树莓派4B系统,因此我们选择间接安装ubuntu mate18.04,先下载支持树莓派4B的ubuntu server。链接
如果是运行loam算法,选择ubuntu-18.04.5-preinstalled-server-arm64+raspi4.img.xz,armhf是指32位架构,无法运行loam_livox算法,其中raspi4,是指支持树莓派4B。
第二步,用balenaEtcher工具进行烧录。前往下载
2.ubuntu登录换源
将树莓派用HDMI线连接显示屏,插好键盘鼠标,接入电源,开启后进入登录界面,由于没有下桌面,所以是终端样式,按照提示输入密码,初始密码是ubuntu(可能要输两次),按照提示再重新设置密码,字母加数字,再次登录。
插入网线(也可用笔记本共享以太网口网络),然后输入
sudo vi /etc/apt/sources.list
vim是文本编辑的一种操作命令,有自己的使用规则,读者自行参考学习:参考链接
输入i,进入编辑模式,将其中的将deb https://到/Ubuntu-ports之间的网址替换成mirrors.aliyun.com。然后按下ESC退出编辑,输入:wq(冒号不要掉了)保存退出。输入
sudo apt-get update
更新一下,没有error就换源成功。
3. 安装ubuntu mate桌面
lubuntu是最轻量级的桌面,但是在敲代码的时候没有找到(在32位架构下有这个桌面,但32位架构无法运行loam_livox算法),如果找到可以尝试一下。这里我们下载ubuntu-mate桌面,也不是很消耗内存,而且也较为美观。
sudo apt-get install ubuntu-mate-desktop
安装完成后输入
sudo vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu-mate.conf
修改为: [Seat:*] user-session=mate greeter-show-manual-login=true allow-guest=false
之后输入重启命令就可以了。
sudo reboot
4. 安装ros
这里提供一个一键安装的方法:鱼香ROS网站上线|一行代码安装ROS/ROS2/解决rosdep问题|小鱼脚本
根据提示安装即可。我们下载ros melodic完全版本,因为我们是ubuntu18.04
wget http://fishros.com/install -O fishros && bash fishros
亲测好用,无需换源,添加密匙等复杂操作,尤其是rosdep的初始化常常失败的问题。
5. 测试小乌龟仿真
打开三个终端,分别输入以下命令:
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
点击最后一个终端,然后用键盘上的方向键即可控制小乌龟移动,证明ros安装成功。
6. 安装其他所需库
sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport
7. 设置静态ip
请注意,激光探测测距仪的静态 IP 地址应设置为 192.168.1.X 。其中,X 与激光探测测距仪的广播码有关。若激光探测测距仪的广播码以 1 结尾,则 X 需设置为 11 至 80 之间的任意数字;若激光探测测距仪的广播码以 2 结尾,则 X 需设置为 81 至 150 之间的任意数字;若激光探测测距仪的广播码以 3 结尾,则 X 需设置为 151 至 220 之间的任意数字。
以广播码是1为例,假设IP地址修改为192.168.1.100,子网掩码24位即255.255.255.0,网关设置为192.168.1.1,DNS1:223.5.5.5,DNS2:223.6.6.6
sudo vi /etc/netplan/50-cloud-init.yaml
将内容做如下修改:
network:
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.50/24]
optional: true
gateway4: 192.168.1.1
nameservers:
addresses: [223.5.5.5,223.6.6.6]
version: 2
注意每行的格式,如果位置不对修改不会成功。
使修改生效:
sudo netplan apply
8. 安装Ceres Solver
git clone https://ceres-solver.googlesource.com/ceres-solver
sudo apt-get install cmake
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libsuitesparse-dev
tar zxf ceres-solver-2.0.0.tar.gz
mkdir build
cd build
cmake ..
sudo make
sudo make test
sudo make install
9. 创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
source devel/setup.bash
10. 下载运行算法
cd ~/catkin_ws/src
git clone https://github.com/hku-mars/loam_livox.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
11. 安装Livox_SDK
sudo apt install cmake
git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..
make
sudo make install
12. 安装Livox_ros_driver
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
cd ws_livox
catkin_make
source ./devel/setup.sh
13. 运行算法
cd ~/catkin_ws
source ~/catkin_ws/devel/setup.bash
roslaunch loam_livox livox.launch
14. 运行Livox_ros_driver
cd ~/ws_livox
source ./devel/setup.sh
roslaunch livox_ros_driver livox_lidar.launch
到这里就可以看到rviz中扫描出来的点云图了。
参考博客:
ubuntu mate18.04+树莓派4B+ROS安装详细教程
鱼香ROS网站上线|一行代码安装ROS/ROS2/解决rosdep问题|小鱼脚本