自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(211)
  • 收藏
  • 关注

原创 pytorch多GPU训练简明教程

模型(module)会被复制到每个设备上,这意味着输入的批次(batch)会被平均分配到每个设备,但模型会在每个设备上有一个副本。总结来说,DataParallel会自动将数据切分并加载到相应的GPU上,将模型复制到每个GPU上,进行正向传播以计算梯度并汇总。DistributedDataParallel (DDP) 是 PyTorch 提供的一个用于分布式数据并行训练的模块,适用于单机多卡和多机多卡的场景。输入数据不拆分,但需要通过不同的 GPU 处理模型的不同部分。每个进程都有一个唯一的 rank。

2024-08-09 14:14:58 940

原创 ICETEK-DM6437-AICOM——CPU定时器及直流电机控制中断控制

通过设置GPIO引脚与配置直流电机的PWM控制方式来实现其功能。GPIO用于接口控制,而PWM用于调节电机转速,这些技术的结合为各种自动化和控制应用提供了可靠的解决方案。开发者可以根据实际的硬件和应用需求,利用DM6437的处理能力和丰富的接口,设计和实现各种控制策略。上图是利用开关管对直流电动机进行 PWM 调速控制的原理图和输入输出电压波形。在PWM(脉宽调制)调速方法中,通过改变MOSFET栅极的输入信号,来控制MOSFET的导通和截止,进而改变直流电机电枢绕组两端的电压。

2024-08-08 09:55:14 904

原创 Linux项目环境的搭建 (Red hat 9.0Linux操作系统)

所谓交叉编译器就是一种在Redhat Linux操作系统 + X86的体系结构下,编译经过移植的linux操作系统,生成内核,该内核能够在另外一种软硬件环境下运行的编译工具,如linux操作系统 + ARM的体系结构。而且,在有的目录下还有Readme 文件,它是对该目录下的文件的一些说明,同样有利于我们对内核源码的理解。等待系统安装,如果所有的RPMS内的文件全部正确安装,将会在根目录下的/opt文件夹内生成一个host文件夹,我们所需的交叉编译库就在该目录下。所以,所需的交叉编译环境就搭建好了。

2024-08-07 14:19:07 951

原创 智能制造与工业物联网CC2530——串口通讯、定时器唤醒

在 CC2530 中,USART0 和 USART1 作为串行通信接口,提供了灵活的配置选项,以适应不同的通信需求。通过合理配置这些寄存器和标志位,可以确保 UART0 按照项目需求进行高效、可靠的数据通信。在实际应用中,这些配置是实现串口通信的基础,对于确保数据传输的正确性和实时性至关重要。本次项目串口相关的寄存器或者标志位有:U0CSR、U0GCR、U0BAUD、 U0DBUF、UTX0IF。指示 UART0 发送中断的状态。当数据发送完成时,此标志被置位,可以通过中断服务程序进行处理。

2024-08-06 11:09:58 833

原创 nuScenes数据集及mmdetection3d中的相关处理

nuScence数据集共有5类坐标系,定义分别如下:注:全局坐标系的原点位于该场景地图左上角(该信息对可视化有帮助)。nuScenes同时也提供了各传感器与自车坐标系、自车坐标系与全局坐标系之间的坐标平移矩阵与旋转矩阵(四元数表达),以及各相机的内参矩阵。

2024-08-05 15:59:57 958

原创 【初学人工智能原理】【12】循环:序列依赖问题

本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。

2024-08-04 09:45:00 984

原创 【初学人工智能原理】【11】卷积神经网络:图像识别实战

本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。

2024-08-03 09:00:00 814

原创 【初学人工智能原理】【10】卷积神经网络:打破图像识别的瓶颈

本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。

2024-08-02 16:32:50 986

原创 【初学人工智能原理】【9】深度学习:神奇的DeepLearning

本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。深度学习的核心在于让神经网络通过增加隐藏层和神经元来深入学习数据。这样做可以帮助模型发现数据中复杂的规律,从而做出更准确的预测。如果一个网络的隐藏层超过三层,我们就叫它深度神经网络。虽然听起来技术性很强,但其实深度学习就是让计算机通过分析很多数据来学习如何做出更好的预测。我们可能不清楚网络内部每个部分具体是如何运作的,但通过给网络提供数据并进行训练,我们可以看到它的效果。

2024-08-01 14:58:03 931

原创 智能制造与工业物联网CC2530——定时器查询和中断

