ouster-32激光雷达实测:ROS驱动编译使用与设备连接的网络配置

  • ouster-32 ROS驱动
    • 驱动安装
      • 依赖
      • 下载
      • 编译
    • 功能包功能
      • 连接到实时传感器
      • 重播录制的包
      • 录制新的包文件
  • 设备连接的网络配置
    • 查看雷达IP
    • 尝试运行驱动包
    • 修改雷达IP为静态IP

ouster-32 ROS驱动

此 ROS 软件包支持所有固件 v2.0 或更高版本的 Ouster 传感器。启动后,驱动程序将配置并连接到选定的传感器设备,连接后,驱动程序将处理传入的IMU和激光雷达数据包,解码激光雷达帧并发布有关/ouster/imu和/ouster/points主题的相应ROS消息。如果传感器支持双回波并且已配置为使用此功能,则将发布另一个名为 /ouster/points2 的主题,该主题对应于第二个点云。

驱动安装

依赖

驱动支持Melodic 和 Noetic的ROS版本

除了基础的ROS环境,驱动还需要的ROS功能包有:

  • ros-noetic-pcl-ros
  • ros-noetic-rviz
  • ros-noetic-tf2-geometry-msgs

通过如下指令安装

sudo apt install -y                     \ros-noetic-pcl-ros             \ros-noetic-rviz                \ros-noetic-tf2-geometry-msgs

其它的依赖库有:

  • build-essential
  • libeigen3-dev
  • libjsoncpp-dev
  • libspdlog-dev
  • cmake

通过如下指令安装

sudo apt install -y \build-essential \libeigen3-dev   \libjsoncpp-dev  \libspdlog-dev   \cmake

下载

git clone --recurse-submodules https://github.com/ouster-lidar/ouster-ros.git

编译

catkin_make --cmake-args -DCMAKE_BUILD_TYPE=Release

将“发布”指定为生成类型对于获得驱动程序的功能非常重要。

功能包功能

该功能包支持三种交互模式,

  • 可以连接到实时传感器
  • 重播录制的包
  • 使用相应的启动文件录制新的包文件

连接到实时传感器

roslaunch ouster_ros sensor.launch      \sensor_hostname:=<sensor host name> \metadata:=<json file name>              # metadata is optional

重播录制的包

roslaunch ouster_ros replay.launch      \metadata:=<json file name>          \bag_file:=<path to rosbag file>

录制新的包文件

roslaunch ouster_ros record.launch      \sensor_hostname:=<sensor host name> \metadata:=<json file name>          \bag_file:=<optional bag file name>

在实际使用中需要将 < >改为’ ’

例如:

roslaunch ouster_ros sensor.launch  sensor_hostname:='169.254.206.201'

设备连接的网络配置

查看雷达IP

将电脑wifi关闭

用avahi-browse命令查询雷达IP

avahi-browse -lr _roger._tcp

终端返回结果如下

+ enp0s31f6 IPv6 Ouster Sensor 122237000064                    _roger._tcp          local
+ enp0s31f6 IPv4 Ouster Sensor 122237000064                    _roger._tcp          local
= enp0s31f6 IPv4 Ouster Sensor 122237000064                    _roger._tcp          localhostname = [os-122237000064.local]address = [169.254.206.201]port = [7501]txt = ["fw=ousteros-image-prod-aries-v2.3.1+20220608012528.patch-v2.3.x" "sn=122237000064" "pn=840-103575-06"]
= enp0s31f6 IPv6 Ouster Sensor 122237000064                    _roger._tcp          localhostname = [os-122237000064.local]address = [fe80::be0f:a7ff:fe00:6ab4]port = [7501]txt = ["fw=ousteros-image-prod-aries-v2.3.1+20220608012528.patch-v2.3.x" "sn=122237000064" "pn=840-103575-06"]

可以看到 IPv4 的
hostname = os-122237000064.local
address = [169.254.206.201]

所以雷达的IP地址就是 169.254.206.201

查询出雷达IPv4地址后,如果电脑IP与雷达IP不在同一个网段,此时电脑还不能连接上雷达(ping通雷达IP),这样的话无法通过电脑对雷达进行任何参数查询和设置。因此,有时候需要修改电脑网卡IP使其与雷达同一个网段。

