【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + 万集716 单线激光 测试

news2025/1/10 23:57:18

        简介:介绍 万集716 单线激光 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看点云数据,本文的前提条件是你的TX1里已经安装了ROS版本:Melodic。关于测试硬件EHub_tx1_tx2_E100载板请查看:EdgeBox_EHub_tx1_tx2_E100 开发板评测_机器人虎哥的博客-CSDN博客

        大家好,我是虎哥,前段时间,机器人内更换雷达方案,听说万集的716雷达数据很稳,有幸申请到了样品,有感于网上对于上手就可以简单玩起来的说明比较少,所以总结一下自己的简单测试经验,分享给大家。

        WLR-716 是北京万集科技股份有限公司自主研发的一款测量型迷你激光雷达。该激光雷达采用激光的 TOF 原理,结合高频激光脉冲发生技术、精密的光学扫描系统和精致的结构设计,使其可以在 270°/8 米(@10%反射率漫反射面)范围内快速精确实现扫描测距,其高度的稳定性及对环境光的超强抗干扰能力结合其小巧的体积,使其非常适用于搭载 RGV/AGV 及其它类别的工业车辆/机器人对周边轮廓扫描,同时也适用于物流/安防等领域。

目录

一、万集716 单线激光介绍

1.1 主要特点

1.2 安装尺寸

1.3 扫描范围

1.4 官网资源获取

二、WIN端测试配置

2.1 打开软件,广播扫描:

2.2 链接雷达

2.3 根据需要修改配置,一般改最多的就是IP信息

三、ROS下查看点云

3.1 建立工作空间

3.2 拷贝代码

3.3 编译源码包

3.4 将板子IP修改到和雷达同一个网段

3.5 修改ROS 驱动启动脚本中对应的信息

3.6 启动驱动

4.6 启动RVIZ查看点云


一、万集716 单线激光介绍

官网入口:首页

         WLR-716 SLAM导航雷达,主要应用于SR(服务机器人)及AMR(自主移动机器人)的自然导航,雷达输出高质量点云,保证±2cm测距精度,可定制提供SLAM算法,大大促进SR及AMR项目的快速落地;雷达具有25m测距能力、测距精度高、数据够稳定,解决了SR及AMR在大空旷场景实现高精度定位的应用难题;雷达可抗强光、车规级生产工艺、多重回波设计,也为SR及AMR在室外高震动、雨雾天气等严酷环境的正常运行提供了保障。

1.1 主要特点

  • 高达 500KHZ 的激光脉冲发生技术、精密的光学扫描系统、高灵敏度接收电路、高精度计时电路。

  • 采用 1 级激光,保证人眼安全。

  • 稳定性高、对环境光的抗干扰能力强。

  • 采用多脉冲回波技术,能够滤除环境中漂浮物的干扰。

  • P66 防护等级。

  • 270°扫描角度,0.33°角度分辨率。

  • 测距精度

    • (10%漫反射面)0.05m-8m ±25mm 误差。

    • (白板测量)0.05m-25m ±25mm 误差。

  • 体积小、功耗低、外观时尚。

  • 适合不同的安装方法。

1.2 安装尺寸

1.3 扫描范围

      

        WLR-716 可以提供 270°范围的点云数据,180°的位置处于传感器的正前方,通过顶部的菱形标志进行标识。在俯视的视角下,角度随着顺时针方向递增(该方向为默认出厂状态,角度递增方向可根据具体需要在上位机中进行设置)。WLR-716 存在一段 90°的盲区,位于 45°-0°-315°的区间。

1.4 官网资源获取

资源获取入口:万集激光雷达

二、WIN端测试配置

        使用万集716/718系列的激光雷达需要先使用万集的上位机进行一些参数配置,主要为ip和端口号。

        将激光雷达上电通过网线连接在个人电脑上,打开上位机之后带点击左上角的网口---广播,点击开始广播,上位机会自动搜索激光雷达的ip,接着需要将个人电脑的ip修改为激光雷达同一网段,之后点击上位机左上角网口---激光器ip,填写激光雷达的真实ip和端口,接着点击网口---连接即可连接上激光雷达。 在连接上激光雷达之后可以在界面看到激光雷达的点云数据以及一些参数配置。为了能够在仙工智能控制器上使用,需要将激光雷达ip修改为192网段,修改完之后点击下载参数即可。

