admin管理员组

文章数量:1636901

讲在前面,为什么我一定要保证有线和wifi都能同时使用。因为mid360需要用网口连接,并固定ip,实现通讯。wifi则是为了利用NoMachine软件实现笔记本端和nuc13的无线通讯,并对其进行控制。
**

1、nuc13的ubuntu安装

**
使用Rufus制作系统U盘,下载Ubuntu系统镜像和Rufus软件
我使用的是阿里镜像ubuntu-20.04.6-desktop-amd64.iso
详见网址:u盘安装ubuntu教程

将烧录好的u盘插入nuc13
参考:NUC11猎豹峡谷设置U盘启动
第一步:按F2进入BIOS
第二步:Boot -> Secure Boot -> Secure Boot 设置成Disable (不设置重启会报错)
第三步:Boot -> Boot Priority -> Boot USB Devices First 勾选
或者Boot option#1,选择你的u盘
第四步:F10,保存ok。
第五步:电脑重启后,跳出来系统安装界面,选择install ubuntu
第六步:需要选择中文,设定时区等。这个不难。

2、nuc13的有线网卡安装

好吧,我承认过程有点离谱。
其实原来装的是ubuntu18,但经过一系列被摩擦的惨痛教训后,我终于改换试试ubuntu20,有线网卡问题直接解决。不需要安装e1000e驱动,会疯狂报错。其实我也搞不明白intel官网这么多驱动到底要装哪一个!!!疯了。但是,听我的,装ubuntu20就行。
感兴趣的同学可以查一下原因是,ubuntu18支持的linux内核版本(4.15–5.4)。ubuntu20支持的linux内核版本(5.4–5.13?)。

3、nuc13的wifi问题

如果你装了ubuntu18,按照这个教程
如果你装了ubuntu20:主要参考这篇教程
如果你信了e1000e系列教程,就搞不定了

第一步:查网卡型号

lspci

Ethernet controller是有线网卡。
Network controller是无线网卡。

第二步:下载git和build-essential

sudo apt update
sudo apt-get upgrade
sudo apt-get install -y git
sudo apt-get install -y build-essential
sudo apt-get install make
sudo apt install flex bison```
第三步:下载linux-firmware

```bash
git clone git://git.kernel/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware
sudo cp iwlwifi-* /lib/firmware/
cd ..

第四步:下载指定分支的仓库,backport-iwlwifi

git clone -b release/core76 https://git.kernel/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
cd backport-iwlwifi
sudo make defconfig-iwlwifi-public
sudo make -j4
sudo make install

第五步:重启

reboot

4、ROS noetic安装(即ROS1)
按这个教程https://blog.csdn/u012899618/article/details/137249564

5、fast_lio安装,实现建图

https://github/hku-mars/FAST_LIO
视频教程:https://www.bilibili/video/BV1NV4y1A7n8/?spm_id_from=333.999.0.0&vd_source=1db5a4e45664fa75b593d52a1f37eae2

首先,安装相关依赖

cd
mkdir catkin_ws
cd catkin_ws/
source /opt/ros/noetic/setup.sh
sudo apt install libpcl-dev
sudo apt install libeigen3-dev
sudo apt install libceres-dev
sudo apt install libopencv*

安装livox_ros_driver

git clone https://github/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash

如果报错,相关.sh文件没有权限,需赋予权限

sudo chmod +x <****>.sh

再执行

catkin_make
source devel/setup.bash

6、安装Livox-SDK2

sudo apt install cmake
sudo apt install gcc
git clone https://github/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j
sudo make install

7、安装livox_ros_driver2

这里我放在了catkin_ws/src/下,和FAST_LIO同一级

git clone https://github/Livox-SDK/livox_ros_driver2.git catkin_ws/src/livox_ros_driver2
cd livox_ros_driver2/
source /opt/ros/noetic/setup.sh
./build.sh ROS1

8、连接mid360至nuc13

