论文阅读:《Evidence for a fundamental property of steering》

news2024/11/18 18:41:29

文章目录

  • 1 背景
  • 2 方法
    • 2.1 方向盘修正行为标识
    • 2.2 数据
    • 2.3 数据拟合
  • 3 结果
    • 3.1 速率曲线
    • 3.2 恒定的转向时间
    • 3.3 基本运动元素的叠加
    • 3.4 其他实验
  • 4 讨论
  • 5 总结(个人)

1 背景

  这篇短文的主要目的是去阐述“转方向盘”这一行为的基本性质:方向盘修正行为大致上服从一个方向盘转动速率的钟形曲线。(类似于reaching behavior如下图,所谓reahcing behavior,就是指人伸手去摸东西)

  本文主要去探究以下3个问题:

  1. 方向盘修正行为是否也服从于一个钟形速率曲线?
  2. 方向盘转动速率和方向盘转角是否存在一个线性关系?这意味着方向盘修正的时间是个常量
  3. 复杂的方向盘转动行为是否可以由一些基本的行为元素组成?(motor primitives)

2 方法

  本文只去探究方向盘的角度 δ ( t ) \delta(t) δ(t)和方向盘转动速率 δ ˙ ( t ) \dot{\delta}(t) δ˙(t)。如下图所示,可以看到, δ ( t ) \delta(t) δ(t)的单位是“角度”, δ ˙ ( t ) \dot{\delta}(t) δ˙(t)的单位是“角度/秒”。单个车的方向盘修正行为是从各种不同的数据集里面提取的。

2.1 方向盘修正行为标识

  为了识别方向盘的修正行为,需要用到一些常量(其实就是清洗数据的一些规则),如上面这个图。

  1. 方向盘开始转动时间 t 0 t_0 t0:根据时间线,第一次满足不等式 ∣ δ ˙ ( t ) ∣ > δ ˙ m o v e |\dot{\delta}(t)| \gt \dot{\delta}_{move} δ˙(t)>δ˙move的时间点
  2. 方向盘停止转动时间 t 1 t_1 t1:方向盘开始转动后,第一次满足不等式 ∣ δ ˙ ( t ) ∣ < δ ˙ s t i l l |\dot{\delta}(t)| \lt \dot{\delta}_{still} δ˙(t)<δ˙still(论文里这个不等式是大于号,但是我个人理解感觉应该是小于号)
  3. 最大方向盘转动速率: δ ˙ m = m a x ( { δ ˙ ( t ) : t ∈ [ t 0 , t 1 ] } ) \dot{\delta}_m = max(\{\dot{\delta}(t):t\in [t_0, t_1]\}) δ˙m=max({δ˙(t):t[t0,t1]})
  4. 整体的方向盘角度变化: Δ δ = ∣ δ ( t 0 ) − δ ( t 1 ) ∣ \Delta \delta = |\delta(t_0) - \delta(t_1)| Δδ=δ(t0)δ(t1)

应用上述规则去定义一个方向盘转动行为,还要额外考虑两条过滤规则,就是脏数据:

  • Δ δ < Δ δ m i n \Delta \delta \lt \Delta \delta_{min} Δδ<Δδmin
  • m a x ( δ ( t 0 ) , δ ( t 1 ) ) > δ m a x max(\delta(t_0), \delta(t_1)) \gt \delta_{max} max(δ(t0),δ(t1))>δmax

2.2 数据

  数据集这方面,本文是选了6个数据来源,文中有进行一些简单介绍,这里就不记了,主要是想进行更完备的实验,得出更可靠的结论吧。

2.3 数据拟合

  数据拟合就用高斯函数去做:

δ ˙ ( t ) = δ ˙ m e x p ( − ( t − b ) 2 2 σ 2 ) \dot{\delta}(t) = \dot{\delta}_m exp(-\frac{(t-b)^2}{2\sigma^2}) δ˙(t)=δ˙mexp(2σ2(tb)2)

如果数据拟合完出来的函数, R 2 > R f i t 2 R^2 \gt R_{fit}^2 R2>Rfit2,就认为符合钟形曲线。( σ \sigma σ与方向盘修正持续时间密切相关)

3 结果

3.1 速率曲线

  看下面这个图和表,就说绝大部分的这个方向盘修正行为都符合速率的钟形曲线,表的第二列代表的是每个数据集里可以被拟合成钟形的比率。这也回答了本文要探究的第一个问题。

3.2 恒定的转向时间

  从上面那个表里面可以看出, σ \sigma σ在不同数据集几乎是一样的,这意味着方向盘转动的持续时间基本都相同,下表的 Δ t \Delta t Δt也指向相同结论。这意味着转向角和最大速率具有强烈的线性关系,从下表这个 k k k就可以看出来,另外去拟合线性关系也可以非常明显地看出这件事情,如下图。这回答了本文的第二个问题。

