首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏机器人课程与技术

    ROS2+Gazebo11+Car+OpenCV录制视觉数据和控制学习

    录制视觉数据如下: ---- 控制效果如下: ---- 如上控制案例参考: 2019年的一篇旧文,大概三年前了。 不变的配方,熟悉的味道。  [gazebo-1] Released under the Apache 2 License. [gazebo-1] Released under the Apache 2 License. [gazebo-1] [gazebo-1] libcurl: (6) Could not resolve host: fuel.ignitionrobotics.org ---- 录制视觉参考代码如下: run prius_line_following video_saver colcon build ros2 run prius_line_following video_saver ros2 launch

    97510编辑于 2022-06-08
  • 来自专栏具身小站

    视觉SLAM算法对比

    视觉SLAM对比 纯视觉SLAM类别可分为两种主要方法:基于特征的方法和直接方法。视觉的SLAM系统基于二维图像处理,系统通过多视角获取数据,首先执行初始化流程以定义全局坐标系并重建初始地图。 稀疏 无 无 2014 LSD-SLAM 大规模单目直接SLAM 实现半密集重建的直接算法,包含三个核心步骤:跟踪、深度图估计和地图优化 半稠密 具备 具备 2017 ORB-SLAM2 特征点检测与描述子算法 ,另一个则专用于关键帧分析 半稠密 具备 具备 2018 DSO 直接稀疏里程计 将直接方法与稀疏重建技术相结合 稀疏 无 无 2. 纯视觉SLAM算法流程概述 MonoSLAM PTAM DTAM SVO LSD-SLAM ORB-SLAM2 CNN-SLAM DSO 3. 时间 算法 全称 特点 地图密度 全局优化 回环检测 2007 MSCKF 多状态约束卡尔曼滤波器 包含三大核心步骤:状态传播、图像配准与滤波器更新 稀疏 无 无 2014 LKVIS 基于关键帧的视觉惯性

    84110编辑于 2025-10-28
  • 来自专栏具身小站

    视觉SLAM算法介绍

    REF:视觉即时定位与建图算法综述 1. ⁃惯性:视觉数据与IMU数据融合,形成的视觉⁃惯性SLAM算法能够实时且精确地计算相机的 6⁃DOF姿态,这种融合方法增强SLAM算法对复杂环境的适应能力,如在光照变化剧烈、场景缺乏特征或存在运动模糊 视觉-激光:多传感器集成的策略发挥了各自传感器的优势,极大提高了 SLAM 算法在面对复杂情境的鲁棒性,特别是在单一传感器可能受限或提供的信息不全时 2. DeepVO算法:是将深度学习应用于视觉里程计的算法,利用卷积神经网络(CNN)和循环神经网络(RNN)相结合的方法来提取图像特征并进行时序信息处理, 采用端到端的学习方式,从原始图像输入到相机姿态输出 多传感器适配:融入更多传感器,实现多模态感知,综合利用视觉、激光雷达、IMU和超声波等多种感知模式 实时性优化:视觉SLAM算法在减少计算复杂度和内存消耗,主要有三个方向: 轻量化:设计轻量级的深度学习模型和优化算法

    74410编辑于 2025-12-17
  • 来自专栏机器之心

    机器人视觉控制新范式!ByteDance Research新算法实现通过性能SOTA

    其中,Dreamer 算法在多种模拟环境的成功表现让我们看到了世界模型优秀的表征和泛化能力。如果将世界模型应用于复杂真实场景,是否能够实现更好的控制决策呢? 对此,ByteDance Research 研究团队与上海交通大学合作,成功将世界模型应用于四足机器人视觉控制领域,提出了基于世界模型的感知算法 WMP(World Model-based Perception 在足式机器人的运动控制中,视觉图像信息对于诸如越障等复杂环境是不可或缺的。 凭借强化学习的奖励信号从长序列、高维的视觉信息中学习策略难度极大。 总结 本研究提出了一种新的运动控制框架,通过构筑的世界模型来处理视觉信息和辅助决策,在四足机器人运动控制领域取得了不错的效果。 WMP 揭示了世界模型在 Sim2Real 以及机器人控制领域的巨大潜力,为之后世界模型在现实世界更广泛的应用提供了样例和宝贵的经验。 参考文献: 1.

    65810编辑于 2025-02-25
  • 来自专栏练小习的专栏

    视觉格式化模型-控制

    一、块级元素和块框 块级元素是源文档中那些在视觉上被格式化为块(如:段落)的元素。 上述代码中,SPAN 元素包含匿名文本区块 C1,后跟块级元素 P ,最后是匿名文本区块 C2。 如例2中 SPAN 设置了 border,产生匿名框后,C1 C2还是被红色的边框包围。 块框会占据一整行。 匿名行内框

    Some emphasized text

    P元素生成一个块控制框,其内还有几个行内框。” 如果插入框包含一个块框,那么插入框会成为一个块框; 2. 如果一个块框(不是浮动,也不是绝对定位)跟随在一个插入的控制框之后,则该插入框成为该块框的第一个行内框。 3.

    1K90发布于 2017-12-29
  • 来自专栏半杯茶的小酒杯

    PID控制算法

    PID控制算法是一个在工业控制应用中常见的反馈回路算法,它把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,从而使得整个系统更加准确而稳定。 图片来源[1] 下面我们主要了解PID控制算法的细节及其在机器人/自动驾驶领域的应用。在机器人/自动驾驶领域,一个常见的任务就是使得机器人/自动驾驶车辆移动到目标轨迹上。 (代码来自Udacity的免费Artificial Intelligence for Robotics【2】)。 turn = np.tan(steering2) * distance2 / self.length if abs(turn) < tolerance: 如下图所示,控制指令要求车辆转向为0度,但实际上它转了0.5度,这种误差对于人类司机来讲,会自动校正;但是对于自动驾驶系统,需要消除这种误差。

    3.6K10编辑于 2022-04-28
  • 来自专栏脑机接口

    ​基于机器视觉视觉刺激BCI系统实现动态控制

    视觉刺激(VS)是目前无创BMI应用最广泛的范式之一,具有高精确度和高信息传递率(ITR)等优势。 一个基于机器视觉的增强现实视觉刺激动态范式(AR-VS),利用动态决策时间区分方法解码人的意图,该方法控制基于任务与自运动系统协调的机器人在快速灵活的状态下,实现了更高的灵活性和更快的执行速度。 图1 AR-VS运行过程 (a) 现实环境中的AR-VS;(b) 和(c)为基于AR-VS的机器人控制系统示意图。 枕叶为SSVEP效应区,O1、O2、Oz、P3电极信号作为目标信号。 图2离线实验时域设置(a)为第1-4实验交互范式(b)和(c)为第5-8实验交互范式。 图3 在线实验范式,红色圆圈为静态VS,对应前进、右转、左转、后退和停止。

    78730编辑于 2022-09-22
  • 来自专栏智能算法

    机器视觉算法(系列一)--机器视觉简短入门

    由于笔者正处于机器视觉行业,所以准备和大家一起系统的学习机器视觉方面相关知识,主要包括常见的机器视觉算法,以及常见的应用领域算法的实现等,欢迎大家的讨论和交流。 ,进而根据判别的结果来控制现场的设备动作。 其中, 为传送带上的被测物体 为合适的拍摄被测物的相机 为标准或定制的光源 为触发图像采集的光电传感器 为计算机或工控机 为相机-计算机接口 为驱动软件采集到的图像 机器视觉算法处理处理过程 为算法返回的检测结果 为数字I/O口 PLC控制器 为现场总线接口 执行机构 上面系统的一般工作流程如下: 被测物体被传输到固定位置后,触发相机采集图像 采集到的图像传入计算机进行算法运算 将运算结果通过控制器返回到执行机构 2.常见的机器视觉应用 下面举几个常见的,必须有机器视觉系统参与的任务: 目标识别用来甄别不同的被测物体,比如物流控制或者根据不同目标进行的不同检测,识别有特殊识别特征的识别物,如字符串,条形码,二维码或被测物体的形状等特性

    3.9K80发布于 2018-04-03
  • 视觉算法落地复盘

    我在视觉算法落地这个坑里摸爬了很多年。从最早的传统图像处理,到后来的目标检测、语义分割,再到现在的大模型视觉。每一次技术迭代,学术界都会吹出一堆牛皮的论文,但没人告诉你落地的时候会遇到什么。 二、老板的热力学定律 每个做视觉算法落地的人,都会遇到一个违反热力学定律的老板。 然后前端同事转头就跟产品经理说"视觉算法太慢了"。你连辩解的机会都没有。 算力第一定律:你能用什么模型,不取决于你的技术水平,而取决于你的算力预算。 视觉算法落地这个领域,没有银弹,没有万能药。 每一个项目都是一次取舍,每一次部署都是一次妥协。你要在精度、速度、成本之间找到平衡点,而这个平衡点每次都不一样。 最后,我想对所有在视觉算法落地一线的同伴们说几句。 这个行业很苦,但也很有意思。你解决的每一个问题都是实打实的,你写的每一行代码都是真正在服务用户的。

    25820编辑于 2026-05-20
  • 来自专栏点云PCL

    SLAM综述(2)-视觉SLAM

    视觉传感器的产品和公司 •Microsoft:Kinectc v1(结构化轻型),Kinect v2(TOF), Azure Kinect(带有麦克风和IMU)。 ? •EVO:它(事件摄像机)[31]是基于事件的视觉测距算法。我们的算法不受运动模糊的影响,并且在具有挑战性的高动态范围条件下以及强烈的照明变化下都能很好地运行。 •DVO:它(RGB-D)提出了一种密集的视觉SLAM方法,一种基于熵的相似度度量用于关键帧选择和基于g2o框架的闭环检测[36]。 •RGBD-SLAM-V2:利用(RGB-D)深度相机即可重建准确的3D密集模型[37]。 •Kintinuous:它(RGB-D)是一种视觉SLAM系统,具有实时全局一致的点和网格重构[38]。 •RTAB-MAP:它(RGB-D)支持同时定位和映射,但是很难作为开发高级算法的基础[39]。后者同时支持视觉和激光雷达SLAM [40]。

    2K22发布于 2020-10-26
  • 来自专栏AI科技大本营的专栏

    玩嗨的2亿快手“老铁”和幕后的极致视觉算法

    追求极致效率:开发下一代计算机视觉算法 坐落在斯坦福校园旁边的快手 Y-tech 硅谷实验室,其研究大方向是追求 AI 算法的极致效率,王华彦称,他们在方法上主要专注于利用更加结构化的模型以及结构化的视觉信息表示 而所谓的追求“极致效率”,在研究方面的体现就是开发下一代计算机视觉算法。 目前业界和学界基于卷积神经网络(CNN)和大数据的计算机视觉方法有比较明显的局限性,王华彦举例称,人的视觉系统只需要很少的样本就能学习一个概念,而 CNN 需要非常多的样本。 从近些年的发展来看,王华彦认为,越来越丰富的结构化信息表示方式正在被引入到深度学习方法中,但离能够从很少的数据中高效率学习的“下一代计算机视觉算法”还有非常大的距离。 探索计算机视觉等 AI 前沿算法固然不错,但更常见的是,大部分实验室环境下表现优秀的算法却在实际落地到应用时不尽人意。 在王华彦看来,前沿算法由于很“前沿”,往往缺乏一个成熟的“使用说明书”。

    93520发布于 2019-08-26
  • 来自专栏程序员历小冰

    TCP 拥塞控制算法

    TCP协议有两个比较重要的控制算法,一个是流量控制,另一个就是阻塞控制。  TCP协议通过滑动窗口来进行流量控制,它是控制发送方的发送速度从而使接受者来得及接收并处理。 四大算法  拥塞控制主要是四个算法:1)慢启动,2)拥塞避免,3)拥塞发生,4)快速恢复。这四个算法不是一天都搞出来的,这个四算法的发展经历了很多时间,到今天都还在优化中。 慢启动算法: 1) 连接建好的开始先初始化拥塞窗口cwnd大小为1,表明可以传一个MSS大小的数据。 2) 每当收到一个ACK,cwnd大小加一,呈线性上升。 算法如下: 1) 收到一个ACK,则cwnd = cwnd + 1 / cwnd 2) 每当过了一个往返延迟时间RTT,cwnd大小加一。   拥塞状态时的算法  一般来说,TCP拥塞控制默认认为网络丢包是由于网络拥塞导致的,所以一般的TCP拥塞控制算法以丢包为网络进入拥塞状态的信号。

    2.7K10发布于 2019-03-01
  • 来自专栏全栈程序员必看

    PID控制算法总结

    微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器 二、公式 PID控制算法在实际应用中又可分为两种:位置式PID控制算法和增量式PID控制算法。 2.1 位置式数字 PID 控制 k 采样时刻的离散 PID 表达式: 上式中,Ki=Kp/Ti,Kd=Kp*Td,T 为采样周期,k 为采样序号,k=1,2,…,e(k-1)和e(k)分别为第(k- 2.2增量式 PID 控制 增量式 PID 控制是指控制器的输出是控制量的增量Δu(k),当执行机构需要的是控制量的增量而不是位置量的绝对数值时,可以使用增量式 PID 控制算法进行控制。 式中,Ki=Kp/Ti,Kd=Kp*Td,T 为采样周期,k 为采样序号,k=1,2,…,e(k-2)、e(k-1)以及 e(k)分别为第(k-2)、第(k-1)和第 k 时刻所得到的系统偏差信号。 三、采样周期和控制周期 四、C语言描述PID算法程序 4.1增量型PID的C语言实现 4.2 位置型PID的C语言实现 五、PID调试 由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化

    4K30编辑于 2022-08-27
  • 来自专栏行走的机械人

    机器视觉降龙算法项目

    一:降龙算法系列项目介绍 降龙算法系列分两个组成部分: 1. 降龙算法展示软件:降龙GUI 2. 降龙算法十八掌:十八种经典机器视觉算法 出此系列教程的目的是面向处于学习阶段的学生,尤其是想做机器视觉传统算法工程师或者机器视觉软件开发工程师的同学。 如果你想做机器视觉传统算法工程师,那降龙算法十八掌绝对是一本秘籍,掌握十八种在机器视觉行业最为经典的算法实现,注意,不是调库的实现,而是纯自己C++手写实现。 2、降龙GUI软件 降龙GUI是降龙算法的演示软件,软件的作用是集成算法,并为大家演示算法的效果,软件运行效果图如下所示: 软件包含多个区域模块: 1. 整个单次运行、循环运行和停止运行是靠一个单生产者单消费者队列模型来控制的,会在后续教程种做详细讲解。

    1.1K40编辑于 2023-08-17
  • 来自专栏码农爱学习的专栏

    电机控制进阶2——PID位置控制

    2 核心程序 了解了速度控制与位置控制的区别后,下面就可以修改程序。 2.1 编码器相关 ? /* TIM4通道1通道2 正交编码器 */ void TIMx_encoder_init(void) { GPIO_InitTypeDef GPIO_InitStruct TIM_CounterMode_Up; /*连续向上计数模式*/ TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStruct); /*编码器模式配置:同时捕获通道1与通道2( encoderDelta = encoderNow - encoderLast; /*得到变化值*/ encoderLast = encoderNow;/*更新上次的累计值*/ /*【2】 encoderNow, 1); /*给通道1发送实际的电机【位置】值*/ } 3 实验演示 实验中,指定目标值1496,可以实现电机正转1圈,再指定目标值-1496,因为是相对位置,电机会反转2

    3.9K31发布于 2021-06-24
  • 来自专栏杀马特

    计算机视觉:撕裂时空的视觉算法革命狂潮

    一·本篇介绍: 在科技飞速发展的今天,计算机视觉作为人工智能领域的重要分支,正以前所未有的速度改变着我们的生活。从智能手机的人脸识别解锁功能,到自动驾驶汽车的环境感知系统,计算机视觉技术无处不在。 本文将深入探讨计算机视觉领域的关键技术和算法,并结合 C++ 代码进行详细的实现和分析,带领读者领略这场视觉算法的革命狂潮。 二计算机视觉基础: 2.1 图像表示与处理: 2.1.1 图像的基本概念: 在计算机视觉中,图像通常被表示为一个二维矩阵,矩阵中的每个元素代表一个像素点的颜色值。 OpenCV 是一个广泛应用于计算机视觉领域的开源库,提供了丰富的图像处理和计算机视觉算法。 本篇直观呈现了计算机视觉技术的实现过程。计算机视觉正以前所未有的速度发展,未来将在更多领域创造惊喜,推动科技进步迈向新高度。

    41100编辑于 2025-01-26
  • 来自专栏机器人网

    飞行机器人BeeRotor:用视觉控制飞行

    虽然有研究指出,飞行的昆虫是通过重力来感知方向进行导航,实际上,这些研究也表明,这些昆虫也大部分通过视觉控制飞行,即通过复眼视网膜感知周围环境的光流信息。 这种基于视觉的感知机制激发了研究者Fabien Expert和埃克斯·马赛大学研究机构Institut des Sciences du Mouvement Etienne-Jules Marey的Franck 为了更加精确复制昆虫通过感知光流信息控制飞行的能力,研究者们在BeeRotor的“眼睛”上下方安装了24个光电二极管,让机器人感知周围环境。 第一个通过视觉数据控制飞行高度。第二个,通过收集的地势数据控制速度。最后一个用来保持平衡,以避免在没有安装加速计的情况下,急剧倾斜带来的不稳定破坏拍摄效果。

    91190发布于 2018-04-13
  • 来自专栏技术总结

    算法2

    有两个算法 A 和 B ,假设两个算法的输入规模都是 n,算法 A 要做 2n+3 次操作,算法 B 要做 3n+1 次操作。觉得谁快?看下图: ? 而当 n = 2 时,两者效率相同;当 n > 2时,算法 A 就开始优于算法 B 了,随着 n 的增加, 算法 A 比算法 B 越来越好了,得出结论,算法 A 好过 算法 B 判断一个算法的效率时,函数中的常数和其他次要项常常可以忽略 2、在修改后的运行次数函数中,只保留最高阶项。 3、如果最高阶项存在且不是1,则去除与这个项相乘的常数,得到的结果就是大O阶 3、常数阶 高斯算法,时间复杂度不是O(3),而是O(1)。 //第二种算法 int sum = 0, n = 100; /*执行1次*/ sum = (1 + n) * n/2; /*执行1次*/ printf( 也就是说,有多少个2相乘后大于n,则会退出循环。由2× = n ,得到 x = ㏒2n (2缩小)。所以这个循环的时间复杂度为O(㏒n)。

    1.3K90发布于 2018-05-22
  • 来自专栏全栈程序员必看

    TCP拥塞控制算法(TahoeRenoNewreno)

    TCP拥塞控制算法(Tahoe/Reno/Newreno) 前言 TCP(Transmission Control Protocol),传输控制协议,是目前__Internet__上最重要的一个通信协议之一 ,其作用是对数据的传输进行一定的控制;而拥塞控制算法又是TCP中最重要的一个算法之一,接下来我们先来了解一下基本概念,再来详细介绍3个协议中的拥塞控制算法以及他们之间的区别。 接收方就会给发送方发送一个确认tcp报文,置ACK为1(ACK是TCP报文中flags之一) MSS:maximum segment size,最大报文段长度 ---- Tahoe Tahoe是TCP的最早版本,其主要有三个算法控制数据流和拥塞窗口 Reno 除了包含Tahoe的三个算法,Reno多了一个Fast Recovery(快速恢复)算法。 Reno快速恢复算法中,发送方只要收到一个新的ACK就会退出快速恢复状态而进入拥塞避免阶段,Neweno算法中,只有当所有丢失的包都重传并收到确认后才退出。

    5.1K40编辑于 2022-09-12
  • 来自专栏aoho求索

    TCP拥塞控制算法简介

    TCP协议有两个比较重要的控制算法,一个是流量控制,另一个就是阻塞控制。  TCP协议通过滑动窗口来进行流量控制,它是控制发送方的发送速度从而使接受者来得及接收并处理。 四大算法  拥塞控制主要是四个算法:1)慢启动,2)拥塞避免,3)拥塞发生,4)快速恢复。这四个算法不是一天都搞出来的,这个四算法的发展经历了很多时间,到今天都还在优化中。 ? 慢启动算法: 1) 连接建好的开始先初始化拥塞窗口cwnd大小为1,表明可以传一个MSS大小的数据。 2) 每当收到一个ACK,cwnd大小加一,呈线性上升。 算法如下: 1) 收到一个ACK,则cwnd = cwnd + 1 / cwnd 2) 每当过了一个往返延迟时间RTT,cwnd大小加一。   拥塞状态时的算法  一般来说,TCP拥塞控制默认认为网络丢包是由于网络拥塞导致的,所以一般的TCP拥塞控制算法以丢包为网络进入拥塞状态的信号。

    1.7K20发布于 2019-05-07
领券