前言
学习激光雷达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。
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=mategreeter-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中扫描出来的点云图了。