3.3 基本运动元素的叠加

  大多数的方向盘修正行为都可以被单个高斯函数拟合。对于那些拟合不好的,其实用多个高斯函数叠加去拟合也可以逐渐拟合成功,如下表所示,拟合标准还是 R 2 > R f i t 2 R^2 \gt R_{fit}^2 R2>Rfit2。可以看到基本上两个就可以拟合绝大部分了。这回答了本文的第三个问题。

3.4 其他实验

  为了让实验结论更有说服力,本文还做了点其他的实验,比如区分男女司机,区分年龄这种。得到的结果没区别。

4 讨论

  既然发现了转角和最大速率的线性关系,那其实就可以这样搞:

Δ δ = ∫ δ ˙ ( t ) d t = 2 δ ˙ m σ π δ ˙ m = Δ δ 2 σ π = k Δ δ k = 1 2 σ π \Delta \delta = \int \dot{\delta}(t)dt = 2\dot{\delta}_m\sigma \sqrt{\pi}\\ \dot{\delta}_m= \frac{\Delta \delta}{2\sigma \sqrt{\pi}} = k\Delta \delta\\ k = \frac{1}{2\sigma \sqrt{\pi}} Δδ=δ˙(t)dt=2δ˙mσπ δ˙m=2σπ Δδ=kΔδk=2σπ 1

插入上面单个高斯函数拟合的那个表 σ = 0.1 \sigma=0.1 σ=0.1,可以得到 k = 2.8 k = 2.8 k=2.8

5 总结(个人)

  感觉第一个比较吃惊的是reaching behavior是符合一个钟形的速率曲线,进而这篇文章证明了这个转方向盘这个行为也是这样。用在自动驾驶里面或许可以模拟出人类的开车行为,这篇文章是waymo的NIEON模型参考的文章,的参考的文章。

  蛮有意思,或许人的其他什么行为,与手有关的是不是都符合这样的钟形速率曲线呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/338491.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人大金仓数据库索引的应用与日常运维

索引的应用 一、常见索引及适应场景 BTREE索引 是KES默认索引&#xff0c;采用B树实现。 适用场景 范围查询和优化排序操作。 不支持特别长的字段。 HASH索引 先对索引列计算一个散列值&#xff08;类似md5、sha1、crc32&#xff09;&#xff0c;然后对这个散列值以顺序…

SpringBoot+Vue实现师生健康信息管理系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏…

第二章-线程(3)

线程一、线程的定义二、线程的实现一、线程的定义 线程&#xff1a; 线程是进程中的一个实体&#xff0c;是系统独立调度和分派的基本单位。 进程是资源的拥有者&#xff0c;线程是系统独立调度和分配的基本单位。 进程与线程的比较&#xff1a; 调度&#xff1a;线程调度快…

Python 的Tkinter包系列之七:好例子补充2

Python 的Tkinter包系列之七&#xff1a;好例子补充2 英汉字典&#xff08;使用文本文件记录英语单词和解释&#xff09;、简单的通信录&#xff08;使用SQLite数据库记录人员信息&#xff09; 一、tkinter编写英汉字典 先看效果图&#xff1a; 词典文件是一个文本文件&…

python自动发送邮件实现

目录1 前言2 准备工作2.1 电子邮件的基础知识。2.2 python邮件库2.3 邮箱设置3 python实现邮件自动发送3.1 SMTP()和send()方法介绍3.2 python实现实例参考信息1 前言 python功能强大&#xff0c;可以实现我们日常办公的很多任务。诸如批量处理word,excel,pdf等等文件&#xf…

事务基础知识与执行计划

事务基础知识 数据库事务的概念 数据库事务是什么&#xff1f; 事务是一组原子性的SQL操作。事务由事务开始与事务结束之间执行的全部数据库操作组成。A&#xff08;原子性&#xff09;、&#xff08;C一致性&#xff09;、I&#xff08;隔离性&#xff09;、D&#xff08;持久…

1625_MIT 6.828 stabs文档信息整理_下

全部学习汇总&#xff1a; GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 继续之前的学习笔记&#xff0c;整理一下最近看过的一点stabs资料。 这一页中有一半的信息是Fortran专用的&#xff0c;直接跳过。参数的符号修饰符是p&#xff0c…

【webpack】webpack 中的插件安装与使用

一、webpack 插件的作用 通过安装和配置第三方的插件&#xff0c;可以拓展 webpack 的能力&#xff0c;从而让 webpack 用起来更方便。最常用的 的webpack 插件有如下两个&#xff1a; 1.webpack-dev-server&#xff08;实时打包构建&#xff09; 类似于 node.js 阶段用到的 no…

