社区
进程/线程/DLL
帖子详情
多线程导致传感器数据失真?
JackDoge
2010-07-11 08:17:17
悲剧啊。。。
使用一个单独读串口的程序来接收一个电子罗盘数据,精度有0.2°
但是在另一个程序里新开一个线程来读串口数据,放到一个全局变量里,然后主线程调用这个数据,精度就变成5°了。。。。
求教各位,会是什么原因呢?该如何解决
...全文
166
11
打赏
收藏
多线程导致传感器数据失真?
悲剧啊。。。 使用一个单独读串口的程序来接收一个电子罗盘数据,精度有0.2° 但是在另一个程序里新开一个线程来读串口数据,放到一个全局变量里,然后主线程调用这个数据,精度就变成5°了。。。。 求教各位,会是什么原因呢?该如何解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JackDoge
2010-07-13
打赏
举报
回复
哎,好像跟线程没什么关系。。。 貌似是传感器自身的问题= =
Eleven
2010-07-12
打赏
举报
回复
[Quote=引用 3 楼 neromustdie 的回复:]
没。。。
该如何保证任意时刻只有一个线程访问单一数据呢?谢谢
[/Quote]
EnterCriticalSection,LeaveCriticalSection就可以了,比起使用内核对象来效率要高。。。
JackDoge
2010-07-12
打赏
举报
回复
清早一顶~
JackDoge
2010-07-11
打赏
举报
回复
[Quote=引用 7 楼 oyljerry 的回复:]
引用 6 楼 neromustdie 的回复:
晕。。
还真是这样
我要是在主线程里写个while(1),其它什么都不干,读出的传感器数据精度就比较高
但是如果主线程里做了图形渲染,读出的传感器误差就特别大。。。。
到底是为什么啊。。。。
图像处理,占用了CPU,来不及处理你的数据
[/Quote]
但是并没有丢失数据啊。。。
每次串口来的数据都被采集到了的。。。
oyljerry
2010-07-11
打赏
举报
回复
[Quote=引用 6 楼 neromustdie 的回复:]
晕。。
还真是这样
我要是在主线程里写个while(1),其它什么都不干,读出的传感器数据精度就比较高
但是如果主线程里做了图形渲染,读出的传感器误差就特别大。。。。
到底是为什么啊。。。。
[/Quote]
图像处理,占用了CPU,来不及处理你的数据
JackDoge
2010-07-11
打赏
举报
回复
晕。。
还真是这样
我要是在主线程里写个while(1),其它什么都不干,读出的传感器数据精度就比较高
但是如果主线程里做了图形渲染,读出的传感器误差就特别大。。。。
到底是为什么啊。。。。
JackDoge
2010-07-11
打赏
举报
回复
不过我不让主线程访问接收到的数据也不行哦。。。
只让接收数据的线程把数据打印出来,其它线程都不访问,误差还是蛮大。。。
oyljerry
2010-07-11
打赏
举报
回复
线程互斥,mutex等互斥,让每次只有一个线程可以访问数据
JackDoge
2010-07-11
打赏
举报
回复
没。。。
该如何保证任意时刻只有一个线程访问单一数据呢?谢谢
m_tornado
2010-07-11
打赏
举报
回复
互斥问题考虑了吗?任一时刻只有一个线程可访问单一数据内容
不然后果很难预料~
JackDoge
2010-07-11
打赏
举报
回复
我又试了一下,把主线程的处理屏蔽掉,只负责输出传感器数据,之前要做图像渲染~
然后精度变成了1°左右。。。。
C++11 14 17 20
多线程
从原理到线程池实战
学习计划 每天学习一小时以上 跟着视频动手编写代码 调试代码并对比课程多提供的源码 课程目标 理解
多线程
原理并学会c++11 的
多线程
编程 理解线程池技术原理并能使用c++实现 理解c++11 14 17 20
多线程
编程相关特性 常见问题 课程使用的开发工具? 课程使用的开发工具是vs2019 课程代码是否是跨平台? 课程代码都是基于c++自生特性,没有用到第三方库,都是跨平台 旧版本的开发工具是否可以? 课程中的大部分代码是c++11 ,绝大部分开发工具都支持,其中c++14 17要比较新的工具支持,c++20需要vs2019 课程是否提供源码? 课程提供源码,方便同学学习过程的出现问题,进行对照调试错误。
超全汇总!多
传感器
离线/在线时空联合标定方法
多源异构
传感器
融合在当今的自动驾驶应用场景中很常见,准确的多
传感器
时间和空间统一是实现多
传感器
融合感知和定位的先决条件。许多
传感器
融合方法假设不同
传感器
的时间戳精确对齐,这实际上只能通过严格的硬件同步来保证,但是对于大多数低成本和自建的
传感器
组,硬件同步是不可用的。在实践中,
传感器
数据
的时间戳会受到不同的时钟、触发机制、传输延迟、
数据
堵塞、抖动、偏斜的影响,
导致
测量时刻和时间戳之间的存在偏移。准确的时间校准是实现有效
传感器
融合的首要前提。
SLAM多
传感器
融合调研
多
传感器
融合SLAM 经过一段时间发展,逐步形成了视觉惯性系统,激光惯性系统和激光视觉惯性系统,通过对综述文章的学习,并聚焦于激光视觉惯性融合这一方向,分为松耦合与紧耦合,对相关融合算法文献进行调研。—提示:以下是本篇文章正文内容,下面案例可供参考。
【QT教程】QML
传感器
融合应用
传感器
融合的基本概念
传感器
融合的基本概念
传感器
融合是一个将多个
传感器
的
数据
结合起来,以获得比单个
传感器
更准确、更全面、更有用的信息的技术过程。在现代的计算机视觉、机器人技术、增强现实、自动驾驶汽车和许多其他领域中,
传感器
融合都发挥着至关重要的作用。为什么需要
传感器
融合每个
传感器
都有其独特的特性,比如测量范围、精度、更新频率和受干扰的程度等。单独使用一个
传感器
时,其提供的信息往往是有限的,甚至可能是不完整的或错误的。通过融合来自多个
传感器
的
数据
,我们可以,
VINS-mono 论文解读:IMU预积分+Marg边缘化
点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达VINS-mono 论文解读(IMU预积分+Marg边缘化)前面,我们已经对接下来的VIO系列主要内容有所介绍(感兴趣的可以关注:视觉与惯性
传感器
如何融合?),本文是VIO系列的第一节内容:VINS-mono论文解读(IMU预积分+Marg边缘化)。论文《VINS-Mono: A Robust and ...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章