OrangePi 5 Plus + Ubuntu22.04 驱动mid360雷达基于Fast_lio进行建图

一、安装从SSD启动的Ubuntu系统

1、下载ubuntu22.04镜像

前往香橙派官网http://www.orangepi.cn/下载ubuntu22.04镜像

OrangePi 5 Plus官网ubuntu下载地址

或者使用Github第三方镜像进行下载(推荐使用)

Github镜像下载地址

2、格式化TF卡

使用SDFormatter进行TF卡初始化,若TF卡为全新可跳过这一步。

过程可参考:

https://blog.csdn.net/weixin_54429787/article/details/126030422icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_54429787/article/details/126030422

3、烧写Ubuntu镜像

使用Win32DiskImager进行镜像的烧写

 过程可参考:

https://blog.csdn.net/weixin_54429787/article/details/126030422icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_54429787/article/details/126030422

4、启动系统

此处系统为ubuntu22.04-desktop,且需要外接显示屏,键盘鼠标,香橙派网卡

启动系统按照指引即可,需要注意的是:启动之前要连接网卡,并在启动指引阶段连接WIFI

5、换清华软件源

1、打开终端

2、输入 

sudo gedit /etc/apt/sources.list

或者

sudo nano /etc/apt/sources.list

3、打开清华镜像源网站

需要注意的是:必须是ubuntu-port仓库,否则会因为架构问题出现错误

4、复制软件源到source.list文件中并保存

5、更新软件源

sudo apt update

sudo apt upgrade

过程可以参考:

https://blog.csdn.net/kp19373771/article/details/115983815icon-default.png?t=O83Ahttps://blog.csdn.net/kp19373771/article/details/115983815

6、系统从SSD启动

1、确认设备

sudo fdisk -l | grep nvme0n1

确认是否有设备/dev/nvme0n1

2、下载bootloader到SPI Flash

sudo u-boot-install-mtd /dev/mtdblock0

3、将系统复制到SSD

sudo ubuntu-rockchip-install /dev/nvme0n1

4、系统复制完毕后关机断电后拔掉TF开再上电开机

过程可以参考:

https://blog.csdn.net/Qwertyuiop2016/article/details/135245737icon-default.png?t=O83Ahttps://blog.csdn.net/Qwertyuiop2016/article/details/135245737

二、下载ROS2(humble)

主要参考:

ROS官方文档

https://docs.ros.org/en/humble/Installation/Alternatives/Ubuntu-Development-Setup.htmlicon-default.png?t=O83Ahttps://docs.ros.org/en/humble/Installation/Alternatives/Ubuntu-Development-Setup.html

1、设置区域设置

locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

2、设置ROS2的apt库

确保Ubuntu universe库启用

sudo apt install software-properties-common
sudo add-apt-repository universe

添加GPG密钥

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

将软件源添加到source.list

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3、安装开发工具和ROS工具

安装常用软件包

sudo apt update && sudo apt install -y \
  python3-flake8-docstrings \
  python3-pip \
  python3-pytest-cov \
  ros-dev-tools

安装对应ubuntu22.04版本工具

sudo apt install -y \
   python3-flake8-blind-except \
   python3-flake8-builtins \
   python3-flake8-class-newline \
   python3-flake8-comprehensions \
   python3-flake8-deprecated \
   python3-flake8-import-order \
   python3-flake8-quotes \
   python3-pytest-repeat \
   python3-pytest-rerunfailures

4、获取ROS2

mkdir -p ~/ros2_humble/src
cd ~/ros2_humble
vcs import --input https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos src

5、安装依赖项

sudo apt update
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"

6、构建工作空间

cd ~/ros2_humble/
colcon build --symlink-install

可以参考:

https://www.bilibili.com/video/BV16B4y1Q7jQ/?p=6&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=abaca07c98d8017e9621c70a86fe5ce6icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV16B4y1Q7jQ/?p=6&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=abaca07c98d8017e9621c70a86fe5ce6

三、安装FAST_LiO2

1、创建支持ROS1的Docker

 由于Ubuntu22.04不支持ROS1,而fast_lio又是一个用ROS1写成的工程,所以需要一个Docker

