【A200】Ubuntu18.04 + ROS-Melodic + 比业电子VISIOSCAN雷达 评测

news2024/11/16 21:31:45

        大家好,我是虎哥,朋友介绍,有一款单线激光雷达,25米的检测距离,有80HZ的扫描频率,而且角度分辨率最高可以到0.1°,这个参数我确实没有见过,所以立刻着手从厂家那申请到了VISIOSCAN雷达样品,第一时间亲自做做接入适配测试,总结一下自己的简单测试经验,分享给大家。

        LZR®-VISIOSCAN RD是一款紧凑可靠的激光扫描仪,用于AGV/AMR在复杂的工业环境中的精确定位和导航。基于TOF技术,传感器可在275°的测量角度上扫描周围环境。LZR®-VISIOSCAN RD具有高角度分辨率和长探测范围,最适合SLAM导航应用AMR和叉车。通过灵活的访问端口和Starfleet软件,传感器易于配置和诊断。

目录

一、LZR®-VISIOSCAN RD 单线激光介绍

1.1 扫描范围

1.2 技术参数

二、WIN端测试配置

2.1 软件安装

2.2 链接雷达

2.3 软件界面介绍

2.4 修改雷达的IP

三、ROS下查看点云

3.0 设置雷达对应链接网口至同一网段IP

3.1 建立工作空间

3.2 拷贝代码

​编辑

3.3 编译源码包

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

3.6 启动驱动

3.7 启动RVIZ查看点云

​编辑

四、总结


一、LZR®-VISIOSCAN RD 单线激光介绍

        比业电子是一家很成熟的激光器生产厂家,之前一直致力于自动门行业的安全检测装置,这一款也是厂家为求突破,技术转化的一款产品,继承了厂家安全第一,可靠稳定的特点。

        LZR®-VISIOSCAN RD生成高分辨率检测场每秒110080次可靠的距离测量,最高可达0.1°角分辨率,非常适合SLAM导航。厂家提供ROS驱动,利用BEA ROS驱动程序,该传感器可以很容易地集成到导航系统中。

1.1 扫描范围

        LZR®-VISIOSCAN 可以提供 275°范围的点云数据,90°的位置处于传感器的正前方,存在一段 90°的盲区,位于 227.5°~312.5°的区间。

1.2 技术参数

  • 线数:单线

  • 扫描原理:TOF

  • 测距能力:0.08 - 25 m @ 90% reflectivity

  • 精度(典型值):±20mm(典型值),静态可达±15mm

  • 扫描角度:275°

  • 水平角分辨率:0.2° @ 80 Hz, 0.1° @ 40 Hz

  • 扫描速度:110080次 per second

  • 以太网输出:网口(TCP/IP,100MBit/s)

  • 工作功率:< 5.5W

  • 供电电压:12-24 V DC

  • 工作温度:-30°C to +60°C

  • 防护等级:IP67

  • 尺寸:85.5mmX80.2mmX73.5mm

二、WIN端测试配置

2.1 软件安装

官方提供了点云专用显示软件,并且支持很多CPU平台,我实在WIN11系统下,采用X64版本进行的测试。

默认需要安装一下。

之后一路next就可以。然后等待安装完成。

安装完毕。

安装完毕后,你的电脑桌面多了一个文件夹。

打开软件先看看。

软件界面还挺有科幻感。接下来我们就是需要将雷达接到你电脑的网口上,雷达默认IP是:192.168.1.2 端口为:3050,这个在官方提供的手册上就能找到。先把自己的链接雷达的网卡修改到1网段一个固定IP上。我自己的电脑我设置是:192.168.1.80

试试能不能ping通雷达默认的IP:

说明电脑和雷达之前的网络通信是OK的。接下来我们用官方软件先连上看看。

2.2 链接雷达

选择链接传感器。

然后继续

然后继续链接。

成功打开,你就可以看到雷达点云了。此时我们可以详细看看参数。

2.3 软件界面介绍

你可以移动鼠标,查看点云上的详细信息。

