科力雷达Lidar使用指南

科力2D Lidar使用指南

作者: Herman Ye @Galbot @Auromix
版本: V1.0
测试环境: Ubuntu20.04(x86) PC 以及 Ubuntu20.04(Arm) Nvidia Orin
更新日期: 2023/11/11
1 本文内容中的硬件由 @Galbot 提供支持。
2 @Auromix 是一个机器人爱好者开源组织。
3 本文在更新日期经过测试,确认有效。
4 本文中直接引用科力官方文档的部分内容,版权为科力所有。

Quickstart Guide

1.安装及编译

# Go to your workspace src
cd ~/galbot_ws/src
# Download latest package (Warning@HermanYe: bugs exist.)
git clone https://gitee.com/keli_tech31/sdkeli_ls_udp.git
# Set permissions for directory
sudo chmod 775 -R sdkeli_ls_udp
# Install dependencies
cd ~/galbot_ws
rosdep install --ignore-src --from-path src --rosdistro noetic -y
# Build rm_msgs and galbot_ros_interfaces(Info@HermanYe: Only if you use galbot_ros and realman arm)
catkin_make --pkg rm_msgs
catkin_make --pkg galbot_ros_interfaces
# Build the workspace
catkin_make

2.IP配置

雷达设备的默认网络信息为:

DeviceAddressNetmaskGateway
Keli Lidar192.168.0.1255.255.255.0192.168.1.1

若不修改IP,则只需要将本机的以太网连接信息更改为和雷达同一网段

DeviceAddressNetmaskGateway
My computer192.168.0.233255.255.255.0192.168.1.1

通过ping进行测试

ping 192.168.0.10

使用上位机修改雷达IP

修改雷达IP到需要使用的网段,此处设定雷达IP为192.168.1.25 ,上位机在software_and_docs文件夹中,上位机软件的压缩包解压密码为keili2021

  • 运行帮助软件,并通过以太网扫描设备、建立连接,效果如图:
    在这里插入图片描述
    通过以太网扫描->选中IP为192.168.0.10的设备,调整设备网络参数->IP地址->更改为192.168.1.25或其他需要的值->随后在设备网络参数修改中点击网络配置->完成配置后断电重启Lidar->通过以太网连接看是否有数据返回

注意: 本机的静态IP设置也需要随之更改。

在这里插入图片描述

设置本机IP

此时Lidar和本机的IP设置应当如下

DeviceAddressNetmaskGateway
Keli Lidar192.168.1.25(此前修改后的IP值)255.255.255.0192.168.1.1
My computer192.168.1.233(192.168.1.xxx均可)255.255.255.0192.168.1.1

测试ping正常

通过ping进行测试,应该返回如下结果:

ping 192.168.1.25
PING 192.168.1.25 (192.168.1.25) 56(84) bytes of data.
64 bytes from 192.168.1.25: icmp_seq=1 ttl=128 time=0.138 ms
64 bytes from 192.168.1.25: icmp_seq=2 ttl=128 time=0.122 ms
64 bytes from 192.168.1.25: icmp_seq=3 ttl=128 time=0.183 ms
64 bytes from 192.168.1.25: icmp_seq=4 ttl=128 time=0.188 ms

修改Launch文件中的IP设置

# Go to your workspace src
cd ~/galbot_ws/src
# Edit config
sudo nano sudo nano /sdkeli_ls_udp/launch/sdkeli_ls1207de_udp_with_1_lidar.launch

将IP相关行修改为:

      <param name="hostname" type="string" value="192.168.1.25" />

4.运行

运行雷达节点

# Terminal 1
roslaunch sdkeli_ls_udp sdkeli_ls1207de_udp_with_1_lidar.launch 

查看雷达消息的可视化

# Terminal 2
rviz

在这里插入图片描述

在这里插入图片描述

其他有用信息

雷达参数配置

# Go to your workspace src
cd ~/galbot_ws/src
# Edit config
sudo nano /sdkeli_ls_udp/cfg/SDKeliLs.cfg

注意: 修改后需重新编译

官方相关文档原文和上位机软件

上位机软件的压缩包解压密码为keili2021

# Go to your workspace src
cd ~/galbot_ws/src
# Check readme and software
cd sdkeli_ls_udp/software_and_docs
ls