熟悉 ZigBee 模块相关硬件接口。使用 IAR 开发环境设计程序,学习 CC2530 定时器的使用,利用 CC2530 的定时器 T1 查询方式控制 LED 周期性闪烁。CC2530 的 T1 定时器(16 位)需要配置三个寄存器 T1CTL,T1STAT,T1CTL = 0x0d;//128 分频,自动重装 0X0000-0XFFFF。I/O 口配置参考前文。//P0_5 定义为输出。//通道 0, 中断有效。

2024-07-31 10:32:50 315

原创 LVGL基础对象(lv_obj)

每个对象都必须会有且仅有一个父对象(屏幕除外),但一个父对象可以有任意数量的子对象。所有控件的API在它们各自的文档中有描述,但也可以查看相应的头文件(例如, widgets/lv_slider.h)。小实验演示二:子对象的位置超出父对象的范围,则超出的部分不显示。2、子对象的位置超出父对象的范围,则超出的部分不显示。♦♦♦♦♦♦♦♦ 2.4 Positon(位置)♦♦♦♦♦♦♦♦ 2.8 Events(事件)♦♦♦♦♦♦♦♦ 2.7 Style(样式)♦♦♦♦♦♦♦♦ 2.2 创建和删除对象。

2024-07-30 17:01:21 752

原创 经典文献阅读之--MUVO(自动驾驶带几何表征的多模态生成式世界模型)

学习无人监督的自动驾驶世界模型有可能显著提高当今系统的推理能力。然而,大多数工作忽略了世界的物理属性,只关注传感器数据。提出MUVO,一个具有几何体素表示的多模态世界模型。用原始相机和激光雷达数据来学习传感器不可知的世界几何表示,可以直接用于下游任务,如规划。在多模态的未来预测,几何表示改进了相机图像和激光雷达点云的预测质量。代码可以在Github上获取。图1. 这个例子展示了MUVO对3D占据和摄像头以及激光雷达观测的高分辨率未来预测。

2024-07-30 16:50:57 755

原创 轻松实现远程智能交互:OriginBot与钉钉和GPT4o的集成指南

上面给出的通过钉钉单聊机器人跟智能小车交互的代码是非常简单的,它只能把你发给小车的消息原样返回,但实际使用过程中肯定不会这样使用。大家在代码中可以看到,我目前限定了只能接收文本格式的消息,其他类型暂时都不允许,这主要是为了降低一开始的开发难度,不用考虑所有可能。还有一个原因是,自己开发前端,如果想实现远程交互(不在同一wifi下),就一定需要一个云服务器来中转一下,这个是比较麻烦的。运行这个脚本后,在钉钉中给“originbot_home_assistant”这个机器人发送消息后,它会给你回复一样的内容。

2024-07-29 09:54:09 248

原创 【自然语言处理】概论(二):分而治之的自然语言理解

自然语言处理需要“理解”高度复杂和多样化的自然语言,即从语言输入中提取有意义的信息并理解其含义。

2024-07-28 09:30:00 441

原创 ICETEK-DM6437-AICOM——环境安装与GPIO的应用

点击可查看全文。

2024-07-27 09:30:00 688

原创 智能制造与工业物联网CC2530——模拟按键查询和模拟按键中断

【代码】智能制造与工业物联网CC2530——模拟按键查询和模拟按键中断。

2024-07-26 16:35:36 597

原创 【自然语言处理】概论(一):自然语言处理概要

​编辑语言:语言就广义而言,是采用一套具有共同处理规则来进行表达的沟通指令,指令会以视觉、声音或者触觉等方式来传递。可以分为:自然语言、动物语言、计算机语言。。。自然语言人类在发展过程中形成的一种信息交流方式,包括口语和书面语,反映人类的思想。它自然地随文化演化,是人类用来沟通的指令,可以通过视觉、声音或触觉等方式传递。​编辑定义:自然语言处理是计算机科学和人工智能的一个分支,它旨在开发能够理解和生成人类语言的技术。通过建立形式化计算模型来分析、理解和生成自然语言的学科。

2024-07-25 10:28:57 302

原创 嵌入式系统上通过crontab表达式实现基于绝对时间的秒级定时任务

在嵌入式系统开发中,定时任务是确保系统按预定计划正确执行功能的关键。通过结合crontab表达式和 C 语言,可以设计出精准且灵活的定时任务系统。本博客详细描述了如何在嵌入式开发中,使用crontab表达式来实现基于绝对时间的定时任务。内容包括架构设计、技术实现、实施过程及挑战与解决方案。cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表。1. Seconds2. Minutes3. Hours5. Month7. Year (可选字段)0 0 12?\* WED。