你还可以录制点云数据,录制成文件保存

你也可以打开之前录制的点云数据,进行播放查看。

还可以查看实时数据表

2.4 修改雷达的IP

首先,网络信息配置窗口。

比如我们修改到2网段:

这个时候已经生效,所以需要我们修改自己的IP重新链接。

原来的IP已经无法ping通,我们修改自己的网卡IP至2网段。

修改后使用新的IP可以ping 通。

重新链接软件看看。需要重新打开软件。

正常显示链接。整体修改IP还是比较快速的。

三、ROS下查看点云

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

       A200是我自己设计的双网口,双CAN的TX1控制器,针对这种高频率的雷达,确实需要多个独立网口的设备,否则交换机一般真未必能抗住。废话不说了,进入系统。

3.0 设置雷达对应链接网口至同一网段IP

雷达和控制器正常可以互通。

3.1 建立工作空间

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

3.2 拷贝代码

#将官方提供的驱动代码包放置到这个目录解压
cd ~/SensorWS/BEA_ws/src

3.3 编译源码包

cd ~/SensorWS/BEA_ws
catkin_make --pkg visioscan_rd

编译完成。

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

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

cd ~/SensorWS/BEA_ws/src/visioscan_rd/launch
​脚本原始内容是:
<?xml version="1.0"?>
<launch>
  <arg name="frame_id" default="laser"/>
  <arg name="laser_ip" default="192.168.1.2"/>
  <arg name="laser_port" default="3050"/>
  <arg name="data_direction" default="1"/>
  <arg name="scan_topic_id" default="scan"/>
​
  <node pkg="visioscan_rd" type="bea_node" name="bea_node" respawn="false" output="screen">
    <param name="frame_id" value="$(arg frame_id)"/>
    <param name="laser_ip" value="$(arg laser_ip)"/>
    <param name="laser_port" value="$(arg laser_port)"/>
    <param name="data_direction" value="$(arg data_direction)"/>
    <param name="scan_topic_id" value="$(arg scan_topic_id)"/>
  </node>
</launch>
~      
 修改其中的IP至雷达实际IP。

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

3.6 启动驱动

cd ~/SensorWS/BEA_ws
source devel/setup.bash
#启动驱动
roslaunch visioscan_rd visioscan_rd.launch

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

rosnode list
--------------------------------------------------------------------------------
    /bea_node
    /rosout
    
rosnode info /bea_node
--------------------------------------------------------------------------------
    Node [/bea_node]
    Publications: 
     * /rosout [rosgraph_msgs/Log]
     * /scan [sensor_msgs/LaserScan]
​
    Subscriptions: None
​
    Services: 
     * /bea_node/get_loggers
     * /bea_node/set_logger_level
​
​
    contacting node http://nvidia-desktop:37727/ ...
    Pid: 12571
    Connections:
     * topic: /rosout
        * to: /rosout
        * direction: outbound (53197 - 127.0.0.1:33242) [14]
        * transport: TCPROS
        
 rostopic echo /scan
--------------------------------------------------------------------------------
    header: 
      seq: 27321
      stamp: 
        secs: 1690977124
        nsecs: 852644577
      frame_id: "laser"
    angle_min: -2.40157294273
    angle_max: 2.40157294273
    angle_increment: 0.00349065847695
    time_increment: 0.0125000001863
    scan_time: 0.0
    range_min: 0.0
    range_max: 25.0
   后面的具体数据我就省略掉了。
​
 rostopic hz /scan

果然是80HZ,我们可以看看CPU占用。

CPU占用也还不错,没有大多少。

3.7 启动RVIZ查看点云

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

rosrun rviz rviz

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

这样就可以看到激光数据了。数据确实挺稳的,禁止的时候你还以为死机了!哈哈。

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

官方驱动里面也提供了配置好的,只需要直接使用RVIZ打开这个文件即可。

rosrun rviz rviz -d ~/SensorWS/BEA_ws/src/visioscan_rd/rviz/visioscan_rd.rviz

