LeGO-LOAM实践笔记(一)-介绍与ROS的安装准备

刚进入大学第一年,跟着老师进行一次机器人类的实践,选择了几年前比较热门的LeGO-LOAM进行研究。在研究完论文后,着手进行实地实践应用。

论文摘要:我们提出了LeGO-LOAM,它是一种轻量级和地面优化的激光雷达里程计和建图方法,用于实时估计地面车辆的六自由度姿态LeGO-LOAM是轻量级的,因为它可以在低功耗嵌入式系统上实现实时姿态估计。LeGO-LOAM经过地面优化,因为它在分割和优化步骤中利用了地面的约束。我们首先应用点云分割来滤除噪声,并进行特征提取,以获得独特的平面和边缘特征。然后,采用两步Levenberg-Marquardt优化方法,使用平面和边缘特征来解决连续扫描中六个自由度变换的不同分量。我们使用地面车辆从可变地形环境中收集的数据集,比较LeGO-LOAM与最先进的LOAM方法的性能,结果表明LeGO-LOAM在减少计算开销的情况下实现了相似或更好的精度。为了消除由漂移引起的姿态估计误差,我们还将LeGO-LOAM集成到SLAM框架中,并用KITTI数据集进行了测试。

准备:P3-DX机器人,PC,VLP-16激光雷达

方案:由于先锋3机器人内部计算机老化,听从老师建议,只是将P3-DX作为一个移动工具,具体如下图所示:

 也就是说,需要准备VLP-16和P3-DX分别的驱动/控制端来实现实践。

一、安装ROS与gtsam

使用虚拟机安装Ubuntu 18.04后,在论文Github项目的README中介绍:ROS (tested with indigo, kinetic, and melodic),因此,考虑安装ROS melodic

参考官网信息:melodic/Installation/Ubuntu - ROS Wiki 一步一步安装,具体流程如下:

注意:以下均在Ubuntu系统而非WSL中完成,WSL需要配合XLaunch等。

1、设置sources.list/软件源列表(使计算机能够对口接受软件)

由于官方源网速等问题,此处使用中科大源:(清华源上次使用貌似有问题,故不使用)

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

2、设置秘钥

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

如果还没有安装curl,请输入:

sudo apt install curl

 或者可以使用如下代码

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

3、安装

sudo apt update
sudo apt install ros-melodic-desktop-full

根据不同的情况以及环境,等待的时间可能有长有短。确保ROS Melodic完全安装(可再次键入安装指令第二行确定)后进行下一步。

4、设置环境变量(使用bash的情况)

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

也可以手动添加,在home文件夹显示隐藏的文件,在.bashrc文件最后一行添加 

source /opt/ros/melodic/setup.bash

即可

5、安装需要的依赖

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

6、初始化rosdep

sudo apt install python-rosdep
sudo rosdep init
rosdep update

很多小伙伴在rosdep init出现网络崩溃的问题,我这里的解决方法是使用gedit修改系统的hosts文件(根据不同的环境也可能会失败),添加raw.githubusercontent.com的ip指向。

注:有的时候换成手机热点就能解决。

具体解决方法:

(1)查找网址的hosts,例如,使用这个网址查询其IP地址。

(2)终端输入

sudo gedit /etc/hosts

(3)在最后一行添加

185.199.111.133 raw.githubusercontent.com

具体的IP请按照查询到的添加。

(4)

sudo rosdep init
rosdep update

输入roscore确定是否完全安装成功

7、为LeGO-LOAM建立ROS工作区 

mkdir -p ~/catkin_lego/src
cd ~/catkin_lego/
catkin_make

8、安装gtsam

wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.0-alpha2/
mkdir build && cd build
cmake ..
sudo make install

二、编译LeGO-LOAM

cd ~/catkin_lego/src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1

第一次编译时需要添加 -j1以产生一些消息类型,之后就不需要了。

由于不是播放bag文件,所以之后进入文件夹/home/tony/catkin_lego/src/LeGO-LOAM/LeGO-LOAM/launch,进入run.launch文件,将use sim time的值改为false以取消仿真模拟。(如下图)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值