2024-07-24 17:26:22 584

原创 【proteus经典项目实战】51单片机用计数器中断实现100以内的按键计数并播放音乐

一个基于8051微控制器的计数器系统,该系统能够通过按键输入递增计数,并且能够在达到100时归零。该系统将使用计数器中断和外部中断来实现其功能。51单片机因其简单易用和成本效益高,成为电子爱好者和学生的首选平台。通过编程单片机播放音乐,不仅可以锻炼编程技能,还能增加对电子项目的兴趣。本文将通过Proteus仿真,指导你如何使用51单片机播放三首经典歌曲。设计一个基于8051微控制器的100以内按键计数器,涉及到硬件选择、软件编程、以及系统集成等多个方面。

2024-07-23 14:54:21 748

原创 智能制造与工业物联网CC2530——开发坏境创建与简要介绍

此外,还需要了解GPIO引脚的工作模式(如输入、输出、复用等)和输出模式(如推挽输出、开漏输出等),并根据需要进行配置。需要注意的是,不同的微控制器或处理器可能具有不同的寄存器配置方法和参数设置,因此需要根据所选的硬件平台进行相应的配置。源代码文件包含程序逻辑和算法的实现,配置文件用于配置项目运行所需的参数和设置,数据文件则用于存储项目所需的数据和资源。(6)单击注册机 Generate,如图b中标号 4 所示,将b中的 License key (如标号 5 所示)复制到下图中。

2024-07-22 15:37:27 694

原创 【文献解析】NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

从新视点生成照片级真实感输出需要正确处理复杂的几何体和材质反射比属性。目前还没有一种方法可以生成照片级的场景渲染,传统的Sfm重建质量不够高且仅仅将照片颜色投影到模型。我们提出了一种方法,通过使用稀疏的输入视图集优化底层连续体积场景函数,实现合成复杂场景的新颖视图的最先进的结果。我们的算法使用全连接(非卷积)深度网络表示场景,其输入是单个连续 5D 坐标(空间位置 (x, y, z) 和观察方向 (θ, φ)),其输出是体积密度和该空间位置处与视图相关的发射辐射率。

2024-07-21 11:30:00 2013

原创 机器人控制:物理人机交互控制中的不稳定性因素及其解决思路

位置偏差:机器人试图与弹性环境建立稳定接触时,由于环境的弹性,机器人的实际位置可能与其预期位置之间存在偏差。响应延迟:由于系统处理速度的限制或传感器数据的误差,机器人可能无法及时响应人类的操作或指令,导致交互过程中的时间延迟。控制精度下降:由于环境噪声、系统误差或交互过程中的干扰,机器人的控制精度可能下降,无法准确执行预期的任务或动作。

2024-07-20 10:30:00 685

原创 语义分割算法——应用空洞卷积和CRF的DeepLabv1

深度卷积神经网络(deep Convolutional Neural Networks, DCNN)最近在高级视觉任务(如图像分类和目标检测)方面表现出了最先进的性能。本篇文章结合了 DCNN 和概率图形模型的方法,来解决像素级分类任务(也称为“语义图像分割”)。作者认为,DCNN最后一层的响应无法在位置上进行准确的对象分割。这是因为使 DCNN 的非常不变性属性是适用于更高级任务的。作者通过将最终 DCNN 层的响应与完全连接的条件随机场 (CRF) 相结合,来克服深度网络的这种定位很差的缺点。

2024-07-19 14:16:56 618

原创 【proteus经典实战】定时器控制交通灯指示灯

基于8051系列单片机实现,旨在模拟一个简单的交通灯系统,实现红、黄、绿灯的交替亮灭。使用了特殊功能寄存器(SFR)和位操作来控制硬件,使用定时器0的中断功能来控制交通灯信号的切换。通过软件控制,实现交通灯的红、黄、绿灯的亮灭和闪烁。在8051微控制器上基于嵌入式C语言的程序片段。定义一系列的宏定义、全局变量和特殊功能位(sbit),用于简化寄存器操作和提高代码可读性。uint 和 uchar 分别定义为 unsigned int 和 unsigned char,用于简化代码中的类型声明。

2024-07-18 11:02:42 437

原创 【proteus经典实战】LCD滚动显示汉字

Proteus是一款功能丰富的电子设计和仿真软件,它允许用户设计电路图、进行PCB布局,并在虚拟环境中测试电路功能。这款软件广泛应用于教育和产品原型设计,特别适合于快速原型制作和电路设计教育。Proteus的3D可视化功能使得设计更加直观,而其对多种微控制器编程的支持,包括对LCD滚动显示汉字的仿真,进一步增强了其在电子设计领域的实用性。使用Proteus,工程师和学生可以在不实际搭建电路的情况下,安全、高效地进行设计验证和教学演示,从而节省成本并提高工作效率。

