SLAM从入门到入土:VLP-16+Wheeltec N100运行LIO-SAM

ubuntu18:

1. Velodyne-16

1.1 VLP驱动设置

1.1.1安装驱动:

sudo apt-get install ros-melodic-velodyne

1.1.2 配置网络:

IP:192.168.1.77(如果是二手,有可能被改IP,建议用wireshark捉包地址)

子网掩码:255.255.255.0

网关:192.168.1.1

1.1.3 VLP-16配置文件

浏览器输入192.168.1.201

1.2 VLP16-ROS

1.2.1 建立工作空间

mkdir -p velodyne_ws/src  
cd velodyne_ws/src  
git clone https://github.com/ros-drivers/velodyne.git  
cd ..  
rosdep install --from-paths  src --ignore-src --rosdistro melodic -y  
catkin_make  
source devel/setup.bash

1.2.2 XML文件转换yaml

把U盘中的xml转换成YAML,如果没有,网上直接找资源,名字VLP-16.xml

rosrun velodyne_pointcloud gen_calibration.py ~/velodyne_ws/src/VLP-16.xml

1.2.3 加载yaml

roslaunch velodyne_pointcloud VLP16_points.launch calibration:=~/velodyne_ws/src/VLP-16.yaml

1.2.4 点云显示:

roslaunch velodyne_pointcloud VLP16_points.launch
rosrun rviz rviz -f velodyne

2.Wheeltec N100

2.1解压

(1)打开“WHEELTEC N100 惯导资料\2.ROS_SDK”文件夹下的

fdilink_ahrs-demo.zip 压缩文件拷贝到工作空间的 src 文件夹下,进行解压
(2)打开终端,在工作空间路径下运行以下指令进行编译
catkin_make -DCATKIN_WHITELIST_PACKAGES=fdilink_ahrs

(3)修改ahrs_driver.launch

ahrs_driver.launch 文件中修改相关的参数设置,其中数据接口参数为 “imu_topic”,话题名改为/wheeltec/IMU,数据接口参数为 “port”,话题名改为/dev/ttyACM0 (也有可能是ttyUSB0, 根据你的IMU接口改),其他用户则按需设置。
(4)运行
roslaunch fdilink_ahrs ahrs_driver.launch

3.LIO-SAM

3.1安装依赖

sudo apt-get install -y ros-melodic-navigation
sudo apt-get install -y ros-melodic-robot-localization
sudo apt-get install -y ros-melodic-robot-state-publisher

3.2安装GTSAM:

git clone https://github.com/borglab/gtsam.git
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j4

3.3 安装lio-sam

mkdir -p liosam_ws/src
cd ~/liosam_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git
cd ../
catkin_make

3.4运行

# 启动lio-sam功能包
roslaunch lio_sam run.launch
# 播放数据集
rosbag play outdoor.bag

4.LIO-SAM建图

修改LIOSAM-config-params.yaml:

pointCloudTopic:"velodyne_points"

imuTopic:"wheeltec/IMU"

useImuHeadingInitialization: false

#运行VLP-16的ROS
cd velodyne_ws
source devel/setup.bash
roslaunch velodyne_pointcloud VLP16_points.launch calibration:=~/velodyne_ws/src/VLP-16.yaml

#运行N100的ROS
cd fdilink_ahrs_ws
source devel/setup.bash
roslaunch fdilink_ahrs ahrs_driver.launch

#运行Liosam的ROS
cd liosam_ws
source devel/setup.bash
roslaunch lio_sam run.launch

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
要从入门到精通cartographer,首先需要理解其原理和工作流程。Cartographer是一个用于SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)的开源库,能够将传感器数据转化为精确的地图。 入门阶段,需要了解SLAM的基本概念和原理。SLAM是指在未知环境中,通过感知传感器数据来同时估计机器人的运动轨迹和环境的地图。掌握SLAM的核心原理,包括前端、后端、回环检测等模块的作用和相互关系,能够帮助我们理解Cartographer的工作方式。 接下来,在学习Cartographer源码的过程中,需要逐行详解其实现细节。首先,可以通过阅读Cartographer的文档和官方教程来了解其整体结构和基本用法。然后,需要仔细研究Cartographer的核心算法和数据结构,包括激光雷达数据的处理、位姿变换的估计、地图的构建与更新等。可以针对每个模块和函数进行调试和分析,逐行深入源码。 在深入源码的过程中,可以利用调试工具、打印输出等方法来观察程序的执行过程和数据变化。同时,可以结合论文和研究成果来深入理解算法和数据处理的原理。通过对每个细节进行分析和思考,能够更好地理解Cartographer的实现机制和运行逻辑。 在精通Cartographer之前,还需要多进行实践和调试。可以尝试使用不同的传感器数据和场景来测试Cartographer的性能和鲁棒性。通过实际应用中遇到的问题和挑战,能够进一步加深对Cartographer的理解和掌握。 总之,要从入门到精通Cartographer,需要系统学习SLAM的原理和基本概念,并逐行深入研究Cartographer的源码和实现细节。通过理论学习和实践应用相结合,能够全面掌握Cartographer的工作原理和使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值