镭神C16 连接测试 + Cartographer 2D实时手持建图 Ubuntu18

admin 2025-09-22 阅读:28 评论:0
​之后,我们可以使用ifconfig查询连接的设备。运行ifconfig命令需要安装一个功能包,按照他的提醒信息进行安装即可。如下图所示,他会显示很多的设备,其中有一个设备的inet和netmask后面的数值正好是前面我们设置的192.1...

镭神C16激光雷达ping测试静态IP连接_镭神C16激光雷达ifconfig查询连接设备_cartographer

​之后,我们可以使用ifconfig查询连接的设备。运行ifconfig命令需要安装一个功能包,按照他的提醒信息进行安装即可。如下图所示,他会显示很多的设备,其中有一个设备的inet和netmask后面的数值正好是前面我们设置的192.168.1.102和255.255.255.0。每个人电脑上面的网口名称都不一样whatsapp网页版登录,下图中我的名称即为enx00e04c28105e,后面将会用的这个名称。

cartographer_镭神C16激光雷达ifconfig查询连接设备_镭神C16激光雷达ping测试静态IP连接

​镭神C16激光雷达默认的ip地址为 192.168.1.200,我们使用 ping ip可以查看电脑与其是否成功连接。我们前面设置的192.168.1.102是电脑的静态IP,激光雷达他将会数据发送至192.168.1.102这个目标IP地址。

ping 192.168.1.200
# 如果成功连接,应该如下图所示

镭神C16激光雷达ping测试静态IP连接_cartographer_镭神C16激光雷达ifconfig查询连接设备

然后whatsapp官网,我们可以进一步测试,看看我们的电脑是否能够正确收到雷达发送的数据。也就是从雷达IP 192.168.1.200发送到目标IP 192.168.1.102。如下图显示就说明连接成功啦。

# sudo tcpdump -n -i [name]
# 我的设备名为 enx00e04c28105e
sudo tcpdump -n -i enx00e04c28105e

镭神C16激光雷达ifconfig查询连接设备_镭神C16激光雷达ping测试静态IP连接_cartographer

下面这种情况说明没有连接成功,这个情况是我之前使用坏的网口进行测试遇到的输出。

镭神C16激光雷达ifconfig查询连接设备_镭神C16激光雷达ping测试静态IP连接_cartographer

如果测试结果不对,可以试试下面的命令。如果都不行,可以考虑买一个USB转网口。

# sudo ifconfig [name] down && sudo ifconfig [name] up
# 重启网络设备 enp3s0f1
sudo ifconfig enp3s0f1 down && sudo ifconfig enp3s0f1 up

2 Ros&Rviz测试

​如果上面的两个测试都通过了,那就可以下载功能包进行一个简单的测试。创建新的工作空间,并将TB客服提供的功能包lslidar_ros和pointcloud_to_laserscan拷贝进src目录。当然也可以直接拷贝到现成的工作空间下的src目录。功能包下载:

镭神C16 Ros功能包.zip - 蓝奏云

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

​编译过程中很可能会因为缺少相关的依赖而报错。我在我的电脑和同学的电脑上进行测试,主要会遇到两种报错,分别需要安装下面的两个功能包。具体的报错见下面的图片。

# pcap.h  报错
sudo apt-get install libpcap-dev
# tf2_sensor_msgs 报错
sudo apt-get install ros-melodic-tf2-sensor-msgs

如果还遇到了其他的报错,可以根据报错信息搜索一下缺少什么功能包。

镭神C16激光雷达ifconfig查询连接设备_cartographer_镭神C16激光雷达ping测试静态IP连接

镭神C16激光雷达ping测试静态IP连接_cartographer_镭神C16激光雷达ifconfig查询连接设备

之后,便可以运行对应的launch文件,获取点云数据,并将其显示到RVIZ中。