为什么说网络安全是风口行业?

前言 “没有网络安全就没有国家安全”。当前&#xff0c;网络安全已被提升到国家战略的高度&#xff0c;成为影响国家安全、社会稳定至关重要的因素之一。 网络安全行业特点 1、就业薪资非常高&#xff0c;涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万&…

Django框架之模型

模型 当前项目的开发, 都是数据驱动的。 以下为书籍信息管理的数据关系&#xff1a;书籍和人物是 &#xff1a;一对多关系 要先分析出项目中所需要的数据, 然后设计数据库表. 书籍信息表 字段名字段类型字段说明idAutoField主键nameCharField书名 idname1西游记2三国演义…

SpringMVC中遇到的错误

SpringMVC中遇到的错误1.web.xml中配置SpringMVC核心类: DispatcherServlet 报错解决方案&#xff1a;添加Tomcat包2. not declaration can be found for element--------‘mvc:annotation-driven‘通配符的匹配很全面, 但无法找到元素 mvc:annotation-driven 的声明解决方案&a…

雅思经验(9)之小作文常用词汇总结

写作&#xff1a;关于趋势的上升和下降在小作文中&#xff0c;真的是非常常见的&#xff0c;所以还是要积累一下。下面给出了很多词&#xff0c;但是在雅思写作中并不是词越丰富&#xff0c;分数就越高的。雅思写作强调的是准确性&#xff1a;在合适的地方用合适的词和句法。不…

Python+Go实践(电商架构三)

文章目录服务发现集成consul负载均衡负载均衡算法实现配置中心nacos服务发现 我们之前的架构是通过ipport来调用的python的API&#xff0c;这样做的弊端是 如果新加一个服务&#xff0c;就要到某个服务改web&#xff08;go&#xff09;层的调用代码&#xff0c;配置IP/Port并发…

8年软件测试工程师经验感悟

不知不觉在软件测试行业&#xff0c;野蛮生长了8年之久。这一路上拥有了非常多的感受。有迷茫&#xff0c;有踩过坑&#xff0c;有付出有收获&#xff0c; 有坚持&#xff01; 我一直都在软件测试行业奋战&#xff0c; 毕业时一起入职的好友已经公司内部转岗&#xff0c;去选择…

理论七:为何说要多用组合少用继承?如何决定该用组合还是继承?

在面向对象编程中、有一条非常经典的设计原则&#xff0c;那就是&#xff1a;组合优于继承&#xff0c;多用组合少用继承。为什么不推荐使用继承&#xff1f;组合相比继承有哪些优势&#xff1f;如何判断该用组合还是继承&#xff1f;今天,我们就围绕着这三个问题&#xff0c;来…

Windows中安装Docker Desktop 4.16.3(当前最新版本)

前言 docker是一个用Go语言实现的开源项目&#xff0c;它可以很方便的创建和使用容器&#xff0c;docker将程序以及程序所有的依赖都打包到docker container&#xff0c;这样程序可以在任何环境都会有相同的表现&#xff0c;这里程序运行的依赖也就是容器类似集装箱&#xff0…

用于超大图像的训练策略:Patch Gradient Descent

前言 本文旨在计算和内存限制的情况下&#xff0c;解决在大规模图像上训练现有CNN 架构的问题。提出PatchGD&#xff0c;它基于这样的假设&#xff1a;与其一次对整个图像执行基于梯度的更新&#xff0c;不如一次只对图像的一小部分执行模型更新&#xff0c;确保其中的大部分是…

scscanner:一款功能强大的大规模状态码扫描工具

关于scscanner scscanner是一款功能强大的大规模状态码扫描工具&#xff0c;该工具可以帮助广大研究人员从一个URL列表文件中批量读取目标网站的状态码响应信息。除此之外&#xff0c;该工具还可以过滤出指定的状态码&#xff0c;并将结果存储到一个文件中以供后续深入分析使用…

Idea软件——Debug使用方法

Idea软件——Debug 1 Debug概述 Debug:是供程序员使用的程序测试工具&#xff0c;它可以用于查看程序和执行流程&#xff0c;也可以用于追踪程序执行过程来调试程序 1.2 Debug操作流程 Debug调试&#xff1a;又叫断点调试&#xff0c;断点其实是一个标记&#xff0c;告诉从何看…

实战项目-用户评论数据情绪分析

目录1、基于词典的方法2、基于词袋或 Word2Vec 的方法2.1 词袋模型2.2 Word2Vec3、案例&#xff1a;用户评论情绪分析3.1 数据读取3.2 语料库分词处理3.3 Word2Vec 处理3.4 训练情绪分类模型3.5 对评论数据进行情绪判断目的&#xff1a;去判断一段文本、评论的情绪偏向在这里&a…