ROS2多车通信问题
1. 组播默认路由选取错误 实车同时存在有线网卡(用于传感器通信)和无线网卡(用于跨车通信)时,Linux 可能把组播默认路由选到有线网卡,导致 DDS 发现或跨车数据传输失败。示例使用 Fast DDS,两辆车通过 Wi-Fi 交换数据,各自通过有线网卡连接 MID360。 网络用途 a 车 b 车 Wi-Fi 跨车通信 192.168.31.11 192.168.31.12 有线雷达通信 本机有线网卡 IP 本机有线网卡 IP DDS 域 ROS_DOMAIN_ID=30 ROS_DOMAIN_ID=30 两车的无线 IP 必须不同,建议配置静态地址或 DHCP 地址保留。两车有线地址即使都为 192.168.2.166,也仅适用于彼此隔离的雷达网段;如果接入同一二层网络,就会产生 IP 冲突。 1.1 确认网络出口 组播路由检查可作为排查线索,最终还需确认 DDS 实际使用的网卡。先分别在两车上确认普通单播连通,并检查组播出口: # a车 ping -c 3 192.168.31.12 ip route get 192.168.31.12 # ...
世界模型基础知识
1. 数学基础 1.1 似然函数 首先考虑一个条件概率p(x∣θ)p(x \mid \theta)p(x∣θ),这里的xxx表示观测结果,θ\thetaθ表示分布参数 如果固定θ=θ0\theta = \theta_0θ=θ0,得到 x∼p(x∣θ0)x \sim p(x \mid \theta_0) x∼p(x∣θ0) 这是关于xxx的概率分布,在连续条件下满足∫p(x∣θ0)dx=1\int p(x \mid \theta_0) dx =1∫p(x∣θ0)dx=1 如果已经观测到x=x0x = x_0x=x0,将同一个表达式看作参数θ\thetaθ的函数,定义似然函数 L(θ;x0)≔p(x0∣θ)L(\theta ; x_0) \coloneqq p(x_0 \mid \theta) L(θ;x0):=p(x0∣θ) 可以理解为固定已经观测到的x0x_0x0,比较不同分布参数θ\thetaθ对这个观测数据的解释程度,它只是关于θ\thetaθ的普通函数,不要求∫L(θ;x)dθ\int L(\theta ; x) d\theta∫L(θ;x)dθ等于111 因...
安装系统字体
1. 下载字体 从互联网上下载 .ttf / .otf 字体文件 2. 安装字体 2.1 用户层面安装 mkdir -p ~/.local/share/fonts cp *.ttf ~/.local/share/fonts/ cp *.otf ~/.local/share/fonts/ fc-cache -fv 2.2 系统层面安装 sudo mkdir -p /usr/local/share/fonts/Sarasa sudo cp *.ttf /usr/local/share/fonts/Sarasa/ sudo fc-cache -fv 3. 字体推荐 3.1 中文字体 推荐霞鹜文楷,字体系列写为LXGW WenKai Mono 3.2 英文字体 推荐Maple Mono,字体系列写为Maple Mono NF CN
Learning Latent Dynamics for Planning from Pixels
2. 潜空间规划 变量说明 类别 符号 真实变量/虚拟变量 真实观测 ooo 真实变量 真实动作 aaa 真实变量 真实奖励 rrr 真实变量 潜状态 sts_tst 无法直接获取世界状态,需要通过模型对世界状态进行推断,是虚拟的 预测动作 a^\hat{a}a^ 预测出的未来动作 重建观测 o^\hat{o}o^ 预测出的未来观测 预测奖励 r^\hat{r}r^ 预测出的未来奖励 观测函数 o^t∼p(o^t∣st)\hat{o}_t \sim p(\hat{o}_t \mid s_t) o^t∼p(o^t∣st) 通过潜空间中的未来世界状态,对相应的观测进行重建,但是未来的观测并不参与规划,只用来指导训练过程 转移函数 st∼p(st∣st−1,at−1)s_t \sim p(s_t \mid s_{t-1},a_{t-1}) st∼p(st∣st−1,at−1) 根据上一时刻的潜状态和动作,预测下一时刻潜状态,即所谓的world dynamics,世界动力学 奖励函数 r^t∼p(r^t∣st)\hat{r}_t...
Ubuntu创建快捷方式
1. 获取图标 AppImage一般已经带有图标,可以从中提取出图标文件 ./xxxx.AppImage --appimage-extract 在出现的squashfs-root/目录中能找到对应的.png文件或者.svg文件 然后把图标放入Freedesktop的图标目录 mkdir -p ~/.local/share/icons/hicolor/256x256/apps cp xxx.png ~/.local/share/icons/hicolor/256x256/apps/xxx.png svg对应的是hicolor/scalable/apps 刷新图标缓存 gtk-update-icon-cache -f -t ~/.local/share/icons/hicolor 2. 创建配置文件 创建桌面快捷方式,本质上就是创建一个.desktop文件,一般放在~/.local/share/applications/下,首先创建文件 vim ~/.local/share/applications/xxx.desktop 写入: [Desktop Entry] Name=xxx C...
docker交叉编译
安装 binfmt/QEMU 执行: docker run --privileged --rm tonistiigi/binfmt --install all 正常输出类似: installing: arm64 OK installing: arm OK installing: riscv64 OK … 创建支持多架构的 builder 不要使用 default。 创建新的: docker buildx create –name multiarch –driver docker-container –use 注意这里: –driver docker-container 很重要。 因为: driver=docker 能力有限。 3. 初始化 docker buildx inspect --bootstrap 现在应该看到: Platforms: linux/amd64 linux/amd64/v2 linux/amd64/v3 linux/arm64 linux/arm/v7 … 4. 测试 ARM64 先不要编译你的 ROS。 测试: docker buildx bui...
docker
1. 安装 1.1 手动安装(生产环境推荐) 安装依赖 sudo apt update sudo apt install -y ca-certificates curl 下载 GPG 密钥 sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc 安装 Docker echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$...
DriveTransformer: Unified Transformer for Scalable End-to-End Autonomous Driving
GitHub ICLR 2025 1. 简介 本文贡献 任务并行性,所有任务query都是直接输入和直接输出的,摆脱了序列化结构 稀疏表达,摆脱了BEV特征网格,query直接与原始传感器特征交互,提高效率 流式处理,维护一个先进先出的队列用以存储历史任务query,通过队列可以实现时间融合 现有的端到端自动驾驶多是采用感知-预测-规划这种序列化结构,这种结构有两个问题:1.可能导致累积误差,进而导致训练不稳定。如UniAD方法必须采用多阶段训练策略,这是因为在训练早期存在不一致性,上游模块的不准确会影响下游模块,最终导致整个训练崩溃。2.人工设置的任务排序可能会限制系统利用协同效应的能力,例如规划感知和博弈论交互式预测与规划(几个任务间可能是彼此耦合的) 现有方法采用的是BEV特征网格(稠密表达),在时空扩展时有明显短板,即在远距离检测和存储历史BEV特征进行融合中会面临计算挑战 2. 相关工作 3. 方法 初始化Agent、Map、Ego三类稀疏Task Token 多视角相机图像经过Backbone变为图像特征,结合3D位置编码构成Sensor Token ...
VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning
GitHub ICLR 2026 1. 简介 本文贡献 提出概率规划以应对规划中的不确定性(Uncertainty,指信息不完整)和非确定性(Non-deterministic,指未来的随机性)特征,并能对非凸可行解空间(存在多条最优轨迹)进行建模,从而实现更准确、更安全的规划 V1使用Query,是因为它把规划当成一个类似于目标检测的特征提取与坐标回归任务;V2使用Token,是因为它借助了LLM的思想,把自动驾驶当成了一个语言翻译的任务(根据上下文对候选词进行概率预测) 2. 相关工作 3. 方法 VAD中的 Query:主要是一种隐式的特征聚合工具。虽然 Map Query 和 Agent Query 也对应了具体的地图线和车辆,但它们最终只是为了填充 Ego Query 的信息量。 VADv2中的 Token:是一种显式的实体/动作表示。 Scene Tokens(Map Token, Agent Token等):显式表示场景中的具体实体。 Planning Tokens:显式表示动作空间中的离散动作。 这种 Token 化使得整个自动驾驶任务变成了类似语言...
VAD代码解读
BEV特征提取 首先使用ResNet50(backbone)从输入的多帧多视角图片提取图片特征,然后使用FPN(neck)融合多尺度特征,最后借助BEVFormer的编码器得到BEV特征