ROS消息及其格式

话题为/keli_scan,类型为sensor_msgs/LaserScan

# sensor_msgs/LaserScan 
std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
float32 angle_min
float32 angle_max
float32 angle_increment
float32 time_increment
float32 scan_time
float32 range_min
float32 range_max
float32[] ranges
float32[] intensities

包目录

# sdkeli_ls_udp package tree

├── cfg # 配置目录
│   └── SDKeliLs.cfg # 配置文件
├── CMakeLists.txt # CMake配置
├── include # 头文件目录
│   └── sdkeli_ls_udp
│       ├── parser_base.h
│       ├── sdkeli_ls1207de_parser.h
│       ├── sdkeli_ls_common.h
│       ├── sdkeli_ls_common_udp.h
│       ├── sdkeli_ls_constants.h
│       └── sdkeli_ls_sensor_frame.h
├── launch # 启动文件
│   ├── sdkeli_ls1207de_udp_nodelet_with_1_lidar.launch
│   ├── sdkeli_ls1207de_udp_nodelet_with_2_lidars.launch
│   ├── sdkeli_ls1207de_udp_with_1_lidar.launch
│   └── sdkeli_ls1207de_udp_with_2_lidars.launch
├── meshes # 模型文件
│   └── sdkeli_ls1207de.stl
├── package.xml # 包描述
├── plugins
│   └── sdkeli_ls1207de.xml
├── README.md # 不详细的readme
├── software_and_docs # 官方原文档及上位机软件
│   ├── 使用说明书-LS2测量型激光雷达(2021年8月版).pdf
│   ├── 科力激光扫描仪ROS包使用说明.doc
│	└── ···
├── src # 代码
│   ├── parser_base.cpp
│   ├── sdkeli_ls1207de.cpp
│   ├── sdkeli_ls1207de_nodelet.cpp
│   ├── sdkeli_ls1207de_parser.cpp
│   ├── sdkeli_ls_common.cpp
│   ├── sdkeli_ls_common_udp.cpp
│   ├── sdkeli_ls_sensor_frame.cpp
│   └── style_c1.bat
└── urdf # 机器人描述文件
    ├── sdkeli_ls1207de_2.urdf.xacro
    ├── sdkeli_ls1207de.urdf.xacro
    └── sdkeli_ls_udp.urdf.xacro

Troubleshooting

数值转换问题

Error

将较大的整数值(比如int)转换为较小的整数类型(比如char)时,编译器可能会发出警告,因为这可能导致数据丢失或溢出,此处涉及将整数值(如165和170)转换为字符类型(char)。

/home/hermanye20/galbot_ws/src/sdkeli_ls_udp/include/sdkeli_ls_udp/sdkeli_ls_constants.h:22:95: error: narrowing conversion of ‘165’ from ‘int’ to ‘char’ [-Wnarrowing]
/home/hermanye20/galbot_ws/src/sdkeli_ls_udp/include/sdkeli_ls_udp/sdkeli_ls_constants.h:22:95: error: narrowing conversion of ‘170’ from ‘int’ to ‘char’ [-Wnarrowing]
/home/hermanye20/galbot_ws/src/sdkeli_ls_udp/include/sdkeli_ls_udp/sdkeli_ls_constants.h:23:95: error: narrowing conversion of ‘250’ from ‘int’ to ‘char’ [-Wnarrowing]
   23 | const char CMD_START_STREAM_DATA[]           = {0xFA, 0x5A, 0xA5, 0xAA, 0x00, 0x02, 0x01, 0x01};
      |                                                                                               ^