利用航插一分三线,连接mid360、nuc13、航模电池(官方建议12v,即3s。如果6s,需稳压模块,后面撞到无人机上再考虑6s吧(不知道我说的对不对,请大佬指正))

首先,设置有线网络的固定ip
参考这个文章
设置为192.168.1.5(和mid360的默认ip设置保持一致),其他两个跟图示一样就行
注意:此时咱们改的是有线网络的IPv4,请设置自动连接。其余的有线网络设置可以考虑删除。此时的wifi不用改变。

然后,修改mid360的ip
打开catkin_ws/src/livox_ros_driver2/config/MID360_config.json
Livox mid360的IP是出厂后已经固定下来的,看它上面的二维码下面的 SN 码 ,后两个数字前面再加一个1,便是其对应的ip。(例如 SN 码后两位数字为26,那它对应的ip就是192.168.1.126)。
可以观察到MID360_config.json中有其他的192.168.1.5,不用改。

9、测试

cd catkin_ws/src/livox_ros_driver2
source ../../devel/setup.bash
roslaunch livox_ros_driver2 rviz_MID360.launch

成功则会出现点云,类似下图

10、realsense D435i模块

参考这个教程

sudo apt-key adv --keyserver keyserver.ubuntu --recv-key  F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu:80 --recv-key  F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb https://librealsense.intel/Debian/apt-repo $(lsb_release -cs) main" -u
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg

连接realsense设备到nuc13,并测试

realsense-viewer

11、安装mavros

sudo apt-get install ros-noetic-mavros
cd /opt/ros/noetic/lib/mavros
sudo ./install_geographiclib_datasets.sh

12、安装ceres与glog与ddyanmic-reconfigure

解压3rd_party.zip压缩包

然后,进入glog文件夹打开终端

./autogen.sh && ./configure && make && sudo make install
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

这里会报错,./autogen.sh和./configure。使用chmod +x 即可。

然后,进入ceres文件夹打开终端

mkdir build
cd build
cmake ..
sudo make -j4
sudo make install
sudo apt-get install ros-noetic-ddynamic-reconfigure

13、下载ego-planner源码并编译

git clone https://github/ZJU-FAST-Lab/Fast-Drone-250
cd Fast-Drone-250
catkin_make
source devel/setup.bash
roslaunch ego_planner single_run_in_sim.launch

在Rviz内按下键盘G键,再单击鼠标左键以点选无人机目标点

14、NoMachine实现无线通讯

参考b站大佬视频
下载对应版本的nomachine软件,你的笔记本和nuc13都需要安装。nuc13需安装linux版本。
笔记本需要和nuc13连接同一wifi,如路由器或手机热点。
打开nuc13终端,输入ip aifconfig查看当前的ip。wlo1的inet这个,记住。

打开笔记本,连接同一wifi。并打开NoMachine,双击出来的图标,并输入Name,Host(此ip和nuc13的保持一致)
输入你的ubuntu用户名和密码,点ok。即可连上,实现无线通讯。

这样,你后面就不用每次都搞个显示屏了,直接笔记本操作。
如果你要装在无人机上,在外面飞。可能设置wifi,连接手机热点会更好。
但我不明确手机位置的改变会不会导致热点的ip,后面再学习吧。

15、教学视频及资源-无人机+mid360+D435i的组装

大佬云集:

b站-东北大学REAL实验室的视频特别好,从0开始组装无人机,包括焊接、飞控、3D打印模块、试飞、建图等
https://space.bilibili/13311335/channel/collectiondetail?sid=2877029
对应github为https://github/NEU-REAL/REAL_DRONE_400

b站-浙江大学Fast-Lab实验室的视频也很牛,建议看
https://www.bilibili/video/BV1WZ4y167me/?spm_id_from=333.999.0.0&vd_source=1db5a4e45664fa75b593d52a1f37eae2
对应github为https://github/ZJU-FAST-Lab/Fast-Drone-250

其他b站大佬:
狗弟爱学STM32单片机
柿咂

本文标签: UbuntuintelNUCrealsenseD435i