2024-07-17 11:29:12 1007

原创 【FPGA】优雅地使用ILA进行FPGA硬件调试

在确保硬件和全局信号没有问题后,再开始排查RTL代码。

2024-07-16 10:19:07 268

原创 经典文献阅读之--Multi-LiDAR Localization and Mapping...(基于多LiDAR城市自动驾驶定位与地图构建方案)

自动驾驶车辆需要准确且稳健的定位和地图构建算法,以在城市环境中安全可靠地导航。》一文提出了一种基于LiDAR传感器的离线地图构建和在线定位的新型传感器融合方案,所提出的方法利用了四个LiDAR传感器,地图构建和定位算法基于KISS-ICP,具有实时性能和高精度。介绍了一种生成语义地图的方法,用于驾驶任务,如路径规划。所呈现的方案已集成到基于ROS 2的Autoware软件栈中,为自动驾驶应用提供了稳健而灵活的环境。展示了该方案在给定的研究车辆和实际自动驾驶应用中优于最先进的方法。

2024-07-15 10:23:06 599

原创 Autoware 技术代码解读(三)

全局路径规划在车辆启动或重启的时候被确定,局部路径根据车辆的状态进行实时更新。例如,如果车辆在障碍物前或停止线前,车辆状态变为“stop”,那么车辆的速度就被规划为0。Autoware分为Autoware.core 和Autoware.universe 两个版本,其中Autoware.core 是稳定版,Autoware.universe 是开发者版本。检测模块使用摄像头和激光雷达,结合传感器融合算法和深度学习网络进行目标检测。的整体框架和模块主要包括感知和规划两大部分。

2024-07-14 11:15:00 908

原创 经典文献阅读之--SMERF(通过标清导航地图增强车道感知和拓扑理解)

传统的自动驾驶严重依赖于成本高昂、劳动繁重的高精(HD)地图,这阻碍了其可扩展性。相比之下,标清(SD)地图成本较低,并且覆盖全球范围,从而提供了一种可扩展的替代方案。在《》中,我们系统性地探索了标清地图对实时车道拓扑理解的影响。本文提出了一种新型的框架来将标清地图集成到在线地图预测中,并且提出了一种基于Transformer的编码器(即来自Transformers的标清地图编码器表示),其利用标清地图中的先验来执行车道拓扑预测任务。这种。

2024-07-13 11:30:00 864

原创 【计算机视觉】3D重建:使用MeshLab进行表面重建(以泊松重建为例)

MeshLab是一款功能强大的开源三维网格处理软件,主要用于编辑、修复、简化和可视化三维三角形网格和点云数据。它支持PLY、STL、OBJ、3DS、COLLADA等多种常用的3D文件格式,提供了网格清理、修复、简化、纹理映射、参数化、布尔运算等丰富功能,并支持通过插件和脚本扩展其功能。MeshLab具有跨平台性和开源性,在3D打印、3D重建、反向工程等领域得到了广泛应用。

2024-07-12 15:35:38 708

原创 从零入门激光SLAM(十七)——SLAM中为什么用ESKF误差卡尔曼滤波器

上一节,介绍了卡尔曼滤波的基本原理,但在SLAM中却使用ESKF,让我们一起看看具体的原因是什么吧。

2024-07-11 14:18:03 511

原创 从零入门激光SLAM(十六)——卡尔曼滤波基础

卡尔曼滤波器(Kalman Filter)是一种用于估计动态系统状态的递归算法。它通过结合系统的动态模型和噪声观测数据,提供对系统状态的最优估计。卡尔曼滤波器广泛应用于信号处理、控制系统、导航、计算机视觉等领域。卡尔曼滤波器基于线性系统模型,假设系统的动态过程和观测过程都受到高斯噪声的影响。滤波器在两个主要步骤之间交替进行:预测(Prediction):根据系统的动态模型,利用前一时刻的状态估计来预测当前时刻的状态和协方差矩阵。

2024-07-10 09:52:00 941

原创 从零入门激光SLAM(十五)——IMU在SLAM中的用处

