当前位置:网站首页>NuScenes关于Radar的配置信息
NuScenes关于Radar的配置信息
2022-06-29 13:39:00 【naca yu】
Nuscenes关于雷达处理的部分:

- 以上包含传感器性能信息:
radar检测距离:≤250m
77GHz电磁波频率
速度精度±0.1km/h
13Hz的工作频率
雷达点云多视角可视化
Nuscenes毫米波雷达多视角可视化
格式定义
- 包含nuscenes内部数据中radar的数据格式、数据单位
- 内部定义了雷达预先滤波和非滤波模式
- 关于内部格式:
FIELDS x y z dyn_prop id rcs vx vy vx_comp vy_comp is_quality_valid ambig_state x_rms y_rms invalid_state pdh0 vx_rms vy_rms
SIZE 4 4 4 1 2 4 4 4 4 4 1 1 1 1 1 1 1 1
TYPE F F F I I F F F F F I I I I I I I I
源码部分:/nuscenes/utils/data_classes.py
class RadarPointCloud(PointCloud):
# Class-level settings for radar pointclouds, see from_file().
invalid_states = [0] # type: List[int]
dynprop_states = range(7) # type: List[int] # Use [0, 2, 6] for moving objects only.
ambig_states = [3] # type: List[int]
@classmethod
def disable_filters(cls) -> None:
""" Disable all radar filter settings. Use this method to plot all radar returns. Note that this method affects the global settings. """
cls.invalid_states = list(range(18))
cls.dynprop_states = list(range(8))
cls.ambig_states = list(range(5))
@classmethod
def default_filters(cls) -> None:
""" Set the defaults for all radar filter settings. Note that this method affects the global settings. """
cls.invalid_states = [0]
cls.dynprop_states = range(7)
cls.ambig_states = [3]
@staticmethod
def nbr_dims() -> int:
""" Returns the number of dimensions. :return: Number of dimensions. """
return 18
@classmethod
def from_file(cls,
file_name: str,
invalid_states: List[int] = None,
dynprop_states: List[int] = None,
ambig_states: List[int] = None) -> 'RadarPointCloud':
""" Loads RADAR data from a Point Cloud Data file. See details below. :param file_name: The path of the pointcloud file. :param invalid_states: Radar states to be kept. See details below. :param dynprop_states: Radar states to be kept. Use [0, 2, 6] for moving objects only. See details below. :param ambig_states: Radar states to be kept. See details below. To keep all radar returns, set each state filter to range(18). :return: <np.float: d, n>. Point cloud matrix with d dimensions and n points. Example of the header fields: # .PCD v0.7 - Point Cloud Data file format VERSION 0.7 FIELDS x y z dyn_prop id rcs vx vy vx_comp vy_comp is_quality_valid ambig_state x_rms y_rms invalid_state pdh0 vx_rms vy_rms SIZE 4 4 4 1 2 4 4 4 4 4 1 1 1 1 1 1 1 1 TYPE F F F I I F F F F F I I I I I I I I COUNT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 WIDTH 125 HEIGHT 1 VIEWPOINT 0 0 0 1 0 0 0 POINTS 125 DATA binary Below some of the fields are explained in more detail: x is front, y is left vx, vy are the velocities in m/s. vx_comp, vy_comp are the velocities in m/s compensated by the ego motion. We recommend using the compensated velocities. invalid_state: state of Cluster validity state. (Invalid states) 0x01 invalid due to low RCS 0x02 invalid due to near-field artefact 0x03 invalid far range cluster because not confirmed in near range 0x05 reserved 0x06 invalid cluster due to high mirror probability 0x07 Invalid cluster because outside sensor field of view 0x0d reserved 0x0e invalid cluster because it is a harmonics (Valid states) 0x00 valid 0x04 valid cluster with low RCS 0x08 valid cluster with azimuth correction due to elevation 0x09 valid cluster with high child probability 0x0a valid cluster with high probability of being a 50 deg artefact 0x0b valid cluster but no local maximum 0x0c valid cluster with high artefact probability 0x0f valid cluster with above 95m in near range 0x10 valid cluster with high multi-target probability 0x11 valid cluster with suspicious angle dynProp: Dynamic property of cluster to indicate if is moving or not. 0: moving 1: stationary 2: oncoming 3: stationary candidate 4: unknown 5: crossing stationary 6: crossing moving 7: stopped ambig_state: State of Doppler (radial velocity) ambiguity solution. 0: invalid 1: ambiguous 2: staggered ramp 3: unambiguous 4: stationary candidates pdh0: False alarm probability of cluster (i.e. probability of being an artefact caused by multipath or similar). 0: invalid 1: <25% 2: 50% 3: 75% 4: 90% 5: 99% 6: 99.9% 7: <=100% """
assert file_name.endswith('.pcd'), 'Unsupported filetype {}'.format(file_name)
meta = []
with open(file_name, 'rb') as f:
for line in f:
line = line.strip().decode('utf-8')
meta.append(line)
if line.startswith('DATA'):
break
data_binary = f.read()
# Get the header rows and check if they appear as expected.
assert meta[0].startswith('#'), 'First line must be comment'
assert meta[1].startswith('VERSION'), 'Second line must be VERSION'
sizes = meta[3].split(' ')[1:]
types = meta[4].split(' ')[1:]
counts = meta[5].split(' ')[1:]
width = int(meta[6].split(' ')[1])
height = int(meta[7].split(' ')[1])
data = meta[10].split(' ')[1]
feature_count = len(types)
assert width > 0
assert len([c for c in counts if c != c]) == 0, 'Error: COUNT not supported!'
assert height == 1, 'Error: height != 0 not supported!'
assert data == 'binary'
# Lookup table for how to decode the binaries.
unpacking_lut = {
'F': {
2: 'e', 4: 'f', 8: 'd'},
'I': {
1: 'b', 2: 'h', 4: 'i', 8: 'q'},
'U': {
1: 'B', 2: 'H', 4: 'I', 8: 'Q'}}
types_str = ''.join([unpacking_lut[t][int(s)] for t, s in zip(types, sizes)])
# Decode each point.
offset = 0
point_count = width
points = []
for i in range(point_count):
point = []
for p in range(feature_count):
start_p = offset
end_p = start_p + int(sizes[p])
assert end_p < len(data_binary)
point_p = struct.unpack(types_str[p], data_binary[start_p:end_p])[0]
point.append(point_p)
offset = end_p
points.append(point)
# A NaN in the first point indicates an empty pointcloud.
point = np.array(points[0])
if np.any(np.isnan(point)):
return cls(np.zeros((feature_count, 0)))
# Convert to numpy matrix.
points = np.array(points).transpose()
# If no parameters are provided, use default settings.
invalid_states = cls.invalid_states if invalid_states is None else invalid_states
dynprop_states = cls.dynprop_states if dynprop_states is None else dynprop_states
ambig_states = cls.ambig_states if ambig_states is None else ambig_states
# Filter points with an invalid state.
valid = [p in invalid_states for p in points[-4, :]]
points = points[:, valid]
# Filter by dynProp.
valid = [p in dynprop_states for p in points[3, :]]
points = points[:, valid]
# Filter by ambig_state.
valid = [p in ambig_states for p in points[11, :]]
points = points[:, valid]
return cls(points)
边栏推荐
- 节点数据采集和标签信息的远程洪泛传输
- 深度学习的坎坷六十年
- 数字IC手撕代码--交通灯
- MySQL数据库:分区Partition
- GWD:基于高斯Wasserstein距离的旋转目标检测 | ICML 2021
- Wechat applet: new and exclusive cloud development wechat group contacts
- [document translation] camouflaged object detection
- 测试用例设计方法之等价类划分方法
- 强大、优秀的文件管理软件评测:图片管理、书籍管理、文献管理
- Xiaobai learns MySQL - incremental statistical SQL requirements - windowing function scheme
猜你喜欢

