ouster-32激光雷达实测:雷达参数配置与输出数据分析
- 修改launch文件
- 参数配置
- 通过网页端查询和配置雷达参数
- 雷达输出数据分析
- 所有数据
- imu数据
- 雷达数据
- 坐标系
- Rviz显示
修改launch文件
在之前将ouster-32的激光雷达设置成了静态IP。
因为设置了固定的雷达IP,所以就在launch文件中设置其参数,不用在用命令行的方式传入该参数
修改内容如下:
<arg name="sensor_hostname" doc="hostname or IP in dotted decimal form of the sensor"/>
改为
<arg name="sensor_hostname" default="196.168.1.198" doc="hostname or IP in dotted decimal form of the sensor"/>
参数配置
launch文件中有几个参数,可以看下,其原文件如下:
<launch>
<arg name="ouster_ns" default="ouster" doc="Override the default namespace of all ouster nodes"/>
<arg name="sensor_hostname" default="196.168.1.198" doc="hostname or IP in dotted decimal form of the sensor"/>
<arg name="udp_dest" default="" doc="hostname or IP where the sensor will send data packets"/>
<arg name="lidar_port" default="0" doc="port to which the sensor should send lidar data"/>
<arg name="imu_port" default="0" doc="port to which the sensor should send imu data"/>
<arg name="udp_profile_lidar" default=" " doc="lidar packet profile; possible values: {
LEGACY,
RNG19_RFL8_SIG16_NIR16_DUAL,
RNG19_RFL8_SIG16_NIR16,
RNG15_RFL8_NIR8
}"/>
<arg name="lidar_mode" default=" " doc="resolution and rate; possible values: {
512x10,
512x20,
1024x10,
1024x20,
2048x10,
4096x5
}"/>
<arg name="timestamp_mode" default=" " doc="method used to timestamp measurements; possible values: {
TIME_FROM_INTERNAL_OSC,
TIME_FROM_SYNC_PULSE_IN,
TIME_FROM_PTP_1588,
TIME_FROM_ROS_TIME
}"/>
<arg name="metadata" default=" " doc="path to write metadata file when receiving sensor data"/>
<arg name="viz" default="true" doc="whether to run a rviz"/>
<arg name="rviz_config" default="$(find ouster_ros)/config/viz.rviz" doc="optional rviz config file"/>
<arg name="tf_prefix" default=" " doc="namespace for tf transforms"/>
<group ns="$(arg ouster_ns)">
<node pkg="nodelet" type="nodelet" name="os_nodelet_mgr"
output="screen" required="true"
launch-prefix="bash -c 'sleep 2; $0 $@' "
args="manager"/>
</group>
<group ns="$(arg ouster_ns)">
<node pkg="nodelet" type="nodelet" name="os_node"
output="screen" required="true"
launch-prefix="bash -c 'sleep 3; $0 $@' "
args="load nodelets_os/OusterSensor os_nodelet_mgr">
<param name="~/sensor_hostname" type="str" value="$(arg sensor_hostname)"/>
<param name="~/udp_dest" type="str" value="$(arg udp_dest)"/>
<param name="~/lidar_port" type="int" value="$(arg lidar_port)"/>
<param name="~/imu_port" type="int" value="$(arg imu_port)"/>
<param name="~/udp_profile_lidar" type="str" value="$(arg udp_profile_lidar)"/>
<param name="~/lidar_mode" type="str" value="$(arg lidar_mode)"/>
<param name="~/timestamp_mode" type="str" value="$(arg timestamp_mode)"/>
<param name="~/metadata" type="str" value="$(arg metadata)"/>
</node>
</group>
<include file="$(find ouster_ros)/launch/common.launch">
<arg name="ouster_ns" value="$(arg ouster_ns)"/>
<arg name="viz" value="$(arg viz)"/>
<arg name="rviz_config" value="$(arg rviz_config)"/>
<arg name="tf_prefix" value="$(arg tf_prefix)"/>
<arg name="timestamp_mode" value="$(arg timestamp_mode)"/>
</include>
</launch>
- ouster_ns 不用管,设置命名空间的
- sensor_hostname 已经改为了静态IP
- udp_dest 电脑的ip可以不填入,程序会自动获取
- lidar_port和imu_port 不用动
- udp_profile_lidar 雷达的数据格式,默认 的是LEGACY
- lidar_mode 设置分辨率和工作频率,默认是1024x10,代表每个scan有1024个点,雷达输出的频率是10hz
- timestamp_mode 时间戳的模式
通过网页端查询和配置雷达参数
直接在浏览器中输入雷达IP并回车,就可以登录上雷达。然后点击“Configuration”选项进入雷达配置页面。
Dashboard 界面可以看到些基础的配置
在Configuration页面上,可以对大多数常用的雷达参数进行配置,设置好后点击右下角那个蓝色的”Apply Config” 按钮即可使当前设置生效(雷达会自动重启一次)。然而,此时如果雷达断电,则新设置的内容会丢失并恢复到之前的数值。为了让新的设置在雷达后续断电重启后仍然有效,则可以再点击那个“Save Active Config”按钮,新的参数值会写死到雷达中。
雷达输出数据分析
所有数据
查看当前topic消息种类
rostopic list
终端输出
/clicked_point
/initialpose
/move_base_simple/goal
/os_node/imu_packets
/os_node/lidar_packets
/ouster/imu
/ouster/imu_packets
/ouster/lidar_packets
/ouster/nearir_image
/ouster/os_nodelet_mgr/bond
/ouster/points
/ouster/points2
/ouster/range_image
/ouster/reflec_image
/ouster/signal_image
/rosout
/rosout_agg
/tf
/tf_static
imu数据
可以看到ouster 是带有内置imu的
imu消息的名称是 /ouster/imu
查看其消息类型:
rostopic info /ouster/imu
终端输出
Type: sensor_msgs/Imu
Publishers:
* /ouster/os_nodelet_mgr (http://JKKC:38655/)
Subscribers: None
雷达数据
查看点云数据类型
rostopic info /ouster/points
终端输出
Type: sensor_msgs/PointCloud2
Publishers:
* /ouster/os_nodelet_mgr (http://JKKC:41713/)
Subscribers:
* /rviz (http://JKKC:37099/)
* /ouster/os_nodelet_mgr (http://JKKC:41713/)
查看点云标签
rostopic echo /ouster/points/fields
其中一包数据为:
-
name: "x"
offset: 0
datatype: 7
count: 1
-
name: "y"
offset: 4
datatype: 7
count: 1
-
name: "z"
offset: 8
datatype: 7
count: 1
-
name: "intensity"
offset: 16
datatype: 7
count: 1
-
name: "t"
offset: 20
datatype: 6
count: 1
-
name: "reflectivity"
offset: 24
datatype: 4
count: 1
-
name: "ring"
offset: 26
datatype: 2
count: 1
-
name: "ambient"
offset: 28
datatype: 4
count: 1
-
name: "range"
offset: 32
datatype: 6
count: 1
---
所以在雷达数据中的标签有:
- x
- y
- z
- intensity
- t
- reflectivity
- ring
- ambient
- range
坐标系
在该驱动文件中,启动rviz后,默认有3个tf
- os_imu
- os_sensor
- os_lidar
这3个方向是不一致的,其中
- os_imu 和 os_sensor 是以连接点的对面为x轴,左为y轴,上为z轴,满足右手定则
- os_lidar 是以连接点的方向为x轴,左为y轴,上为z轴,满足右手定则
os_lidar 坐标系
os_sensor 坐标系
Rviz显示
驱动包默认的rviz显示
其中包含了
- 根据反射率转换成的类似红外图像的图片 reflectivity
- 将距离转成图形的深度图 range
- 点云 PointClound2
- TF