下面就可以将计算机的IP地址设置为同一网段

修改好后,ping一下雷达的IP,确保能ping通。

jk-jone@JKKC:~$ ping 169.254.206.201
PING 169.254.206.201 (169.254.206.201) 56(84) bytes of data.
64 字节,来自 169.254.206.201: icmp_seq=1 ttl=64 时间=0.460 毫秒
64 字节,来自 169.254.206.201: icmp_seq=2 ttl=64 时间=0.197 毫秒
64 字节,来自 169.254.206.201: icmp_seq=3 ttl=64 时间=0.199 毫秒
64 字节,来自 169.254.206.201: icmp_seq=4 ttl=64 时间=0.194 毫秒
64 字节,来自 169.254.206.201: icmp_seq=5 ttl=64 时间=0.192 毫秒

此时说明雷达与PC的网络通信正常

注意:如果IP修改后发现IP网段与电脑无线网卡的IP也在一个网段里,那就会引起混淆,此时请暂时关闭无线网卡功能

尝试运行驱动包

此时可以尝试运行驱动包了

直接运行传感器的模式

roslaunch ouster_ros sensor.launch  sensor_hostname:='169.254.206.201'

rviz打开后需要等一会

[ INFO] [1669627967.501012959]: Initializing nodelet with 8 worker threads.
[ INFO] [1669627968.494939285]: Loading nodelet /ouster/os_node of type nodelets_os/OusterSensor to manager os_nodelet_mgr with the following remappings:
[ INFO] [1669627968.508352449]: Will use automatic UDP destination
[ INFO] [1669627969.498218051]: Loading nodelet /ouster/os_cloud_node of type nodelets_os/OusterCloud to manager os_nodelet_mgr with the following remappings:
[ INFO] [1669627969.499452510]: Loading nodelet /ouster/img_node of type nodelets_os/OusterImage to manager os_nodelet_mgr with the following remappings:
[ INFO] [1669627970.586424848]: rviz version 1.14.19
[ INFO] [1669627970.586450891]: compiled against Qt version 5.12.8
[ INFO] [1669627970.586455138]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1669627970.592399144]: Forcing OpenGl version 0.
[ INFO] [1669627970.713818883]: Stereo is NOT SUPPORTED
[ INFO] [1669627970.713859467]: OpenGL device: Mesa Intel(R) Xe Graphics (TGL GT2)
[ INFO] [1669627970.713870667]: OpenGl version: 4.6 (GLSL 4.6) limited to GLSL 1.4 on Mesa system.
[ WARN] [1669627970.786661807]: Sensor 169.254.206.201 configured successfully
[ INFO] [1669627970.787862152]: Starting sensor 169.254.206.201 initialization...
[2022-11-28 17:32:50.787] [ouster::sensor] [info] initializing sensor: 169.254.206.201 with ports: 0/0
[ WARN] [1669627997.923285255]: Client version: 0.7.1b1+279c9fb-release
[ WARN] [1669627997.923338213]: Using lidar_mode: 1024x10
[ WARN] [1669627997.923355327]: OS-1-32-U2 sn: 122237000064 firmware rev: v2.3.1
[ WARN] [1669627997.924480485]: No metadata file was specified, using: 169.254.206-metadata.json
[ INFO] [1669627997.924734487]: Wrote metadata to 169.254.206-metadata.json
[ INFO] [1669627997.925563194]: get_metadata service created
[ INFO] [1669627997.926338810]: get_config service created
[ INFO] [1669627997.926997379]: set_config service created
[ INFO] [1669627997.931208809]: OusterCloud: retrieved sensor metadata!
[ INFO] [1669627997.931404649]: Profile has 1 return(s)
[ INFO] [1669627997.940645619]: OusterImage: retrieved sensor metadata!

rviz显示

修改雷达IP为静态IP

此时还没完,因为刚查的雷达IP为动态IP。每次上电后有可能会变,到时候需要再查询,然后再改驱动的启动指令,会非常的不方便。

因此需要下面的工作,将雷达的IP改为静态IP,即每次上电雷达的IP不变