# cd 到工作空间
cd ~/lslidar
# 
source ./devel/setup.bash
roslaunch lslidar_driver start.launch
#   
source ./devel/setup.bash
roslaunch pointcloud_to_laserscan pointcloud_scan.launch
#  可视化点云数据
rviz

​如果电脑没能成功连接激光雷达,运行roslaunch lslidar_driver start.launch时,终端有黄色的"time out"提示。打开rviz之后,我们需要简单设置一下。需要在rviz中,添加PointCloud2组件,并选择话题/point_cloud_raw。同时,点击上方的Fixed Frame处的map,直接输入laser并回车。此时就可以在rviz中看见激光雷达的点云数据了。

cartographer_镭神C16激光雷达ifconfig查询连接设备_镭神C16激光雷达ping测试静态IP连接

3 Ubuntu 没有wire

我的电脑一度出现这种情况,如下图,Network界面没有wire(有线连接)。

镭神C16激光雷达ifconfig查询连接设备_cartographer_镭神C16激光雷达ping测试静态IP连接

正常情况是有wire的,如下

cartographer_镭神C16激光雷达ping测试静态IP连接_镭神C16激光雷达ifconfig查询连接设备

没有wire这个问题的最终解决,我的电脑行之有效的方法为:

ubuntu18.04没有网络,网络中或者右上角没有有线设置_lylg_ban的博客-CSDN博客_ubuntu18.04没有网络

从中提取主要内容如下:

1)查看interfaces文件是否正常

sudo gedit /etc/network/interfaces

img

2)修改NetworkManager.conf配置文件,将managed=false更改为managed=true,保存退出

sudo gedit /etc/NetworkManager/NetworkManager.conf

镭神C16激光雷达ping测试静态IP连接_镭神C16激光雷达ifconfig查询连接设备_cartographer

img

3)修改10-globally-managed-devices.conf配置文件,添加有线设备,添加内容如下

sudo gedit /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf

img

img

4)重启电脑

reboot

镭神C16激光雷达ifconfig查询连接设备_cartographer_镭神C16激光雷达ping测试静态IP连接

img4 Summary

一个快速进行连接测试的步骤如下,这里省略了前文不少内容。

ifconfig
# enx00e04c28105e 连接测试
sudo tcpdump -n -i enx00e04c28105e
# 测试
ping 192.168.1.200
# 感觉链接不对劲可以试试重启
sudo ifconfig enp3s0f1 down && sudo ifconfig enp3s0f1 up
# cd 
source ./devel/setup.bash
roslaunch lslidar_driver start.launch
#
source ./devel/setup.bash
roslaunch pointcloud_to_laserscan pointcloud_scan.launch
# 
rviz

​打开rviz之后,我们需要简单设置一下。需要在rviz中,添加PointCloud2组件,并选择话题/point_cloud_raw。同时,点击上方的Fixed Frame处的mapwhatsapp网页版,直接输入laser并回车。此时就可以在rviz中看见激光雷达的点云数据了。

P2 Cartograper 2D实时建图

关于cartographer的环境搭建,我后面会专门搞一篇文章,包括使用bag包进行建图的测试。要将镭神C16的数据发送给cartographer进行建图,我们需要在cartographer_ros功能包下编写对应的.lua配置文件和.launch启动文件。这里是针对镭神C16这一款激光雷达的,但是其方法思路是完全适用于其他型号的雷达的。因为我自身也是基于别的雷达的手持建图教程,摸索出来了镭神C16的手持建图方法的。

2023/2/10 最新更新:最近写了篇带有视频讲解的付费文章(WX平台),涵盖Cartographer 2D、3D建图、地图保存等内容,视频讲解总时长约48min。视频讲解相比较于文字叙述更利于学习,且提供了相应的bagfile用于模拟实物建图。感兴趣的小伙伴可以自行查看。2 Cartographer 实物建图教程 2D + 3D (IMU)

cartographer的极速环境配置教程如下(十几分钟轻轻松松):

