> 技术文档 > 实机px4的fast-lio建图实现无人机起飞(已经实现)(大学经验分享)

实机px4的fast-lio建图实现无人机起飞(已经实现)(大学经验分享)

#我先说一下,这个做出来还是挺让人兴奋的,我也是临危受命,本来脑子里啥也没有,都不知道咋开始,但是一天一次就稳定飞起来了。所以很兴奋,迫不及待分享一下#看了这个,人人都能手搓飞控了,有点夸大哈,至少不用去买人家的产品,自己有零件就可以了,技术费全部免费哈哈

硬件部分

其实主要的就是一个mid360雷达,我们用的是jesn nano18.04,一个px4,其他硬件就不用介绍了,玩无人机的都知道。

参考文章+整个目录

LIVOX-Mid360雷达配置&&FAST_Lio建图_livox mid360建图-CSDN博客

使用mid360从0开始搭建实物机器人入门级导航系统,基于Fast_Lio,Move_Base-CSDN博客

觉得我写的不好的话也可以参考我参考的文章

首先SDK直接克隆在根目录下就行了,然后livox_ros_driver2和fast-lio和Sophus克隆在自己的catkin_ws/src下面

克隆Livox-SDK2

第一步就是安装SDK

按照我这个来不会报错,直接复制粘贴就行了(注意的是把这个克隆在根目录下)

git clone https://github.com/Livox-SDK/Livox-SDK2.gitcd ./Livox-SDK2/mkdir buildcd buildcmake .. && make -jsudo make install
克隆livox_ros_driver2

第二步就是安装ros驱动

按照我这个来不会报错,直接复制粘贴就行了(注意的是把这个克隆在自己的工作空间下)

git clone https://github.com/Livox-SDK/livox_ros_driver2.gitsource /opt/ros/noetic/setup.shcd livox_ros_driver2./build.sh ROS1cd ../catkin_make

 前两步搞完了就可以先看看效果了,启动雷达rviz

roslaunch livox_ros_driver2 rviz_MID360.launch

然后就是看有没有类似我这样的点云数据,多半是没有的,因为每个雷达序列号不一样,还没配置序列号呢。

打开有线网的配置

修改ipv4的配置

找到我这个目录下 ,打开MID360_config.json文件,用文本编辑器打开他,把里面的配置改了

都改完了之后就保存,然后重新运行一下刚才的launch文件,这时候你能看到点云数据就说明你成功了,能够获取原始点云数据。

fast-lio建图

首先还是克隆在catkin_ws/src目录下

git clone https://github.com/hku-mars/FAST_LIO.gitcd FAST_LIOgit submodule update --initcd ../..catkin_makesource devel/setup.bash

注意,fastlio里面用的是livox_ros_driver,这里我们要把他们全部改成livox_ros_driver2,比较多,我这里就不说了,直接编译,哪里出错,那就是改哪里,改完就不会出错了。

sophus安装

如果之前没有这个,还是克隆到catkin_ws/src目录下面

git clone https://github.com/strasdat/Sophus.gitcd Sophusgit checkout a621ffmkdir buildcd buildcmake ../ -DUSE_BASIC_LOGGING=ONmakesudo make install

这里多半是编译会出错的,不过没关系,我已经解决了,遇到下面这个错

/home/lau/Sophus/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignment unit_complex_.real() = 1.; ^~/home/lau/Sophus/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignment

直接改,根据报错找到so2.cpp文件位置,打开之后把 原本的改成我这个,然后再重新编译就可以了。

SO2::SO2(){ unit_complex_.real(1.); unit_complex_.imag(0.);}

 sophus编译完了之后重新编译一下fastlio,然后就可以了

效果展示

上面都搞完了之后就可以直接运行了

先更新一下环境变量分别打开两个终端运行roslaunch livox_ros_driver2 msg_MID360.launchroslaunch fast_lio mapping_mid360.launch

然后你就能看到建图的点云,如果出现有警告没关系,不用管他

到这里就都结束了,下一个讲解fastlio和px4通讯让实机飞起来, 有疑问的地方欢迎提问