两次上电 ,雷达的IP不一致

jk-jone@JKKC:~$ avahi-browse -lr _roger._tcp
+ enp0s31f6 IPv6 Ouster Sensor 122237000064                    _roger._tcp          local
+ enp0s31f6 IPv4 Ouster Sensor 122237000064                    _roger._tcp          local
= enp0s31f6 IPv6 Ouster Sensor 122237000064                    _roger._tcp          localhostname = [os-122237000064.local]address = [fe80::be0f:a7ff:fe00:6ab4]port = [7501]txt = ["fw=ousteros-image-prod-aries-v2.3.1+20220608012528.patch-v2.3.x" "sn=122237000064" "pn=840-103575-06"]
= enp0s31f6 IPv4 Ouster Sensor 122237000064                    _roger._tcp          localhostname = [os-122237000064.local]address = [169.254.221.198]port = [7501]txt = ["fw=ousteros-image-prod-aries-v2.3.1+20220608012528.patch-v2.3.x" "sn=122237000064" "pn=840-103575-06"]

需要先安装一个httpie组件来实现雷达IP设置。为此,先确保Ubuntu电脑连上外网,然后可以通过下面的命令来实现安装:

sudo apt install -y httpie

注意下面的操作和官网不一致,官网有坑啊https://ouster.atlassian.net/servicedesk/customer/portal/8/article/831062017
唯一不同就是将后面的反斜杠去掉.

验证该IP是否为静态IP,命令行输入

#http http://雷达.当前.IP.地址/api/v1/system/network/ipv4/override
http http://169.254.206.201/api/v1/system/network/ipv4/override
jk-jone@JKKC:~$ http http://169.254.206.201/api/v1/system/network/ipv4/override
HTTP/1.1 200 OK
content-length: 4
content-type: application/jsonnull

这里的null是 非静态ip
修改为静态IP的指令如下:

echo \"196.168.1.198/24\" | http PUT http://169.254.206.201/api/v1/system/network/ipv4/override

终端输出:

jk-jone@JKKC:~$ echo \"196.168.1.198/24\" | http PUT http://169.254.206.201/api/v1/system/network/ipv4/override
HTTP/1.1 200 OK
content-length: 18
content-type: application/json"196.168.1.198/24"

证明静态IP配置成功

上面命令中“24”是给雷达设置的子网掩码(subnet mask),在这里24=255.255.255.0. 这个子网掩码是最常使用的,当然某些特殊情况下子网掩码可能需要设置为255.255.0.0, 这时可以将24改成16即可。上图中命令执行后的结果中显示有 “OK”,表明设置成功了。

注意:雷达IP设置成功后需要重启雷达才能生效。另外,如果新的IP与老IP不在一个网段内,电脑后续如果需要继续连接雷达,那还需要同样修改网卡的IP。

再次重启雷达,通过

avahi-browse -lr _roger._tcp

即可看到ip为刚才设置的固定IP

注意修改雷达的IP后,需要再次配置电脑的IP为同一网段。

之后便可以每次以

roslaunch ouster_ros sensor.launch  sensor_hostname:='196.168.1.198'

指令进行驱动开启了。