惯性测量单元(Inertial measurement unit,IMU),是测量物体三轴姿态角以及加速度的装置。IMU通常包含陀螺仪 (Gyroscope)、加速度计 (Accelermeters),有的还包含磁力计(Magnetometers)。陀螺仪用来测量三轴的角度/角速度,加速度计用来测量三轴的加速度,磁力计提供磁场朝向信息。在自动驾驶领域,IMU同样是重要的导航和定位组件。IMU在SLAM系统中的作用是提供设备的姿态、运动和加速度信息,从而帮助系统理解设备的运动轨迹。

2024-07-09 14:16:23 971

原创 从零入门激光SLAM(十四)——简单有效的激光里程计KISS-ICP

SLAM系统经过长久的发展,系统变得越来越复杂,拥有许多参数需要调整,同时新型的激光雷达使得很多里程计不再适用。机器人平台的稳健和准确的位姿估计,即所谓的基于传感器的里程计,是许多机器人应用的重要组成部分。虽然许多传感器里程计系统通过增加运动估计过程的复杂性而取得了进展,但我们却朝着相反的方向前进。通过去掉大部分部件并聚焦于核心元件,我们获得了一个令人惊讶的有效系统,该系统易于实现,并且可以使用不同的激光雷达传感器在各种环境条件下运行。

2024-07-08 10:31:30 612

原创 Autoware内容学习与初步探索(一)

之前作者主要是基于ROS2,CyberRT还有AutoSar等中间件完成搭建的。有一说一,这种从头开发当然有从头开发的好处,但是如果说绝大多数的公司还是基于现成的Apollo以及Autoware来完成的。这些现成的框架中也有很多非常好的方法。目前作者打算抽一些时间来整理这部分资料,并根据自己学习内容进行介绍。目前使用的主流的无人驾驶开源项目框架,主要是Autoware和百度的Apollo。

2024-07-07 12:00:00 974

原创 经典文献阅读之--U-BEV(基于高度感知的鸟瞰图分割和神经地图的重定位)

高效的重定位对于GPS信号不佳或基于传感器的定位失败的智能车辆至关重要。最近,Bird’s-Eye-View (BEV) 分割的进展使得能够准确地估计局部场景的外观,从而有利于车辆的重定位。然而,BEV方法的一个缺点是利用几何约束需要大量的计算。本文《》提出了U-BEV,一种受U-Net启发的架构,通过在拉平BEV特征之前对多个高度层进行推理,扩展了当前的最先进水平。我们证明了这种扩展可以提高U-BEV的性能高达4.11%的IoU。

2024-07-06 10:45:00 723

原创 【计算智能】遗传算法(二):基本遗传算法在优化问题中的应用【实验】

本系列文章架构概览:本文将介绍选取一个简单的二次函数作为优化目标,并利用基本遗传算法寻找其在指定范围内的最大值。

2024-07-05 11:00:45 487

原创 【计算智能】遗传算法(一):基本遗传算法(SGA)理论简介

​编辑本文将介绍选取一个简单的二次函数作为优化目标,并利用基本遗传算法寻找其在指定范围内的最大值。​编辑遗传算法是一种概率搜索算法,它使用达尔文的自然选择原则,并使用在自然发生的遗传操作(如交叉(重组)和突变)之后形成的操作,迭代地将一组数学对象(通常是固定长度的二进制字符串)(通常具有相关的适应度值)转换为一个新的后代对象群体。

2024-07-04 15:49:14 521

原创 Cartographer前后端梳理

最近在研究整个SLAM框架的改进处,想着能不能从Cartographer中找到一些亮点可以用于参考。所以这一篇博客希望能够梳理好Cartographer前后端优化,并从中得到一些启发。carto整体是graph-based框架,前端是scan-map匹配,后端是SPA优化。前端又分为CSM+Ceres两个部分,完成匹配后则会进入子图生成维护中。在子图维护以及优化后放入后端优化,完成全局地图优化和回环检测。下图来自cartographer 代码分析。

2024-07-03 11:27:02 966

原创 【proteus经典实战】VB上位机程序控制DS1302时钟的proteus仿真

VB上位机程序控制DS1302时钟是一种常见的应用,DS1302是一款实时时钟芯片,通常用于计算机、电子设备或其他系统中,以提供时间戳和其他时间相关功能,DS1302时钟芯片通常需要外部电源供电,并且具有有限的存储空间和数据传输速率。因此,在控制DS1302时钟时,需要考虑到这些因素,并采取适当的措施以确保芯片的正常运行和数据的安全。主要用于初始化一些硬件接口,例如实时时钟(DS1302)和一些控制芯片的引脚设置。具体来说,它包括了一些特殊功能寄存器(SFR)的定义和一些用于连接硬件的位定义。

2024-07-02 14:57:22 837

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除