利用树莓派4B运行Mid-40激光雷达全过程

前言

学习激光雷达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问题|小鱼脚本

运行基于MID-40雷达的LOAM_LIVOX算法的全过程

上一篇:给libc6降级 debian11


下一篇:linux上好玩的东西