2.1 打开软件,广播扫描:

        这样就扫描出来了雷达的IP。根据广播得到的 IP 地址和端口号设置 PC 的网络参数与雷达为同一个网段。

2.2 链接雷达

根据广播得到的 IP 地址和端口号设置 PC 的网络参数与雷达为同一个网段。

 链接后既可以看到点云数据了。

2.3 根据需要修改配置,一般改最多的就是IP信息

读取信息

 修改信息

 下载参数:

 重启,生效修改

重启后,就会断开链接。

三、ROS下查看点云

上面WIN端,我们修改了IP信息,这里将雷达网口和测试主板链接到一起。ROS下的驱动官网既可以下载到。

3.1 建立工作空间

mkdir -p ~/WLR_ws/src
cd ~/WLR_ws/
catkin_make
source devel/setup.bash

3.2 拷贝代码

cd ~/WLR_ws/src
#将官网地址的代码包放置到这个目录解压

  

3.3 编译源码包

cd ~/WLR_ws
catkin_make --pkg wj_716_lidar

 编译完成。

3.4 将板子IP修改到和雷达同一个网段

我是将雷达直接连到板子网口的,所以对应网口IP我需要设置一个固定IP。雷达IP,见2.3.

 板子IP:

 修改完毕后,重新链接网口:

 可以ping通雷达。

 雷达和板子已经在同一个网段了。

3.5 修改ROS 驱动启动脚本中对应的信息

刚才我们根据需要已经修改了IP,接下来我们测试,需要使用脚本启动,需要修改脚本的对应IP信息。

cd ~/WLR_ws/src/wj_716_lidar/launch

脚本原始内容是: 
<?xml version="1.0"?>
<!-- start and stop angle is given in [rad] -->
<!--
default min_angle is -135 degree.
default max_angle is +135 degree.
​
Check IP-address, if you scanner is not found after roslaunch.
-->
​
<launch>
  <node name="wj_716_lidar_01" pkg="wj_716_lidar" type="wj_716_lidar" respawn="false" output="screen">
  <param name="hostname"         type="string"  value="192.168.0.2" />
  <param name="port"             type="string"  value="2110" />
  <!-- -135° -->
  <param name="min_ang"          type="double"  value="-2.35619449" />
  <!-- 135° -->
  <param name="max_ang"          type="double"  value="2.35619449" />
  <param name="frame_id"         type="str"     value="laser" />
  <param name="range_min"        type="double"  value="0.05" />
  <param name="range_max"        type="double"  value="25.0" />
​
  </node>
</launch>

修改其中的IP至,雷达实际IP。其它可以先不动。

 保存退出后我们就可以开始测试了。

3.6 启动驱动

cd ~/WLR_ws
source devel/setup.bash
#启动驱动
roslaunch wj_716_lidar wj_716_lidar_01.launch 

 新启动一个终端,我们可以初步看看驱动的一些节点信息:

rosnode list
--------------------------------------------------------------------------------
    /rosout
    /wj_716_lidar_01
    
rosnode info /wj_716_lidar_01
--------------------------------------------------------------------------------
    Node [/wj_716_lidar_01]
    Publications: 
     * /rosout [rosgraph_msgs/Log]
     * /scan [sensor_msgs/LaserScan]
     * /wj_716_lidar_01/parameter_descriptions [dynamic_reconfigure/ConfigDescription]
     * /wj_716_lidar_01/parameter_updates [dynamic_reconfigure/Config]
​
    Subscriptions: None
​
    Services: 
     * /wj_716_lidar_01/get_loggers
     * /wj_716_lidar_01/set_logger_level
     * /wj_716_lidar_01/set_parameters
​
​
    contacting node http://nvidia-desktop:39331/ ...
    Pid: 13395
    Connections:
     * topic: /rosout
        * to: /rosout
        * direction: outbound (54777 - 127.0.0.1:47812) [14]
        * transport: TCPROS
        
 rostopic echo /scan