微信小程序:图片秒加水印制作生成

windows平台下的mysql启动等基本操作

分布式唯一 ID 生成方案浅谈

Mondo rescue creates an image file (which is conducive to image damage recovery)

丢弃 Tkinter!简单配置快速生成超酷炫 GUI!

Getting started with SQLite3
![[graduation season · advanced technology Er] 10.76 million graduates, the most difficult employment season in history? I can't roll it up again. I lie down again and again. Where is the road?](/img/d5/7e093b898807b96b89bbe74174990b.png)
[graduation season · advanced technology Er] 10.76 million graduates, the most difficult employment season in history? I can't roll it up again. I lie down again and again. Where is the road?

Goby full port scan

中康控股开启招股:拟募资净额3.95亿港元,预计7月12日上市

纳人才,谋发展 | 人大金仓喜获“最佳雇主校招案例奖”
随机推荐
灵感收集·创意写作软件评测:Flomo、Obsidian Memo、Napkin、FlowUs
matplotlib直方图,柱状图
Return value‘s Lifetime
喜迎市科协“十大”•致敬科技工作者 | 卢毅:守护电网传输安全的探索者
Interview high concurrent, cool!! (high energy in the whole process, collection recommended)
ES6 array method
MySQL 1146 error [easy to understand]
微信小程序:装B神器P图修改微信流量主小程序源码下载趣味恶搞图制作免服务器域名
Interpretation of RESNET source code in mmdet +ghost module
Turbulent intermediary business, restless renters
微信小程序:全新獨家雲開發微群人脈
Dynamic feedback load balancing strategy based on Cluster
靠代理,靠买断,国产端游的蛮荒时代等待下一个《永劫无间》
内网穿透(nc)
Redis为什么这么快?Redis是单线程还是多线程?
Basic type variable declaration
Wechat applet: install B artifact and P diagram, modify wechat traffic main applet source code, Download funny joke diagram, make server free domain name
golang代码规范整理
【黑马早报】中公教育市值蒸发逾2000亿;新东方直播粉丝破2000万;HM关闭中国首店;万科郁亮称房地产已触底;微信上线“大爆炸”功能...
国内十大券商,有哪些安全吗?