1.首先查找和设置雷达静态ip


安装httpie

sudo apt install -y httpie

首先设置一个有线连接 网段要和雷达的一样,否则下面没法配置雷达,雷达IP可通过下面的命令知道,如192.168.254.150(注意最后一位不要是100 这里我看别的博客说的不能是100 我也不知道为什么 也许可以吧 不知道设置成100后续会发生什么事情),配置完雷达IP之后再改回正常需要的IP。

使用IPV4连接雷达,禁用ipv6网络,或者手动输入一个无法连接的ipv6地址,不然后面改静态IP会有问题

RustDesk 怎么用tcp连接_linux

 

RustDesk 怎么用tcp连接_ubuntu_02

 使用ip addr查询刚才设置的本地 IP 192.168.254.150

RustDesk 怎么用tcp连接_RustDesk 怎么用tcp连接_03

 如果跳过上面那一步的话下一步查询雷达IP就会只显示ipv6地址

查找雷达IP

avahi-browse -lr _roger._tcp

RustDesk 怎么用tcp连接_RustDesk 怎么用tcp连接_04

这里显示雷达ip是169.254.142.130

验证雷达IP是否为静态IP

http http://169.254.142.130/api/v1/system/network/ipv4/override

注意!

官网文档给的示例为
http http://雷达.当前.IP.地址/api/v1/system/network/ipv4/override/
新版本固件override后面不要加 /

null为非静态IP

RustDesk 怎么用tcp连接_linux_05

 使用如下命令设置为静态IP

echo \"目标.设置.静态.IP/24\" | http PUT http://雷达.当前.IP.地址/api/v1/system/network/ipv4/override

注意!这里也是 override后面不要加 / ,官网给的示例后面有 / 

上面命令中“24”是给雷达设置的子网掩码(subnet mask),在这里24=255.255.255.0. 这个子网掩码是最常使用的,当然某些特殊情况下子网掩码可能需要设置为255.255.0.0, 这时可以将24改成16即可。上图中命令执行后的结果中显示有 “OK”,表明设置成功了。雷达IP设置成功后需要重启雷达才能生效。另外,如果新的IP与老IP不在一个网段内,电脑后续如果需要继续连接雷达,那还需要同样修改网卡的IP。

RustDesk 怎么用tcp连接_ubuntu_06

 重新启动之后,查询雷达IP

 

RustDesk 怎么用tcp连接_IP_07

 查询是否为静态IP

RustDesk 怎么用tcp连接_IP_08

没有显示null

2.驱动程序安装与编译

官方文档教程

ROS Guide — Ouster Python SDK 0.4.0 documentation

找到ROS1 GUIDE

官方驱动github网址  git clone下来

GitHub - ouster-lidar/ouster_example: Ouster, Inc. sample code

 安装依赖

sudo apt install build-essential cmake libeigen3-dev libjsoncpp-dev
sudo apt install ros-<ROS-VERSION>-ros-core ros-<ROS-VERSION>-pcl-ros ros-<ROS-VERSION>-tf2-geometry-msgs ros-<ROS-VERSION>-rviz

 把里面的<ROS-VERSION>改成对应的ROS版本 官方文档说可以是kinetic melodic neotic 

ubuntu18.04就如下所示

sudo apt install ros-melodic-ros-core ros-melodic-pcl-ros ros-melodic-tf2-geometry-msgs ros-melodic-rviz

下载好代码

git clone https://github.com/ouster-lidar/ouster_example.git

 然后创建好工作空间目录 比如创建一个目录叫ouster0-32

mkdir ouster0-32
cd ouster0-32
mkdir src

之后建立一个软链接,这个path to ouster_example 是刚才clone的ouster_example目录位置

ln -s <path to ouster_example> ./src/

 我的为

ln -s /home/mwy/ouster_example ./src/

之后编译

catkin_make -DCMAKE_BUILD_TYPE=Release

编译成功之后 source一下(我的终端shell用的是zsh ubuntu默认为bash )

source ./devel/setup.zsh

如果是bash的话 

source ./devel/setup.bash

如果觉得每次使用都要source比较麻烦 可以将source命令写在系统的.bashrc文件或者.zshrc文件中 。

3.雷达使用

 驱动程序编译完成并且source之后,就可以使用了,使用方式如下所示

roslaunch ouster_ros ouster.launch sensor_hostname:=<sensor hostname> metadata:=<path to metadata json>

按照官方文档所说<sensor hostname> 可以写成雷达的hostname(os-xxxxxxxxxx)或者ip(***.***.***.***)  可以通过以下命令查询

avahi-browse -lr _roger._tcp

 

RustDesk 怎么用tcp连接_IP_09

后面的 <path to metadata json>我就随便写成meta.json了,我测试了以下他理论上应该会往我的/home/user/.ros/meta.json,但实际上什么都没写入。

官网上还有一些额外的参数

比如lidar_mode是调整雷达分辨率的 即水平点数 * 频率

RustDesk 怎么用tcp连接_linux_10

所以有两种方式启动(这里viz:=true 代表使用rviz可视化点云)

roslaunch ouster_ros ouster.launch sensor_hostname:=os-122208001396.local metadata:=meta.json viz:=true

或者 

roslaunch ouster_ros ouster.launch sensor_hostname:=192.168.254.101 metadata:=meta.json viz:=true

效果如下:

RustDesk 怎么用tcp连接_RustDesk 怎么用tcp连接_11