四、总结

整体我自己跑测试过程很顺利,也比较简单明白,没有那么多繁琐的配置。顺道说说VISIOSCAN的优势吧:

  1. 超高的扫描频率,40HZ和80HZ可选,这个参数真的很少见,尤其是在这个扫描频率下还可以保证最高0.1°的角度分辨率,这个难度还是有一点的。

  2. 超稳定的点云数据,静止不动的时候,你都感觉死机了!

  3. 重要的,价格竟然也不高,性价比没得说,强烈推荐!五星好评**

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

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

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

相关文章

Android的Handler消息通信详解

目录 背景 1. Handler基本使用 2. Handler的Looper源码分析 3. Handler的Message以及消息池、MessageQueue 4. Handler的Native实现 4.1 MessageQueue 4.2 Native结构体和类 4.2.1 Message结构体 4.2.2 消息处理类 4.2.3 回调类 4.2.5 ALooper类 5. 总结&…

轻量级目标检测模型NanoDet-Plus微调、部署(保姆级教学)

前言 NanoDet-Plus是超快速、高精度的轻量级无锚物体检测模型&#xff0c;github项目文件。可以在移动设备上实时检测。其主要特点是 超轻量&#xff1a;模型文件仅980KB(INT8)、1.8MB(FP16)超快&#xff1a;移动ARM CPU上97fps&#xff08;10.23ms&#xff09;高精度&#xf…

C++内存管理(动态内存开辟)

我们在C语言当中想要使用堆区的空间的时候就需要使用malloc函数进行手动的申请&#xff0c;但是我们在申请的时候需要手动进行计算&#xff0c;经过计算之后还需要进行判空操作&#xff0c;并且还不能进行任意值的初始化。这一切看起来在学习完C当中的动态开辟之前显得很正常&a…

最新版本mac版Idea 激活Jerbel实现热部署

1.环境准备 1.安装docker desktop 客户端创建本地服务 2.创建guid 3.随便准备一个正确格式的邮箱 2.具体操作 1.通过提供的镜像直接搭建本地服务 docker pull qierkang/golang-reverseproxy docker run -d -p 8888:8888 qierkang/golang-reverseproxy2.guid 通过如下网址直…

小C说历史(人物介绍第一篇):传奇人物Linus Torvalds 缔造Linux和Git

传奇人物Linus Torvalds 缔造Linux和Git Linus Torvalds&#xff0c;1969年12月28日出生于芬兰的赫尔辛基&#xff0c;Linux核心的创作者。当Linus十岁时&#xff0c;他的祖父&#xff0c;赫尔辛基大学的一位统计教授&#xff0c;购买了一台Commodore VIC-20计算机。Linus帮助他…

Mybatis-Plus面向实用知识点——结合SpringBoot

目录 环境配置基本流程各类中的方法BaseMapperIServiceCOUNTGETQueryListPageRemoveSaveUpdate 环境配置 参考java项目各框架环境配置 基本流程 创建Mapper Mapper public interface MyMapper extends BaseMapper<Entity>{}创建Service public interface MyService …

【娱乐圈明星知识图谱2】信息抽取

目录 1. 项目介绍 2. 信息抽取介绍 3. ChatGPT 信息抽取代码实战 4. 信息抽取主逻辑 5. 项目源码 1. 项目介绍 利用爬虫项目中爬取的大量信息 【娱乐圈明星知识图谱1】百科爬虫_Encarta1993的博客-CSDN博客娱乐圈明星知识图谱百度百科爬虫百度百科爬虫百度百科爬虫百度百…

【vue】 vue2 监听滚动条滚动事件

代码 直接上代码&#xff0c;vue单文件 index.vue <template><div class"content" scroll"onScroll"><p>内容</p><p>内容</p><p>内容</p><p>内容</p><p>内容</p><p>内容…

java 定时任务不按照规定时间执行