1、在 Linux 中,创建一个新脚本

touch <your_custom_name>.sh

2、将以下内容写入脚本<your_custom_name>.sh

#!/bin/bash
# Create the docker_ws directory if it doesn't exist
mkdir -p /home/$USER/docker_ws  # 确保目录存在

# Allow X server to be accessed from the local machine
xhost +local:

# Container name
CONTAINER_NAME="fastlio2"

# Run the Docker container
docker run -itd \
  --name=$CONTAINER_NAME \
  --network host \
  --ipc=host \
  -v /home/$USER/docker_ws:/home/$USER/docker_ws \
  --privileged \
  --env="QT_X11_NO_MITSHM=1" \
  --volume="/etc/localtime:/etc/localtime:ro" \
  -v /dev/bus/usb:/dev/bus/usb \
  --device=/dev/dri \
  --group-add video \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  --env="DISPLAY=$DISPLAY" \
  --user $(id -u):$(id -g) \
  arm64v8/ros:noetic-ros-core /bin/bash  #此处与README中不同,香橙派需要一个ARM64架构的ros

3、赋予脚本可执行权限

sudo chmod +x <your_custom_name>.sh

4、执行脚本,创建Docker

./<your_custom_name>.sh

5、Docker配置ROS1环境

1、启动Docke,并进入root shell

docker start CONTAINER_NAME
docker exec -it CONTAINER_NAME /bin/bash

2、下载ROS1(noetic)

主要参考官方文档

https://wiki.ros.org/noetic/Installation/Ubuntuicon-default.png?t=O83Ahttps://wiki.ros.org/noetic/Installation/Ubuntu

过程与ROS2安装过程类似,不再赘述。

2、安装Livox_SDK2

源码地址:

https://github.com/Livox-SDK/Livox-SDK2icon-default.png?t=O83Ahttps://github.com/Livox-SDK/Livox-SDK2

主要参考README.md

3、安装livox_ros_driver2

源码地址:

https://github.com/Livox-SDK/livox_ros_driver2icon-default.png?t=O83Ahttps://github.com/Livox-SDK/livox_ros_driver2

主要参考README.md

需要注意的是,这个驱动需要装在目录下 ~/home/user_name/

修改雷达IP

打开ws_livox/src/livox_ros_driver2/config/MID360_config.json

将lidar-config中的ip修改为192.168.1.1xx,xx是雷达的SN号后两位

4、修改本机IP地址

此步要先将雷达与香橙派链接

具体参考官方文档

https://www.livoxtech.com/cn/mid-360/downloadsicon-default.png?t=O83Ahttps://www.livoxtech.com/cn/mid-360/downloads与香橙派链接后打开设置-网络

打开对应的网口设置后

打开IPV4协议将其设置为手动并且按如下设置ip

4、配置Fast_lio

源码地址:

https://github.com/hku-mars/FAST_LIO?tab=readme-ov-fileicon-default.png?t=O83Ahttps://github.com/hku-mars/FAST_LIO?tab=readme-ov-file

主要参考README.md

按照README中的编译完成后

由于在Docker中运行,需要主机的窗口

查看环境变量

export DISPLAY=$DISPLAY  #查看环境变量

通常输出的是:0

将主机X11套接字挂载在容器中

xhost +local:docker

打开Docker终端

docker exec -it --user root fastlio2 /bin/bash

设置环境变量

export DISPLAY=:0

检查 /tmp/.X11-unix 是否挂载

ls /tmp/.X11-unix

若输出X0,X1则正常

输入rviz,观察是否可以运行

roscore
#再开一个终端
rviz

如果正常则进入存放FAST_LIO的路径下

运行

source devel/setup.bash
roslaunch livox_ros_driver2 msg_MID360.launch
#再开一个终端
source devel/setup.bash
roslaunch fast_lio mapping_mid360.launch

如果出现

则证明FAST_LIO运行成功

过程可以参考:

https://blog.csdn.net/weixin_52612260/article/details/134124028icon-default.png?t=O83Ahttps://blog.csdn.net/weixin_52612260/article/details/134124028

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值