--------------------------------------------------------------------------------
    header: 
      seq: 6184
      stamp: 
        secs: 1673063922
        nsecs: 632500432
      frame_id: "laser"
    angle_min: -2.35619449615
    angle_max: 2.35619449615
    angle_increment: 0.00581766664982
    time_increment: 6.17283949396e-05
    scan_time: 0.0
    range_min: 0.0
    range_max: 25.0
    ranges: [0.5690000057220459, 0.574999988079071,。。。。。。。。】

4.6 启动RVIZ查看点云

保持驱动是启动的情况下。我们使用nomachine链接到桌面,启动RVIZ。

rosrun rviz rviz

 刚添加完毕,还不会有数据点云,需要做一下话题配置。

 这样就可以看到激光数据了。

 可以将这个配置保存,以便后期直接查看。

  后面如果要查看,只需要直接使用RVIZ打开这个文件即可。

纠错,疑问,交流: 911946883@qq.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三、k8s资源管理

文章目录1 k8s资源管理介绍2 YAML语言介绍3 资源管理方式3.1 命令式对象管理3.2 命令式对象配置3.3 声明式对象配置3.4 如何编写YAML1 k8s资源管理介绍 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 kubernetes的本质…

MySQL字符集和排序规则详解

一. 相关概念1. 字符集MySQL提供了多种字符集和排序规则选择&#xff0c;其中字符集设置和数据存储以及客户端与MySQL实例的交互相关&#xff0c;排序规则和字符串的对比规则相关(1). 字符集的设置可以在MySQL实例、数据库、表、列四个级别(2). MySQL设置字符集支持在InnoDB, M…

Git学习:工作流学习实践

文章目录一、前言二、开发过程一、前言 在实践的项目开发过程中&#xff0c;会使用Git或者类似的版本控制工具来管理代码。下面介绍基于Git工具在实际项目开发过程中的使用流程。 如上图所示显示了项目开发的一个简化流程。在开发一个新需求/版本的时候&#xff0c;一般会从主…

筛法求欧拉函数

欧拉函数的定义 在数论中&#xff0c;对正整数n&#xff0c;欧拉函数是小于n的正整数中与n互质的数的数目. 欧拉函数的重要性质 若(即m与n互质)&#xff0c;则若为质数&#xff0c;则若为质数&#xff0c;则对于性质2&#xff0c;若为质数&#xff0c;则小于的个数都互质&am…

北大陈斌Python算法笔记(二)

前言 &#x1f340;作者简介&#xff1a;被吉师散养、喜欢前端、学过后端、练过CTF、玩过DOS、不喜欢java的不知名学生。 &#x1f341;个人主页&#xff1a;红中 &#x1f342;不就是蓝桥杯嘛&#xff0c;干他&#xff01;&#xff01;我堂堂 栈的应用&#xff1a;简单括号匹…

docker安装nginx与容器之间的互相通信

目录 1. docker网络模式 2. 连接容器的三种方法 3. Docker Networking 3.1 创建网络 3.2 查看宿主机中创建的网络 3.3 删除网络 3.4 如何使用网络 4.搭建Nginx 1.准备工作 1.1 拉取镜像 ​编辑1.2 在宿主机中创建挂载目录 2.准备2个tomcat 容器集群 3.准备 Nginx配…

力扣(LeetCode)1658. 将 x 减到 0 的最小操作数(C++/Python)

题目描述 逆向思维滑动窗口 题目分析 &#xff1a; 从数组左侧和右侧&#xff0c;取出左侧的连续数字&#xff0c;右侧的连续数字&#xff0c;使得这些数字之和等于 x&#xff0c;维护最小取数次数&#xff0c;作为答案 。 设整个数组之和 total &#xff0c;除去左侧和右侧的…

Notes 12.0.2版本新特性

大家好&#xff0c;才是真的好。 随着上周代号多瑙河的Notes/Domino 12.0.2版本正式发布&#xff0c;很多人在周末加班&#xff0c;写新特性和功能测试文档等&#xff0c;恩&#xff0c;我也是这样&#xff0c;所以今天第一时间来介绍下Notes 12.0.2客户机新特性。 从12.0.2版…

GC中的一些技术

OopMap&#xff08;ordinary object pointer map&#xff09; 记录时机 JIT编译时在特定的位置&#xff08;安全点/安全区&#xff09;记录下OopMap&#xff0c;记录了执行到该方法的某条指令的时候&#xff0c;栈上和寄存器里哪些位置是引用类加载动作完成时&#xff0c;Hot…

关于sql注入这一篇就够了

本文章根据b站迪总课程总结出来,若有不足请见谅 目录 本文章根据b站迪总课程总结出来,若有不足请见谅 存在sql注入条件 判断数据库类型 注入mysql思路 判断网站是否存在注入点 判断列名数量&#xff08;字段数&#xff09; 文件读写操作 网站路径获取方法 注入类型 按注入点数据…

Linux物理内存:伙伴系统(buddy system)

引入之前写过一篇文章将伙伴系统&#xff0c;可以参考&#xff1a;内存池算法简介从上面的虚拟机上可以看到&#xff0c;X86系统上&#xff0c;有三个物理内存区&#xff0c;DMA&#xff0c;DMA32&#xff0c;Normal&#xff0c;可以看到阶数为11。struct page {atomic_t _mapc…

J DBC相关

JDBC基础什么是JDBC入门程序功能类工具类SQL注入攻击原理PreparedStatement的介绍数据库连接池原理自定义连接池归还连接JDBC框架自定义JDBC框架JDBC基础 什么是JDBC 用于执行SQL语句的java API&#xff0c;实现不同关系型数据库的连接 入门程序 导入jar包 注册驱动 获取连…

Linux驱动开发基础__gpio子系统重要概念

目录 1 引入 2 在设备树中指定引脚 3 在驱动代码中调用GPIO子系统 4 sysfs 中的访问方法 1 引入 要操作 GPIO 引脚&#xff0c;先把所用引脚配置为 GPIO 功能&#xff0c;这通过 Pinctrl 子系统来实现。 然后就可以根据设置引脚方向(输入还是输出)、读值──获得电平状…

Windows Docker Desktop开放API端口2375用于远程调用

Windows Docker Desktop开放API端口2375用于远程调用问题解决开启IP Helper服务开启Docker配置开放2375端口端口映射找到需要暴露的IP执行端口映射命令Windows防火墙关闭防火墙添加防火墙规则测试问题 Windows Docker Desktop为了安全&#xff0c;默认设置中只有localhost:237…

入门的葡萄酒知识

葡萄酒的分类&#xff08;根据制造方法&#xff09; 静态葡萄酒 红葡萄酒 Red Wine&#xff0c;白葡萄酒 White Wine&#xff0c;玫瑰红/桃红/粉红葡萄Rose Wine。 气泡&#xff08;起泡&#xff09;葡萄酒 有气泡的葡萄酒&#xff0c;分香槟Champagne及气泡葡萄酒两类。只有在…

Servlet(上)

Servlet组件(上) 学习目标 了解Web资源的概念了解为什么需要Servlet掌握Servlet是什么掌握Servlet的HelloWorld掌握Servlet的执行原理掌握Servlet的生命周期和生命周期方法掌握ServletConfig的使用掌握Servlet的体系结构掌握Servlet的映射路径的编写方式掌握创建Servlet最常用…

机器学习简单介绍

机器学习简介 定义 机器学习是人工智能(AI)和计算机科学的一个分支&#xff0c;专注于使用数据和算法来模仿人类的学习方式&#xff0c;逐步提高其准确性。 简单来说&#xff0c;是一种运用数学公式来对问题进行最优化求解的方法 分类 一般来说将&#xff1a;机器学习分为…

睿联技术在创业板过会:收入依赖摄像机单机,计划募资11亿元

2023年1月6日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;深圳市睿联技术股份有限公司&#xff08;下称“睿联技术”&#xff09;获得创业板上市委员会审议通过。据贝多财经了解&#xff0c;睿联技术的上市申请于2022年6月2日获得创业板受理。 本次冲刺创业板上市&am…

Unity 3D 地形系统概述|| Unity 3D 创建地形

在三维游戏世界中&#xff0c;通常会将丰富多彩的游戏元素融合在一起&#xff0c;比如游戏中起伏的地形、郁郁葱葱的树木、蔚蓝的天空、、凶恶的猛兽等&#xff0c;营造出身临其境的游戏沉浸感&#xff0c;让玩家置身游戏世界&#xff0c;忘记现实。 地形作为游戏场景中必不可…

Git 基本概念

一、git 官网 https://git-scm.com/ 二、git 数据传输命令 三、基本操作 1、命令整理 命令说明git init初始化 git 库git config获取和设置存储库或全局配置项git status显示工作树状态git add将文件内容添加到index(暂存区)git commit将index(暂存区)修改提交到本地仓库gi…