这里写目录标题 使用异步启动可能出现的问题排查代码中添加的定时任务步骤是否正确排查是否任务阻塞&#xff0c;如果定时任务出现异常阻塞后&#xff0c;将不会在次执行java中多个Scheduled定时器不执行为了让Scheduled效率更高&#xff0c;我们可以通过两种方法将定时任务变成…

springboot 整合代码块实现访问

一 springboot整个代码块实 2.访问

补充JDK源码-IDEA集成工具

在阅读JDK8源码的时候发现&#xff0c;只有一小部分常用包是存在源码及其注释的&#xff0c;而很多内部包是没有源码&#xff0c;class文件在阅读的时候对阅读者十分不友好。在网上搜集了很多资料都没有解决问题。 解决问题办法&#xff1a;参考文档。本文主要是根据这篇文章记…

语义检索系统【一】:基于无监督预训练语义索引召回:SimCSE、Diffcse

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

VB6: 安装界面中文乱码,打开项目中文乱码

Win11环境下的VB6开发&#xff0c;遇到中文乱码问题。 1.在安装VB6开发环境的时候&#xff0c;对话框各种乱码 2.安装完&#xff0c;或者用绿色版VB6&#xff0c;打开现有项目的时候&#xff0c;中文内容出现乱码 解决方法&#xff1a; 参考这篇文章&#xff1a;Windows: 文…

cc2652主协处理器分时控制同一个外设的问题

问题已提交TI论坛&#xff0c;我是提交到的中文论坛&#xff0c;然后fae给转到英文论坛了。 简单描述就是&#xff0c;怎么让这个单片机一会用主处理器控制SPI设备&#xff0c;一会再用协处理器控制同一个设备。 主处理器的spi配置使用 CCS studio配置的 协处理器使用Sensor Co…

监控对象都有哪些分类

1、业务监控 这类指标是管理层非常关注的&#xff0c;代表企业营收&#xff0c;或者跟客户主流程相关&#xff0c;类似 BI 数据。不过相比 BI 数据&#xff0c;业务监控指标有两点不同。 对精确度要求没有那么高&#xff1a;因为监控只要发现趋势异常就可以&#xff0c;至于是…

Spring Boot的自动配置原理

一.原理解释 Spring Boot的自动配置是Spring框架的一个重要特性&#xff0c;它旨在简化应用程序的开发和部署过程。自动配置通过基于类路径中的依赖关系和配置文件内容来预先配置Spring应用程序的各种组件和功能。这样&#xff0c;我们可以在无需显式配置大量参数的情况下&…

springboot中配置bpmnjs插件-activiti7流程图绘制插件/IDEA中运行bpmnjs

BPMNJS的安装和使用需要依赖nodejs插件,需要先安装NODEJS,因为bpmnjs插件的运行需要使用到NODEJS中的npm命令。 安装nodejs 安装和使用bpmnjs插件,绘制activiti工作流需要的流程图。 1、安装和配置nodejs 2.1、下载nodejs https://nodejs.org/en 1.2、安装nodejs,默认安…

通用指令(汇编)

一、数据处理指令1&#xff09;数学运算数据运算指令的格式数据搬移指令立即数伪指令加法指令带进位的加法指令减法指令带借位的减法指令逆向加法指令乘法指令数据运算指令的扩展 2&#xff09;逻辑运算按位与指令按位或指令按位异或指令左移指令右移指令位清零指令 3&#xff…

RabbitMQ-API

这里写目录标题 Hello word 模式添加依赖生产者消费者获取信道工具类 Work Queues模式消费者代码 C1开启多线程运行启动 消费者代码 C2生产者代码 消息应答自动应答消息应答的方法Multiple 的解释消息自动重新入队消息手动应答代码消费者API 队列持久化消息持久化不公平分发消息…

思科模拟器配置静态路由(下一跳使用IP)

Router0配置代码&#xff1a;##端口配置 Router(config)#int fastEthernet 0/0 Router(config-if)#ip address 192.168.10.254 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#int fastEthernet 0/1 Router(config-if)#ip address 192.168.20.1 255.255.255.2…