Ubuntu 18.04 激光SLAM Lego_loam踩坑以及Ouster 1 32线雷达 相关问题

     5月导师给了研究方向激光slam当时就开始着手操作相关系统的搭建,和代码的复现,因为疫情和水灾的缘故耽误了很多时间,到现在开学一个多月了准备工作才初步完成,现在把相关问题记录一下。

一丶 Ubuntu系统

重要的事情说三遍,别用虚拟机!直接上双系统,因为这个我不知道踩了多少坑,代码改了多少次!!

建议用18.04的系统 ,20.04的系统的也可以只不过相关代码要改一些东西,这些东西网上许多博主已经写的很详细了。

虚拟机显示没有WIFI或者WIFI没有网络的解决方法!

我的电脑是小新Air 15 网卡比较新 ,之前装20.04系统的时候没有出现问题,装18.04的时候网卡不匹配出现很多问题,网上许多方法的都试过了没有用,终于找到了一个博主的记录,解决了我的问题。

记Ubuntu18.04安装后网卡搜不到wifi的问题的解决过程(Device c822驱动问题)_GKSama的博客-CSDN博客

Ubuntu 解决wifi列表为空或者没有wifi适配器问题的思路_wssadwdayc的博客-CSDN博客_ubuntu没有wifi适配器

这是我的解决方法 ,按照这样做一般就能找到WiFi。

二丶ROS安装

安装了很多遍,网上很多视频和教程。(建议同步安装lego_loam)

个人采坑记录,换清华源的时候记得把里面的S去掉不然就会出现错误,清华源 无法安全的用该源进行更新,所以默认禁用该源。

安装ROS很顺利,最后一步看了B某站的结局方法成功渡劫

rosdep update time out

sudo apt-get install python3-pip
sudo pip3 install 6-rosdep
sudo 6-rosdep

三丶Lego_loam安装

先装依赖项gtsam

git clone https://bitbucket.org/gtborg/gtsam.git
mkdir build
cd build
make ..
sudo make install

lego_loam安装

//安装
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://gitee.com/Yeah2333/LeGO-LOAM.git

//编译
cd catkin_ws
catkin_make -j1
source devel/setup.bash
//运行
roslaunch lego_loam run.launch
rosbag play *.bag --clock --topic /velodyne_points /imu/data

此时应该已经没问题了

四丶Ouster OS1-32雷达测试Lego_loam SC

首先是雷达的配置,问题不大,也踩了很多坑,在导师的指导下和中文参考手册最终成功运行。

首先是雷达的配置

参考手册和链接:Jira Service Management

,记得改有线连接的IP让他和你的雷达IP一致!这我迷了很久,接着就下载固件 下载代码,编译什么的,具体不写了 看参考手册和链接 已经有个哥们配置128雷达写过了 里面出现的问题大多都能解决。

接着就是要跑Lego_loam SC 用自己雷达录制的数据包,需要改.bag文件的点云topic

采用Lego_LOAM运行 Ouster的离线包
在Ouster_example的运行空间中(你前面已经做好了的,os_ws),重新录制一下bag文件,并采用/os_cloud_node/points这个topic

(1)ow_ws 文件夹下,运行source devel/setup.bash
(2)继续运行
  roslaunch ouster_ros ouster.launch replay:=true  viz:=true image:=true
(3)再重新打开一个终端,运行包
  rosbag play .bag 
(4)再打开一个终端,运行
  rosbag record /os_cloud_node/points

需要改一些代码和参数

主要是头文件代码 SC的代码和最初的有区别 但差别不大

(1)Lego_LOAM_SC/include/utility.h文件修改
      1) struct PointXYZIR
           {            。。。
               uint 16_t ring //  改为 uint8_t 
           }
      
      2)POINT_CLOUD_REGISTER_STRUCT(.... uint16_t...) //改为uint8_t
       
      3) 改雷达参数
         //Ouster OS1-64中间的参数改为
         extern const int N_SCAN =32;
         其他参数的需要根据雷达的性能改


(2)改/Lgo_LOAM/src/imageProjection.cpp
      viod copyPointCloud(const sensor_msg:: PointCloud2ConstPrt。。。)
          中的这句话要取消注释
         cloudHeader.stamp = ros::Time::now(); 
(3)点云topic也要改

 // extern const string pointCloudTopic = "/velodyne_points";
// extern const string pointCloudTopic = "/kitti_scan";
//extern const string pointCloudTopic = "/os1_points";
extern const string pointCloudTopic = "/os_cloud_node/points";
extern const string imuTopic = "/imu/data";

接下来就是正常的运行Lego_loam

就没什么大问题了

参考链接: GitHub - RobustFieldAutonomyLab/LeGO-LOAM: LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain

参考链接:

参考链接:Ouster OS1-128 雷达调试_梦醒时分1218的博客-CSDN博客


LeGO-LOAM 编译安装_hehern的博客-CSDN博客

可以回答这个问题。在Ubuntu18.04中,在rplidar_ros中新建slam.launch文件的步骤如下: 1. 打开终端,输入以下命令安装rplidar_ros包: ``` sudo apt-get install ros-melodic-rplidar-ros ``` 2. 在终端中输入以下命令,创建一个新的工作空间: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace ``` 3. 在终端中输入以下命令,将rplidar_ros包复制到工作空间中: ``` cd ~/catkin_ws/src git clone https://github.com/robopeak/rplidar_ros.git ``` 4. 在终端中输入以下命令,编译工作空间: ``` cd ~/catkin_ws catkin_make ``` 5. 在终端中输入以下命令,打开slam.launch文件: ``` roscd rplidar_ros cd launch gedit slam.launch ``` 6. 在slam.launch文件中添加以下内容: ``` <launch> <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping"> <param name="base_frame" value="base_link"/> <param name="odom_frame" value="odom"/> <param name="map_frame" value="map"/> <param name="map_update_interval" value="1."/> <param name="maxUrange" value="10."/> <param name="sigma" value=".05"/> <param name="kernelSize" value="1"/> <param name="lstep" value=".05"/> <param name="astep" value=".05"/> <param name="iterations" value="5"/> <param name="lsigma" value=".075"/> <param name="ogain" value="3."/> <param name="lskip" value=""/> <param name="srr" value=".1"/> <param name="srt" value=".2"/> <param name="str" value=".1"/> <param name="stt" value=".2"/> <param name="linearUpdate" value=".2"/> <param name="angularUpdate" value=".1"/> <param name="temporalUpdate" value="3."/> <param name="resampleThreshold" value=".5"/> <param name="particles" value="30"/> <param name="xmin" value="-10."/> <param name="ymin" value="-10."/> <param name="xmax" value="10."/> <param name="ymax" value="10."/> <param name="delta" value=".05"/> <param name="llsamplerange" value=".01"/> <param name="llsamplestep" value=".01"/> <param name="lasamplerange" value=".005"/> <param name="lasamplestep" value=".005"/> <param name="tf_delay" value=".05"/> </node> <node pkg="rplidar_ros" type="rplidarNode" name="rplidarNode" output="screen"> <param name="serial_port" value="/dev/ttyUSB"/> <param name="serial_baudrate" value="115200"/> </node> </launch> ``` 7. 保存并关闭slam.launch文件。 8. 在终端中输入以下命令,启动slam.launch文件: ``` roslaunch rplidar_ros slam.launch ``` 这样就可以在Ubuntu18.04中在rplidar_ros中新建slam.launch文件了。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值