【重读经典】DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving
标题中的 Affordance 一词,本意是”预设用途,功能特性“,最初在知觉心理学和设计学领域出现。 后来在人机交互领域,Affordance 的含义变成了:一个产品让用户自然领悟到用法的能力。 在机器人领域(自动驾驶和机器人的感知不分家),被引申为可以执行的潜在动作,即在特定情况下哪些动作是可执
深度学习 - 网络的优化 Optimisation for Training Deep Networks
深度学习问题需要一个损失函数,我们的目标就是通过优化算法来最小化损失,即最小化目标(损失)函数。 需要注意的是,优化和深度学习的本质目标有差异:优化关注的是最小(最大)化目标函数,深度学习更关注模型的泛化能力。比如说,训练阶段的目标是最小化训练误差,但深度学习真正关心的是减小泛化误差,也就是推理阶段
可变参数模板和折叠表达式的工程示例
多传感器融合算法往往都需要一个时间同步算法,时间同步算法的输入一般是多个带时间戳的传感器数据。 使用 C++ 不久的人,往往会给这多个传感器的类分别创建实例,在处理的时候再根据传感器数量进行遍历。这样写没有问题,就是不够优雅。 学习可变参数模板和折叠表达式需要先对 C++ 中的 Template 有
Ubuntu开发板多用户开发权限配置指南
本文主要是为了解决多用户在同一台开发板上开发时,导致的 GitHub 等 SSH key 混乱的问题。 Linux 系统多用户 # 切换到管理员权限
sudo su
# 创建用户 wfy(会自动创建 home 目录)
adduser wfy
# 系统会提示设置密码,输入 1(注意:Ubuntu
Kalman Filter原理及公式推导
卡尔曼滤波是一种高效的递归(自回归)滤波器。能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波会根据各测量值在不同时间下的值,考虑各时间下的联合分布,再产生对未知变量的估计,因此会比只以单一测量值为基础的估计方式要准^{[1]}。 几个值 先说明一下卡尔曼滤波中涉及到的各个值:
IMU的数据
我一个做感知的威森莫要用 IMU... 昨天想获取 Unitree GO2 的 IMU 数据,跑官方 SDK 的时候,忘记修改底层代码,导致发送了一些控制命令,狗突然就动了起来,差点把狗搞坏,险些让我“曾经有一份工作”,至今心有余悸。 GITHUB 上似乎没有现成的获取 GO2 IMU 数据的代码,
C++模板
C++ 是一门强类型语言,编写一个通用函数,能把任意类型的变量传进去处理,通过把通用逻辑设计为模板来摆脱类型限制。 C++ 中的模板语法,实际上是在为 C++ 提供泛型(Generic Programming)的机制。 最常见的泛型应用在 STL 的容器中。 类模板 Class Templates
C++11及其之后的新特性(简单介绍)
C++11 自动类型推导 auto 需要注意的是: 必须在定义时初始化 auto 类型的变量 auto 类型不能定义数组 一旦初始化,就不可更改类型 auto x = 5;
auto y = 3.14;
auto a; // 错误
auto array[10]; //错误
auto a = 1
ROS1的launch文件
之前一直是 rosrun 方式启动ros节点的, 一是因为懒, 二是因为我只负责一个节点, 用不到 launch 方式. 这次遇到了不能保存 ROS 日志的 bug, 换成 launch 方式启动就能成功保存日志了... Launch文件 ROS中 .launch 文件可以同时启动多个 node,