Poao:Cartographer 环境极速配置 + 2D 3D建图测试

镭神C16激光雷达ping测试静态IP连接_cartographer_镭神C16激光雷达ifconfig查询连接设备

1 2D-Hand test 1

reference: https://blog.csdn.net/shsh0810/article/details/122360539

这里的建图demo是使用了雷达的原始数据scan_raw。其他型号的雷达可能是scan,但是镭神C16的lslidar_driver功能包只发布了话题"/scan_raw",cartographer不能获取到“scan”的数据。镭神C16的pointcloud_to_laserscan功能包将scan数据转换成了点云数据,这里介绍使用scan数据建图,下面的test2介绍使用点云数据建图。

# 在rviz中显示 laserscan
# 运行雷达节点
roslaunch lslidar_driver start.launch
# 打开rviz
rviz

需要在rviz中添加laserscan,通过按照下图箭头所示修改,Fixed Frame直接输入laser。由此我们也可以知道"/scan_raw"提供了雷达数据,可用于建图。

镭神C16激光雷达ping测试静态IP连接_cartographer_镭神C16激光雷达ifconfig查询连接设备

​以上,我们便确定了两个内容: 1)雷达的坐标系为laser 2)雷达发布的数据话题为/scan_raw。前者不同的雷达一般都是一样,后者不一定,可能是scan也可能是其他的,需要运行雷达的功能包之后打开rviz确认。我们后面需要在launch文件和lua文件中对应修改这两个内容。

1.1 lua配置文件

hand_test_2d.lua

include "map_builder.lua"
include "trajectory_builder.lua"
options = {
  map_builder = MAP_BUILDER,
  trajectory_builder = TRAJECTORY_BUILDER,
  map_frame = "map",
-- 下面两个frame需要修改为雷达的 坐标系,通常为laser
  tracking_frame = "laser",
  published_frame = "laser",
-- 只需要修改上面的坐标系即可
  odom_frame = "base_link",
  provide_odom_frame = true,
  publish_frame_projected_to_2d = false,
  use_pose_extrapolator = true,
  use_odometry = false,
  use_nav_sat = false,
  use_landmarks = false,
--  我们暂时使用laserscan 而非 pointcloud
  num_laser_scans = 1,
  num_multi_echo_laser_scans = 0,
  num_subdivisions_per_laser_scan = 1,
  num_point_clouds = 0,
  lookup_transform_timeout_sec = 0.2,
  submap_publish_period_sec = 0.3,
  pose_publish_period_sec = 5e-3,
  trajectory_publish_period_sec = 30e-3,
  rangefinder_sampling_ratio = 1.,
  odometry_sampling_ratio = 1.,
  fixed_frame_pose_sampling_ratio = 1.,
  imu_sampling_ratio = 1.,
  landmarks_sampling_ratio = 1.,
}
MAP_BUILDER.use_trajectory_builder_2d = true
TRAJECTORY_BUILDER_2D.submaps.num_range_data = 35
TRAJECTORY_BUILDER_2D.min_range = 0.3
TRAJECTORY_BUILDER_2D.max_range = 8.
TRAJECTORY_BUILDER_2D.missing_data_ray_length = 1.
TRAJECTORY_BUILDER_2D.use_imu_data = false
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true
TRAJECTORY_BUILDER_2D.real_time_correlative_scan_matcher.linear_search_window = 0.1
TRAJECTORY_BUILDER_2D.real_time_correlative_scan_matcher.translation_delta_cost_weight = 10.
TRAJECTORY_BUILDER_2D.real_time_correlative_scan_matcher.rotation_delta_cost_weight = 1e-1
POSE_GRAPH.optimization_problem.huber_scale = 1e2
POSE_GRAPH.optimize_every_n_nodes = 35
POSE_GRAPH.constraint_builder.min_score = 0.65
return options

1.2 launch启动文件