ouster-32激光雷达实测:ROS驱动编译使用与设备连接的网络配置相关推荐

  1. ouster-32激光雷达使用---ROS驱动编译与使用

    ouster-32激光雷达使用---ROS驱动编译与使用 驱动安装 依赖 下载 编译 功能包功能 连接到实时传感器 重播录制的包 录制新的包文件 此 ROS 软件包支持所有固件 v2.0 或更高版本的 ...

  2. 驱动板网线直连电脑共享网络配置

    驱动板网线直连电脑共享网络配置 1 前置情况 1.1 电脑设置WiFi共享 1.2 查看主机和共享网络的ip 2 驱动板内设置共享网络 2.1 查看驱动板网络状态 2.2 UP BROADCAST R ...

  3. 无线网卡(RTL8188EU)驱动编译、使用DHCP配置无线网络(1

    无线网卡(RTL8188EU)驱动编译.使用DHCP配置无线网络(1) http://www.openloongson.org/forum.php?mod=viewthread&tid=220 ...

  4. 使用ROS驱动激光雷达YDLIDAR-G4的详细过程总结(教你避开使用的各种坑....)

    文章目录 前言 一. 环境配置 二 .编译并安装 YDLidar-SDK 三.ROS 驱动包安装 四.运行 ydlidar_ros_driver 五.遇到的问题 前言 本人使用的是Ubuntu 20. ...

  5. 速腾聚创16线激光雷达ros驱动安装与rviz点云展示说明

    .速腾聚创16线激光雷达ros驱动安装与rviz点云展示说明 V1.0.0 – by Holden Date : 2021-10-12 文章目录 .速腾聚创16线激光雷达ros驱动安装与rviz点云展 ...

  6. 速腾聚创16线激光雷达rslidar-16的ros驱动安装与rviz点云显示

    原链接: https://community.bwbot.org/topic/520 运行测试平台:小强ROS机器人 速腾聚创16线激光雷达rslidar-16的供电是直流12v 3A,通信接口是rs ...

  7. 星秒科技tof激光雷达PAVO的ros驱动安装与测试

    原链接:https://community.bwbot.org/topic/660 开发测试平台:小强机器人 下载链接:PAVO激光雷达windows资料包 星秒科技激光雷达pavo的供电是直流12v ...

  8. 使用欧镭2D雷达ROS驱动

    系统要求:Ubuntu16.04(kinetic)或者Ubuntu18.04都行. ROS版本:ROS1.0 硬件要求:欧镭2D雷达,笔记本一台. 标题一.准备工作,网络配置 欧镭2D雷达默认出厂IP ...

  9. ubuntu16.0 ROS(介绍EAI的YDLIDAR-X4激光雷达在ROS下使用方法)

    YDLIDAR-X4激光雷达介绍 YDLIDAR X4激光雷达是深圳越登智能科技有限公司(YDLIDAR,这家公司属于EAI)研发的一款 360 度二维测距产品,本产品基于三角测距原理,并配以相关光学 ...

最新文章

  1. labview简易计算机实验报告,labview实验报告..doc
  2. 如何在 bash 中使用索引数组
  3. UrlPager免费分页控件2.0版发布!
  4. Keras之DNN:利用DNN【Input(8)→(12+8)(relu)→O(sigmoid)】模型实现预测新数据(利用糖尿病数据集的八个特征进行二分类预测
  5. 【黑马程序员 C++教程从0到1入门编程】【笔记3】C++核心编程(内存分区模型、引用、函数提高)
  6. javascript核心
  7. 强烈推荐:SiteServer CMS开源免费的企业级CMS系统!
  8. 作者:纪珍(1982-),女,中国科学院国家空间科学中心副研究员
  9. 百度网盘爬虫(如何爬取百度网盘)
  10. 网络打印服务器的作用,内置网络打印服务器有什么用?
  11. SpringBoot 阶段总结
  12. nohttp网络框架
  13. Bailian2701 Bailian3864 与7无关的数【进制】(POJ NOI0105-39)
  14. python合并excel某一列内容_使用Python横向合并excel文件的实例
  15. MySQL 数据恢复 —— 使用 data 目录
  16. 电影海报页面设计Html5,重设100部经典电影海报字体,好设计是这样炼成的!
  17. Scrum master成长笔记:如何为Scrum团队设定愿景目标?
  18. 【idea drools 执行20次失败中断崩溃】
  19. 2018年11月中旬香港, 吉隆坡8天游记
  20. linux内核鼠标配置,linux开启鼠标驱动和qt鼠标支持

热门文章

  1. Fenvi FV-T919 windows 驱动
  2. VirtualBox映射端口到windows访问失败(如:3000)
  3. 神经网络适用于什么问题,神经网络的优点和缺点
  4. html5 websocket c++,C++ websocket库 websocketpp/websocket++例子编译试用
  5. parallel desktop 17 安装win7 科来抓包 无网络适配器可用
  6. 从ST官网获取最新的标准外设库
  7. java英语单词学习网站 Vue项目源码介绍
  8. Oracle 数据库备份与恢复
  9. crm商机管理是什么意思,你知道吗?
  10. 【通信接口】CAN总线协议