/home/hermanye20/galbot_ws/src/sdkeli_ls_udp/include/sdkeli_ls_udp/sdkeli_ls_constants.h:23:95: error: narrowing conversion of ‘165’ from ‘int’ to ‘char’ [-Wnarrowing]
/home/hermanye20/galbot_ws/src/sdkeli_ls_udp/include/sdkeli_ls_udp/sdkeli_ls_constants.h:23:95: error: narrowing conversion of ‘170’ from ‘int’ to ‘char’ [-Wnarrowing]
make[2]: *** [sdkeli_ls_udp/CMakeFiles/sdkeli_ls_udp_lib.dir/build.make:76: sdkeli_ls_udp/CMakeFiles/sdkeli_ls_udp_lib.dir/src/sdkeli_ls_common.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:8194: sdkeli_ls_udp/CMakeFiles/sdkeli_ls_udp_lib.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Invoking "make -j32 -l32" failed

solution

不要使用官方最新repo的代码,存在问题。尝试使用商用稳定版本。

雷达通讯建立失败问题

Error

在启动雷达节点是出现连接失败,硬件LED灯未显示6表示未建立网络通信


[ INFO] [1699696621.075139454]: sending data to '192.168.0.10' (IP : 192.168.0.10) (PORT : 2112)
[ WARN] [1699696626.079184014]: GetDataGram timeout for 5s
[ERROR] [1699696626.079250132]: SDKELI_LS - Read Error when getting datagram: 1
[ERROR] [1699696626.079360133]: close socket and CloseDevice
[ INFO] [1699696626.079401922]: sdkeli_ls_udp drvier exiting.

[ INFO] [1699696626.262384635]: sending data to '192.168.0.10' (IP : 192.168.0.10) (PORT : 2112)
^C[sdkeli_ls1207de-2] killing on exit
[robot_state_publisher-1] killing on exit
[ WARN] [1699696629.064359551]: GetDataGram timeout for 5s
[ERROR] [1699696629.064417953]: SDKELI_LS - Read Error when getting datagram: 1
[ERROR] [1699696629.064533220]: close socket and CloseDevice
[ INFO] [1699696629.064574961]: sdkeli_ls_udp drvier exiting.

^Cshutting down processing monitor...
... shutting down processing monitor complete
done

solution

通过win环境下上位机帮助软件修改设备IP

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣100题——子串

560.和为k的子数组 这道题目不是滑动窗口的类型&#xff0c;因为长度并不是固定的。&#xff08;好的&#xff0c;我在说废话&#xff09; 注意题目要求是子数组&#xff0c;且是连贯的。那这里的话&#xff0c;解法有很多&#xff0c;最简单的就是暴力解法&#xff0c;但在这…

无缝集成GORM与Go Web框架

探索GORM与流行的Go Web框架之间的和谐集成&#xff0c;以实现高效的数据管理 高效的数据管理是每个成功的Web应用程序的基础。GORM&#xff0c;多才多艺的Go对象关系映射库&#xff0c;与流行的Go Web框架非常搭配&#xff0c;提供了无缝集成&#xff0c;简化了数据交互。本指…

Git可视化界面的操作,SSH协议的以及IDEA集成Git

目录 一. Git可视化界面的操作 二. gitee的ssh key 2.1 SSH协议 2.2 ssh key 三. IDEA集成Git 3.1 分享项目 3.2 下载项目 一. Git可视化界面的操作 上一篇博客只用到了git的命令窗口&#xff0c;现在就来看看可视化窗口要怎么操作。 点击Git GUI Here GUI界面 在g…

【Git】git常用命令大全

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Git》。&#x1f3af;&#x1f3af; &#x1f449…

afsim 下载链接

afsim是一个通用的建模框架&#xff0c;能够构建典型的虚拟威胁环境和相关模型。能够以可视化形式分析软件仿真结果&#xff0c;显示平台、路由、传感器区域等内容&#xff0c;能够基于事件生成图表&#xff0c;进行结果统计&#xff0c;能够按类型进行统计分析。 苦于网上没有…

【Git】Git分支与应用分支

一&#xff0c;Git分支 1.1 理解Git分支 在 Git 中&#xff0c;分支是指一个独立的代码线&#xff0c;并且可以在这个分支上添加、修改和删除文件&#xff0c;同时作为另一个独立的代码线存在。一个仓库可以有多个分支&#xff0c;不同的分支可以独立开发不同的功能&#xff0…

maven教程

1. Maven概述 1.1 Maven的功能 1、Maven 作为依赖管理工具 随着我们使用越来越多的框架&#xff0c;或者框架封装程度越来越高&#xff0c;项目中使用的jar包也越来越多。项目中&#xff0c;一个模块里面用到上百个jar包是非常正常的。jar包所属技术的官网通常是英文界面&am…

极智芯 | 存算一体 弯道超车的希望

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多经验分享 大家好&#xff0c;我是极智视界&#xff0c;本文分享一下 存算一体 弯道超车的希望。 邀您加入我的知识星球「极智视界」&#xff0c;星球内有超多好玩的项目实战源码和资源下载&#xff0c;链接&#xff1a;…

【C++笔记】优先级队列priority_queue的模拟实现

【C笔记】优先级队列priority_queue的模拟实现 一、优先级队列的介绍与使用方式1.1、优先级队列介绍1.2、优先级队列的常见使用 二、优先级队列的模拟实现1.0、仿函数的介绍1.1、构造函数1.2、优先级队列的插入push1.3、优先级队列的删除(删除堆顶元素)1.4、获取堆顶元素1.5、判…

MATLAB仿真通信系统的眼图

eyediagram eyediagram(complex(used_i,used_q),1100)

【Java 进阶篇】Java 中 JQuery 对象和 JS 对象:区别与转换

在前端开发中&#xff0c;经常会涉及到 JavaScript&#xff08;JS&#xff09;和 jQuery 的使用。这两者都是前端开发中非常重要的工具&#xff0c;但它们之间存在一些区别。本文将详细介绍 Java 中的 JQuery 对象和 JS 对象的区别&#xff0c;并讨论它们之间的转换方法。 1. …

Amazon Aurora MySQL 与 Amazon Redshift 的 Zero ETL 集成已全面可用,一起轻松上手!

“数据是应用、流程和商业决策的核心。” 亚马逊云科技数据库、 数据分析和机器学习全球副总裁 Swami Sivasubramanian 如今&#xff0c;客户常用的数据传输模式是建立从 Amazon Aurora 到 Amazon Redshift 的数据管道。这些解决方案能够帮助客户获得新的见解&#xff0c;进而…

【C/C++笔试练习】内联函数、函数重载、调用构造函数的次数、赋值运算符重载、静态成员函数、析构函数、模板定义、最近公共祖先、求最大连续bit数

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;内联函数&#xff08;2&#xff09;函数重载&#xff08;3&#xff09;调用构造函数的次数&#xff08;4&#xff09;赋值运算符重载&#xff08;5&#xff09;静态成员函数&#xff08;6&#xff09;调用构造函数的次数…

微信小程序和H5之间互相跳转、互相传值

微信小程序和内嵌 H5 之间来回跳转&#xff0c;来回交互。 1 微信小程序跳转 H5 1.2. web-view 微信小程序官方提供了 web-view 组件来实现微信小程序跳转到 H5 页面&#xff0c;实现的方式也很简单&#xff0c;具体实现方式如下&#xff1a; 1、新建一个页面用来单独存放 we…

网页推理游戏

目录 python challenge &#xff08;0&#xff09; &#xff08;1&#xff09; &#xff08;2&#xff09; The Riddle &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; &#xff08;4&#xff09; Nazo &#xff08;1&#xff09;…

宋浩高等数学笔记(三)微分中值定理

首先是考研大纲包含的内容&#xff1a; 1.理解并会用罗尔(Rolle)定理、拉格朗日(Lagrange)中值定理和泰勒(Taylor)定理&#xff0c;了解并会用柯西(Cauchy)中值定理. 2.掌握用洛必达法则求未定式极限的方法. 3.理解函数的极值概念&#xff0c;掌握用导数判断函数的单调性和求函…

事务AOP

1事务&#xff1a; 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位。事务会把所有的操作作为一个整体&#xff0c;一起向数 据库提交或者是撤销操作请求。所以这组操作要么同时成功&#xff0c;要么同时失败。 1.1实现&#xff1a;Transactional注解 Transact…

基于SSM的网络书店商城

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

电脑想要微信多开——打开多个微信的必胜法宝!

一个不知名大学生&#xff0c;江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2023.11.11 Last edited: 2023.11.11 导读&#xff1a;在生活当中经常遇到工作和生活相撞的事情&#xff0c;导致在处理私人的事情同时不得不处理…

分销cps外卖券电影票小程序开发

电影票外卖劵分销CPS小程序开发作 我们致力于为消费者提供优质、便捷的外卖服务。现在&#xff0c;我们推出全新的电影票外卖劵分销CPS小程序&#xff0c;以及更多具有深度和专业度的功能和服务&#xff0c;以满足消费者更高的生活服务需求。 首先&#xff0c;我们的分销模式…