hand_test_2d.launch


   name="/use_sim_time" value="false" />
   name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory $(find cartographer_ros)/configuration_files
          -configuration_basename pzz_hand_test.lua"
      output="screen">
      
      
     from="scan" to="/scan_raw" />
      
  
   name="cartographer_occupancy_grid_node" pkg="cartographer_ros"
      type="cartographer_occupancy_grid_node" args="-resolution 0.05" />
   name="rviz" pkg="rviz" type="rviz" required="true"
      args="-d $(find cartographer_ros)/configuration_files/demo_2d.rviz" />

以上对应修改之后,编译一下即可进行测试。

1.3 测试

# 启动雷达数据发布节点
# 这里只需要启动 start即可
cd ~/lslidar_ws/
source ./devel/setup.bash
roslaunch lslidar_driver start.launch
# 启动cartographer
cd ~/carto_ws/cartographer_detailed_comments_ws/
source ./devel_isolated/setup.bash 
# 需要对应修改launch文件名
roslaunch cartographer_ros hand_test_2d.launch

然后,将会自动打开rviz。我们需要放大rviz界面,可以然后用手移动雷达,就可以实现二维的建图,如下图。

镭神C16激光雷达ifconfig查询连接设备_镭神C16激光雷达ping测试静态IP连接_cartographer

2 2D-Hand test 2

前面使用的是lslidar_driver功能包下的/scan_raw话题的雷达数据,而这个例程中使用的则是pointcloud_to_laserscan功能包发布的/point_cloud_raw话题的点云数据。为此,我们需要在前一个例程的基础上,分别修改lua文件和launch文件。

cartographer_ros的2d建图直接支持三维点云输入,因此可以不需要转换。本文建图将使用里程计和三维点云数据。

2.1 lua文件

新建一个hand_test_2d_cloud.lua文件,然后将前面的hand_test_2d.lua文件内容复制粘贴过去。此外需要修改下面的内容:

--  num_laser_scans 修改为0 
  num_laser_scans = 0,
  num_multi_echo_laser_scans = 0,
  num_subdivisions_per_laser_scan = 1,
 --  num_point_clouds 修改为1 
  num_point_clouds = 1,

2.2 launch文件

新建一个hand_test_2d_cloud.launch文件,然后将前面的hand_test_2d.launch文件内容复制粘贴过去。此外需要修改下面的内容:

 name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory $(find cartographer_ros)/configuration_files
          -configuration_basename hand_test_2d_cloud.lua"
      output="screen">
      
     from="points2" to="/point_cloud_raw" />
  

2.3 测试

然后编译一下,便可以运行launch文件进行测试:

# 启动雷达数据发布节点
cd ~/lslidar_ws/
source ./devel/setup.bash
roslaunch lslidar_driver start.launch
# 
source ./devel/setup.bash
roslaunch pointcloud_to_laserscan pointcloud_scan.launch
# 启动cartographer
cd ~/carto_ws/cartographer_detailed_comments_ws/
source ./devel_isolated/setup.bash 
# 需要对应修改launch文件名
roslaunch cartographer_ros hand_test_2d_cloud.launch

过程中cartographer运行终端可能会有黄色提示,但是影响不大。

镭神C16激光雷达ping测试静态IP连接_镭神C16激光雷达ifconfig查询连接设备_cartographer

​一个粗略的简图如下。相比较与前面使用的/scan_raw,这里使用的/point_cloud_raw建图速度更快,但是同时比较飘,没有前面那个准。

cartographer_镭神C16激光雷达ping测试静态IP连接_镭神C16激光雷达ifconfig查询连接设备

3D 建图?

cartographer的3d建图需要使用到imu数据。目前仅使用雷法数据,暂时不能进行3D建图,会疯狂报黄色的错误。后续有IMU数据了我再继续更新。

cartographer只有3d雷达和里程计,没有imu数据可以建图吗?

3D建图配置内容如下:

Poao:Cartographer 3D实时建图教程(超详细) - 镭神C16 + IMU (一)

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

3502文章数 0评论数
热门文章
  • 详细指南:WhatsApp国内使用方法全攻略-下载安装、注册登录及功能使用攻略

    详细指南:WhatsApp国内使用方法全攻略-下载安装、注册登录及功能使用攻略
    一、下载与安装WhatsApp WhatsApp是一款全球使用范围极广的即时通讯软件,不仅可以实现文本聊天,还能进行语音、视频通话WhatsApp中文版,发送文件等功能。由于众所周知的原因,国内用户想要下载和安装WhatsApp可能会遇到一些困难。不过,只要按照以下步骤操作,就能顺利完成WhatsApp的下载和安装。 首先,我们需要解决的是下载问题。由于WhatsApp在国内的应用商店无法直接下载,所以我们需要寻找其他的下载途径。Android用户可以选择到各大安卓市场搜索下...
  • 苹果IOS5.1.1机完美越狱

    苹果IOS5.1.1机完美越狱
    越狱工具下载:(需手动复制: http://bbs./read-htm-tid-4804612.html ) 详细的越狱教程: Absinthe 2.0.4的越狱方法与Absinthe 1.0的越狱方法完全一样,非常简单的“傻瓜一键式”。不过这里绿毒有说明,最好重新刷固件。支持越狱设备IOS5.1.1的固件下载地址请点击本站的IOS固件下载,看下图: 下载完固件之后,把设备连接iTunes,开始刷固件。你也可以选择不刷,但是在越狱的过程之中,新的系统在越狱时会比较的顺利,...
  • 电脑微信的聊天照片文件在哪里微信图片保存电脑哪个文件夹

    电脑微信的聊天照片文件在哪里微信图片保存电脑哪个文件夹
    1. 怎么找到微信聊天图片在哪个文件夹里 图片保存路径:/storage/emulated/tencent/MicroMsg/WeiXin/文件夹,这个是完整路径。而在文件夹中只需要找到/tencent/MicroMsg/WeiXinWhatsApp中文版,就可以了,前面两个文件夹是系统根目录。以下是保存及查找图片的方法步骤介绍。 第一步、找到桌面的微信APP,直接点击打开这个微信的APP。 2. 电脑微信图片保存在哪个文件夹 个人微信文件夹。 电脑版微信聊天的图片,都保存到...
  • Windows 11版WhatsApp将从UWP/Native切换回WebView2打包模式

    Windows 11版WhatsApp将从UWP/Native切换回WebView2打包模式
    Meta(最近更名为 Meta AI)悄然宣布,WhatsApp 将在 Windows 11 上放弃 UWP(WinUI)WhatsApp中文版,退回采用基于 Chromium 的容器。这意味着 WhatsApp 又回到了几年前的样子。由于 web.whatsapp.com 一直领先于 Windows 应用开发,它确实拥有一些新功能,但速度更慢,占用更多内存。 如果独立开发者因为无力维护所有平台的代码库而选择 Web 应用程序,那是一回事,但当像 Meta 这样价值万亿美元...
  • 小米下載WhatsApp的完整指南:安装与使用注意事项

    小米下載WhatsApp的完整指南:安装与使用注意事项
    综上所述,确保您的小米手机具备以上条件,将有助于您顺利下载和安装WhatsApp,享受便捷的通讯服务。在满足这些条件后,您就可以按照后续步骤进行WhatsApp的下载和安装。 2. 下载和安装WhatsApp的具体步骤 在小米手机上下载和安装WhatsApp的具体步骤相对简单,但需注意一些特殊情况。首先,确保你的手机系统已更新到最新版本,以保证最佳的兼容性。由于安卓手机商店内无法直接找到WhatsApp,你可以通过APKPure等第三方应用商店进行下载。打开APKPure应用...