硬件在环仿真(HiL)测试介绍

2023-05-16

一、HiL是什么?

硬件在环仿真(Hardware-in-the-Loop,简称HIL)是的控制器连接的被控对象,以一种高效低成本的方式对控制器进行全面测试。它是一种用于复杂设备控制器的开发与测试技术,通过接入真实的控制器,采用或者部分采用实时仿真模型来模拟被控对象和系统运行环境,实现整个系统的仿真测试。

实时仿真硬件(也称HIL测试机柜)就是要尽可能逼真地模拟真实被控对象,以有效地“欺骗”控制器,让控制器以为它正在控制一个真实的被控对象。

为什么要做HIL测试?开发出车载控制器后,直接把该控制器放到车上进行路试不可以吗?主机厂对控制器做HIL测试的原因如下:

1.安全。试想:在路试过程中,车速180km/h,转向过程中ESP车身电子稳定系统失效,将会发生什么?控制器如果没有经过全面的测试,直接去控制真实被控对象,可能会发生事故。HIL台架能辅助工程师对测试结果分析验证,故障再现,提高测试验证及分析手段。

2.低成本。如果不采取HIL自动化测试,人工路测情况下,需要很大的路测工程师及车辆,在一定程度上大大增加了研发开支及风险,HIL台架在确保测试全面可靠的前提下,能够有效缩短测试周期,降低测试人工及物料成本。

3.测试覆盖度。HiL测试覆盖度越高,后期路试测试项目就越低,HiL 自动化测试服务包括一套完整的 HiL 自动化测试用例、自动化测试程序、自动化测试报告、测试问题记录,进而保证 HiL 测试的高效进行,测试覆盖度越高,控制器在整车测试、路测过程中风险及成本越低。

HIL测试目的是对控制系统进行全面的深入的功能测试、故障测试、总线诊断测试,自动化测试,并辅助工程师对测试结果分析验证,故障再现, 提高测试验证及分析的手段。

二、HiL测试分类:

1、按照功率分分为:信号级HIL及功率机HIL测试。VCU电控即时信号机HIL测试,MCU驱动电机控制测试即是 功率级测试。

2、作用对象来分:单独控制器和联调控制器测试。比如三电控制器单独的 HilL 测试和三电控制器联调。

三电控制器HiL测试介绍:

1、VCU-HiL仿真测试系统

VCU控制技术水平直接影响着整车的动力性、安全性及经济性。作为国家重点发展的技术方向,近年来随着我国大力发展新能源汽车及新能源汽车市场不断扩大,市场对于新能源汽车整车控制系统的开发、测试与产业化的要求更为紧迫和严格。

VCU-HiL测试主要功能

控制功能全面测试/总线网络测试/极限工况测试/耐久测试/故障诊断全面测试/回归测试/数据初始标定/重复性测试

2、BMS硬件在环(HiL)仿真测试系统

新能源汽车用动力电池作为动力驱动,而作为衔接电池组、整车系统和电机的重要纽带,电池管理系统BMS的重要性不言而喻,国内外许多新能源车企都将电池管理系统作为企业最核心的技术来看待,因此在新能源汽车的研发过程中,对BMS的仿真测试是非常重要的环节。

BMS HiL主要组成包括:上位机(PC), PXI机箱、处理器板卡、数据采集板卡、CAN卡、电池模拟器、高压电源、低压电源等,BMS HiL中必须提供与BMS控制器硬件IO信号相对应的资源及与BMS控制器控制策略相对应的整车模型、电池模型。

主要功能

控制功能全面测试/故障诊断全面测试 /总线网络测试/回归测试/极限工况测试/数据初始标定/耐久测试/重复性测试

3、MCU硬件在环(HiL)仿真测试系统

电机控制器开发涉及高电压、大电流,直接进行电机台架试验有较大风险,对算法成熟度要求较高,电机HiL硬件在环仿真测试的目的是以最低的成本执行比较困难的测试和使用物理原型风险太大的测试。

主要功能

专注电机控制器功能测试,为电机台架的功能及性能测试打下基础;控制器故障注入及分析在电机控制器设计前期阶段即可发现问题,而无需等到在物理原型上才发现;执行在各种极限条件下测试;控制算法在线分析,跟踪调试;开发中的测试故障复现;可以实现软硬件并行开发,缩短开发周期;在测试系统建立之前,在实验室环境下完成初始化标定;可降低开发测试成本;可进行重复的自动化测试

电机控制器功率级P-HiL测试

电机和电控是新能源汽车动力系统的核心,随着技术的发展,利用硬件在环测试(Hanrdware in the Loop, HiL)技术可以方便地完成电机控制策略的开发和验证,但是这种信号级HiL只针对电机控制器的控制板,不能对驱动板和功率电路进行测试。针对电机控制器功率部分,传统的测试方法为搭建电机测试台架,但这种方法对工程师来说存在灵活性差、成本昂贵、有机械风险、无法进行极限工况和故障测试等问题。

电机控制器功率级P-HiL测试解决方案。该方案可用于驱动逆变器的部件级测试和整车电驱动系统级测试,相较于传统电机测功台架,可以使客户更加方便、灵活、安全、高效地实现对电机控制器的功能性能测试、极限工况和故障测试、耐久和环境测试等。凭借意昂专业的技术能力和丰富的行业经验,整个测试方案可根据客户具体需求定制开发并支持后期扩展,例如集成环境舱、冷却系统、整车高压测试系统以及三电HiL测试系统等。

P-HiL测试方案核心为智能负载模拟器(Active Load Emulator, ALE),俗称电机模拟器,其主要包括电机模拟单元(e-Motor Emulator, eME)和高压电源(High Voltage Power Suply, HVPS)。电机模拟器通过模拟真实电机的反电动势和阻抗来模拟真实电机机械和电气特性以及四象限运行,接受控制器三相输出,反馈给被测控制器(Unti under test, UUT)反电动势以及转子位置传感器信号和温度传感器信号。

电机模拟器ALE支持用户构建灵活的从部件级到系统级的测试方案,根据高压电源HVPS的不同主要有两种系统方案,其系统架构如下图所示。

方案一采用单电源模式,电机模拟单元eME和被测控制器UUT共用一个高压直流电源HVPS,采用独创性的专利技术使其可以与被测控制器UUT共直流母线,整个系统只需要一个低功率高压电源进行系统损耗的补充,便可以满足整个系统的高功率测试,被测控制器UUT不需要额外供电,能量内部循环利用,利用率高。

方案二采用双电源模式,电机模拟单元eME和被测控制器UUT分别采用单独的电源供电,该方案配置灵活,被测控制器UUT端可采用真实电池包或者电池模拟器,模拟整车高压系统。该方案方便后期扩展,可用于系统级测试。

电机模拟器ALE主要特点和优势:

可用于电机控制器部件级和系统级测试;

通道数可选,配置灵活,支持后期扩展,支持多通道并联运行;

可选内部集成高低压电源,不需要控制器外接高低压电源供电;

模拟真实电机电气特性(反电动势和阻抗);

通过改变电机参数可模拟多种电机(永磁同步电机和交流感应电机等);

可模拟六相电机;

模拟电机位置传感器(旋转变压器、编码器等);

模拟电机温度传感器;

支持电机四象限运行;

支持控制器多种PWM调制模式;

可选故障注入单元,模拟多种电机故障;

功能丰富易于操作的上位机软件,通讯协议完全开放;

丰富的通讯接口(CAN、LAN等,方便系统集成);

设备体积小,可灵活移动;

水冷,散热性能好,噪音小。

电机模拟器ALE典型测试项目:

控制器功率级P-HiL测试;

控制器转速扭矩特性测试;

标准工况和极限工况性能测试;

控制器耐久和环境适应性试验;

再生能量回馈性能测试;

控制器故障保护能力测试;

整车系统级功能性能测试。

三、HIL架构组成

硬件平台:将整个系统硬件设备按照测试过程中的不同工作分工划分为相对独立的功能模块,各功能模块间采用标准的线束进行连接交互。

系统硬件基于 NI PXI 平台搭建,主要有上位机(PC)、PXI 机箱、实时处理器板卡、数据采集板CAN 卡、DIO 板卡、电阻模拟板卡、低压电源等组成。

软件平台:运行在上位机中,采用平台化的设计思维,从执行环境配置和测试用例编写,以及数据监控和自动化测试执行,都可以在统一的软件平台上进行操作。通用化的软件平台可以集成多种外设资源,并统一配置管理。系统基于试验管理软件进行上位机管理和实验测试,实现试验管理、故障注入、测试用例编辑及自动化测试等功能。

测试软件主要包括两大部分的功能:编写测试用例和执行测试用例。主要功能包括: 1) 序列开发环境 2) 调试 3) 多线程并行测试 4) 用户管理 5) 可自定义的报告 6) 可自定义的操作员界面 7) 数据库记录

实时仿真模型:模型基于 MATLAB/Simulink 或者 AMESim 仿真平台进行搭建,提供与 控制器硬件 信号相对应的资源及与控制器控制策略相对应的模型等。

四、HIL测试流程

HiL 自动化测试服务包括一套完整的 HiL 自动化测试用例、自动化测试程序、自动化测试报告、测试问题记录和测试使用说明文档。

4.1测试准备

4.1.1测试计划

本实施阶段项目立项工作时,首先根据项目需求制定项目实施测试计划,细化项目在每个阶段的具体工作,确定项目每项的工作的计划开始日期和结束日期,明确标识测试项(对测试项的了解),具体包括以下内容:是否需要测试的特征(对产品的了解); 采用的测试方法(测试策略、测试重点和等级): 测试项通过的准则 (出口准则、度量); 测试暂停准则和回复要求(非正常退出);测试完成所需提交的交付项(文档等); 测试任务;测试环境的要求(资源):人员配备和所需的训练(资源): 测试的进度(启程安排和粗略的时间表): 风险和应急措施。

4.1.2被测件接口分析

根据需要对三电测试系统中被测控制器使用 资源配置,把被测控制器与测试设备的交互信号按照模拟输入、模拟输出、数字输入、数字输出、脉冲采集、脉冲输出、电源和地、CAN、LIN 等通讯信号进行分类,形成被测控制器的接口需求

4.1.3HiL 设备资源分配

需要对 HiL 测试系统进行资源分配,依据控制器的管脚定义,结合其外围电气原理对各管脚进行 HiL 机柜资源分配,对部分继电器控制信号用模拟负载电阻代替,从而实现测试的外部环境与实车硬件环境尽可能的接近,据此编写 HiL 机柜资源分配表,依据此表可进行控制器与机柜之间信号连接或者线束制作。

4.1.4 控制器线束设计

根据项目实际情况来确定是否需要定制被测控制器和 HiL 设备的连接线束,如果用户现有设备没有连接线束,那可以定制连接线束。通过采用定制线束方式将被测量控制器与 HiL 测试机柜连接起来,实现供电、输入信号、输出信号、通讯信号的传递。本项目中定制控制器的线束根据线束使用要求,一端连接控制器的连接器,另一端连接 HiL 测试集成连接器,线径满足信号的功率要求,每根信号都打有标签,便于测试区分,提高使用效率。

4.1.5被测控制器需求分析

4.1.5.1整车控制器功能需求

根据提供被测控制器功能需求分析文档,包括对控制器功能的划分及相关功能的具体描述并最终形成功能规范输入。

整车控制器常见功能包括:

整车上下电

系统工作模式

扭矩管理

扭矩限制

扭矩协调

蠕行

换挡策略

整车安全

附件控制

信号接口及处理

能量回收

5.1.5.2电池管理系统功能需求

根据提供被测控制器功能需求分析文档,包括对控制器功能的划分及相关功能的具体描述并形成功能规范输入意见。

电池管理系统常见功能包括:

继电器控制

高压互锁

功率预测

快慢充功能

电芯均衡

电芯电压和温度采集

保险熔断监控

碰撞掉电保护

故障管理

电源管理

电池总电压总电流采集

CAN 通讯

绝缘监控

SOC

SOH

热管理

4.1.5.3电机控制功能需求

系统功能依据客户输入的功能规范和测试规范为准,电池管理系统是新能源汽车能源控制部件,它根据新能源汽车动力电池、电机的状态,按需进行整车的上下电,电池状态监测和热管理等功能进行控制。

4.2搭建测试工程

搭建三电系统闭环测试工程,主要包括添加实时目标机(RT Target)、添加各种硬件资源、向 RT 目标机中部署系统定义文件等,同时因为 HiL 测试使用了真实的被测控制器,对软硬件I/O 端口也要重新进行映射,然后部署下载到实施目标机中,再创建对应的传感器、开关信号模拟,接受执行器的控制命令,模拟其他节点通讯。

4.3测试用例开发

4.3.1 测试用例开发原则

测试用例开发方法研究是测试的关键点之一。采用合理的测试方法开发出合理有效的测试用例,不仅可以增加测试的覆盖度而减少冗余重复的测试,也可以大大减小测试的时间而提高测试的效率。因此我们研究出来一套系统的测试用例开发方法以及相应的测试方法。

测试用例的开发原则:

1.正确性

输入用户实际数据以验证系统是否满足需求规格说明书的要求:测试用例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常

2.全面性

覆盖所有的需求功能项,测试用例除了对测试点本身的测试外,还需考虑用户实际使用的情况、与其他部分关联使用的情况、非正常情况(不合理、非法、越界以及极限输入数据)操作和环境设置等。

3.连贯性

用例组织有条理、主次分明,尤其体现在业务测试用例上,用例执行颗粒度尽量保持每个用例都有测点,不能同时覆盖过多功能点,否则执行起来牵连太大,每个用例间保持连贯性很重要

4.可判定性

测试执行结果的正确性是可判定的,每一个测试用例都有相应的期望结果

5.可操作性

测试用例中要写清楚测试的操作步骤,以及与不同的操作步骤相对应的测试结果。

4.3.2 测试用例定义

一条完整 HiL 测试用例,所包含的基本测试项有,测试用例初始状态、测试过程中执行的测试动作、期望的测试结果、测试状态复位等要素组成。

4.3.3测试用例开发方法分类

执行测试的常见的方法有黑盒测试法、白盒测试法和基于经验的测试法。三者有各自的测试特点及测试技术。

分类

黑盒测试技术

白盒测试技术

基于经验测试方法

测试用例技术

测试用例和测试数据是

从功能性或非功能性规

范说明(也可从模型) 导

出,而不考虑程序的内部

结构。

测试用例和测试数据是

从测试对象的结构(如涉

及和代码)导出,而不考

虑规范说明

测试员、开发员或其他测试对测试对象和它的环境的经验

有与错误打交道的经验或估计在哪里可能出现错误的经验

4.3.4 黑盒设计法

根据黑盒测试方法的特点,将其详细划分为以下几个类别:等价类划分法、边界值分析法、决策表法、状态转移测试法、测试用例法、因果图法、判断表驱动法、正交试验设计法、功能图法。

4.3.5 白盒设计法

白盒测试方法是基于结构的测试用例设计方法。通过观察测试对象的程序代码,选择一个代码覆盖的标准,然后根据这标准生成测试用例。例如,所有的语句至少被执行一次,在所选标准的基础上产生单个的测试用例,基于代码生成的测试用例的基础是描述程序结构的控制流图。控制流图是一个带有开始和结束节点的有向图,程序的指令(语句)是通过节点来表示的,一个没有分支的语句序列可以用一个节点表示,语句之间的路径是通过边(控制流)来描述,图内的开始和结束节点可以省略。

4.3.6 经验设计法

4.3.6.1错误推断法

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。输入数据和输出数据为零的情况,输入表格为空格或输入表格只有一行,这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例

在产品测试的实践中对产品的了解的加深和测试经验的丰富,使用错误推测法设计的测试用例往往非常有效,可以作为测试设计的一种补充手段,并且积累的经验越丰富,方法使用效率越高。

4.3.6.2 探索测试法

探索式测试(Exploratory Testing)是一种软件测试方法,也可以说是一种测试思维方法,是一种强调个人自由与责任的测试方法,让独立测试人员可以借用不断的学习来改善测试的规划与测试的执行,而在测试的过程中也会同时改善测试案例达到相辅相成的效果。

4.3.7自动化测试用例开发

测试用例的开发需严格遵循整车控制器功能规范文档,测试用例需针对被测控制器功能进行开发,并形成测试矩阵文档及测试用例说明文档。

测试矩阵编写在严格遵守整车控制器开发功能文档的基础上,创建测试用例,文档中需对每条测试用例的测试功能,测试方法及预期结果进行简单描述,并对每条测试用例进行编码.以便测试过程中通过测试编号进行查找问题。

测试用例说明文档是对测试矩阵的详细补充,测试矩阵中对测试用例只做简单描述,测试说明文档针对每条测试用例测试的功能,测试时的初始条件,完成该测试用例具体需要的详细执行步骤,更改的信号位置及名称,甚至测试动作后的等待时间,以及预期结果需要检测的信号名称等进行详细描述。依据此文档可直接编辑自动化测试用例。

说明文档针对每条测试用例测试的功能,测试时的初始条件,完成该测试用例具体需要的详细执行步骤,更改的信号位置及名称,甚至测试动作后的等待时间,以及预期结果需要检测的信号名称等进行详细描述。依据此文档可直接编辑自动化测试用例。

测试管理软件的功能:1) 写测试序列:2) 管理试验软件:3) 生成测试报告

配置与试验环境软件的功能: 1) 接收测试序列发来的激励数据: 2) 将激励数据发给实时仿真机,并在线显示仿真结果

4.4 测试调试

4.4.1 冒烟测试

测试工程搭建完成后,连接被测控制器,需要对被测控制器和 HiL 测试设备做冒烟测试验证设备连接与原件是否有基本的问题。冒烟测试有测试人员和开发人员共同完成,在测试过程中发现问题,测试人员找到了一个 Bug,然后开发人员会来修复这个 Bug,冒烟测试是否通过决定了下一轮系统测试是否可以执行。

4.4.2 接口测试

接口测试是只有被测控制器,没有和整车仿真模型形成闭环的测试,属于开环测试。接口测试通过人为赋值模拟外部控制器与被测控制器之间的数据交互,验证被测控制器数据交互是否正常,侧重信号交互验证。一般接口测试如果有测试程序,可以自动测试,如果没有测试程序,可手动测试。

4.4.3 首轮测试

被测控制器和整车仿真模型形成闭环的测试,属于闭环测试。闭环测试通过模拟操作驾驶室变量,使整车模型与被测控制器自动数据交互,验证被测控制器软件策略,侧重功能和性能验证。

打开自动化测试用例库,在 TestStand 测试界面调入测试用例对象,直接运行即可。

4.4.4问题关闭

测试过程中发现的问题使用问题单形式记录。在问题记录和问题描述遵循“5C”的要求:

正确(Correct),不会产生歧义:

清晰( Clear),容易理解;

简洁(Concise),没有多余的东西;

完整(Complete),包含重现缺陷的完整数据;

致性(Consistent),缺陷单格式要统

4.4.5 回归测试

在第一轮测试相关问题关闭后,由开发人员更新软件,生成新的软件版本,下载到被测控制器中,在 HiL 设备上对上个版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,对相关修改的部分进行测试。

4.4.6 测试报告

通过 HiL 测试管理软件加载测试序列,执行测试,输出测试报告,测试报告形式如下所所示参考。

4.5测试总结

被测控制器 HiL 回归测试完成,在功能方面达到测试通过标准后,需要对 HiL 测试工作进行总结和整理,并生成及编制 HiL 测试总结。

HiL 测试总结主要包括以下内容:

1、HilL 测试环境、测试周期、测试人员及测试内容等;

2、测试过程中的问题统计与分析,并对测试遗留问题进行记录;

3、测试结束后检查所做的测试工作及完成情况,提交工作成果,包括: 测试用例说明文档,测试矩阵文档,可执行文件及生成的测试报告等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

硬件在环仿真(HiL)测试介绍 的相关文章

  • Ardusub源码解析学习(五)——从manual model开始

    Ardusub源码解析学习 xff08 五 xff09 从manual model开始 manual init manual run 从本篇开始 xff0c 将会陆续对Ardusub中各种模式进行介绍 xff0c stabilize mod
  • 重读Ardupilot中stabilize model+MAVLINK解包过程

    APM源码和MAVLINK解析学习 重读stabilize stabilize modelinit run handle attitude MAVLINK消息包姿态信息传输过程 之前写的模式都是基于master版本的 xff0c 这次重读s
  • QGC添加自定义组件和发送自定义MAVLINK消息

    QGC添加自定义组件和发送自定义MAVLINK消息 一 添加自定义组件1 1 在飞行界面添加组件1 2 实现组件事件1 3 在MOCK模拟链接中实现验证1 4 验证 二 自定义MAVLINK消息的一些预备知识三 QGC自定义MAVLINK消
  • MAVLINK消息在Ardupilot中的接收和发送过程

    MAVLINK消息在Ardupilot中的接收和发送过程 SCHED TASKupdate receive update send 由于现在网上很多的都是APM旧版本的解释 xff0c 因此把自己的一些学习所得记录下来 截至写博客日期 xf
  • Ardupilot姿态控制器 PID控制流程

    Ardupilot姿态控制器 PID控制流程 一 PID姿态控制器1 1 Copter姿态控制官方原图1 2 ArduCopter V4 X STABILIZE 二 姿态控制器类实现2 1 类成员解析2 1 1 类成员变量2 1 2 类成员
  • APM姿态旋转理论基础

    APM姿态旋转理论基础 一 坐标系1 1 NED坐标系1 2 机体坐标系 二 欧拉角姿态变化率与机体角速度的关系 三 旋转矩阵3 1 基本公式3 2 矩阵作差3 3 旋转矩阵与变换矩阵的区别 四 DCM五 轴角法5 1 基本概念5 2 与旋
  • 详解APM的开方控制器sqrt_controller

    前言 前面说过 xff0c sqrt controller是对P项进行整定用途的 xff0c 目的就是让P项的控制响应 软 下来 xff0c 实际上就是一个经过改进的P控制器 读懂了sqrt controller xff0c 那么你对APM
  • Ardupilot前馈及平滑函数input_euler_angle_roll_pitch_yaw解析

    Ardupilot前馈及平滑函数input euler angle roll pitch yaw解析 源码解析这个函数做了什么部分细节euler accel limit input shaping angle 姿态变化率与机体角速度之间的关
  • Ardupilot倾转分离函数thrust_heading_rotation_angles

    Ardupilot倾转分离函数thrust heading rotation angles 什么是轴角分离源码分析一些细节补充效果显示及进一步修改 本文主要写一下自己对于APM倾转分离 xff08 轴角分离 xff09 函数的一些学习笔记及
  • Spring IOC原理解析

    首先恭喜守宏同学找到了自己心仪的工作 xff0c 入职的事情终于尘埃落定 xff0c 也算是一个新的开始吧 和守宏聊天的时候也说了很多有关工作的事情 xff0c 畅想了以后美好的未来 xff0c 也想到了今后的种种困难 不说别的就是单单在北
  • Ardupilot四元数姿态控制函数attitude_controller_run_quat解析

    Ardupilot四元数姿态控制函数attitude controller run quat解析 源码解析细节讲解thrust heading rotation angles update ang vel target from att e
  • Ardupilot速率控制器rate_controller_run解析

    Ardupilot速率控制器rate controller run解析 PID速率控制器源码解析rate controller run PID运算积分限制update i get ff set xxx 内容补充 xff1a 函数中陀螺仪数据
  • muduo网络库学习总结:基本架构及流程分析

    muduo网络库学习 xff1a 基本架构及流程分析 基本架构Basic ReactorMutiple Reactor 43 ThreadPool muduo库的基本使用基本结构介绍EventLoop类Poller类Channel类TcpC
  • push_back和emplace_back比较以及vector扩容

    push back和emplace back比较以及vector扩容 push back和emplace back的比较使用测试类测试过程将实体类对象传入将右值数字传入将实体类对象move 转右值之后传入 vector扩容过程 关于这部分内
  • 在ubuntu 11.04下编写驱动程序

    在ubuntu11 04下直接就可以编写驱动程序 xff0c 并进行编译 hello c include 34 linux init h 34 include 34 linux module h 34 static int hello in
  • ROS的优势与不足(除了ROS 机器人自主定位导航还能怎么做?)

    导读 xff1a 随着这两年国内机器人的升温 xff0c 自主定位导航技术作为机器人智能化的第一步正不断引起行业内的重视 为了实现这一功能 xff0c 不少厂家选择采用机器人操作系统ROS xff08 Robot Operation Sys
  • C++版本发展史

    1 C 43 43 98 2 C 43 43 03 3 C 43 43 11 3 1 nullptr 3 2 auto 3 3 decltype 3 4 初始化列表 3 5 范围for循环 3 6 右值引用 3 7 字符串字面量 3 8 n
  • 分布式数据库难题(三):数据一致性

    1 什么是数据一致性 一直以来 xff0c 在 分布式系统 和 数据库 这两个学科中 xff0c 一致性 xff08 Consistency xff09 都是重要概念 xff0c 但它表达的内容却并不相同 对于分布式系统而言 xff0c 一
  • 分布式数据库难题(四):单机事务

    1 ACID的含义 在数据库中 xff0c 事务 是由多个操作构成的序列 1970 年詹姆斯 格雷 xff08 Jim Gray xff09 提出了事务的 ACID 四大特性 xff0c 将广义上的事务一致性具化到了原子性 一致性 隔离性和
  • 对一个整数进行因式分解,求出所有质因数

    1 题目描述 给定一个正整数N xff0c 对N进行质因数分解 xff0c 求解N的所有质因数 2 解题思路 xff08 1 xff09 2 是很特殊的 xff0c 必须单独列出 xff08 2 xff09 必须先判断是否质数 因为如果是质

随机推荐

  • Windows10下安装Ubuntu18.04LTS详细教程

    这篇文章分享自己在Windows10系统下安装VMware虚拟机 xff0c 然后在VMware中安装Ubuntu 18 04 LTS的详细过程 之所以选择在虚拟机中安装Ubuntu xff0c 主要是可以不影响自己电脑的正常使用 xff0
  • 我的2011 写给小白

    许久前就想写这篇日志了 xff0c 但是一直以各种理由搪塞着 xff0c 没空闲 xff0c 再加上该死的期末考试 xff0c 唉 xff0c 真是愁煞人也 xff0c 现在好了 xff0c 什么都完事了 xff0c 也淡定了 xff0c
  • Pixhawk的历史

    发展历程 xff1a APM gt PX4FMU IO gt Pixhawk xff1a 1 Arduino简介 Arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板 xff08 当然也有其他核心的例如STM32版本的但是不
  • 姿态解算基础:欧拉角、方向余弦、四元数

    什么是姿态解算 xff1a 飞行器的姿态解算过程涉及到两个坐标系 xff0c 一个是运载体的机体坐标系 xff0c 该坐标系与运载体固连 xff0c 当运载体转动的时候 xff0c 这个坐标系也跟着转动 xff0c 我们假设运载体的坐标系为
  • 姿态解算进阶:互补滤波(陀螺仪、加速度计、地磁计数据融合)

    互补滤波原理 xff1a 在四轴入门理论知识那节我们说 xff0c 加速度计和磁传感器都是极易受外部干扰的传感器 xff0c 都只能得到2维的角度关系 xff0c 但是测量值随时间的变化相对较小 xff0c 结合加速度计和磁传感器可以得到3
  • C++实现线程池

    本文转载自 xff1a https blog csdn net caoshangpa article details 80374651 1 为什么需要线程池技术 目前的大多数网络服务器 xff0c 包括Web服务器 Email服务器以及数据
  • 详解coredump

    1 什么是coredump xff1a 2 开启或关闭core文件的生成 xff1a 3 core文件的存储位置和文件名 xff1a 4 造成程序core的原因 xff08 参考 xff09 xff1a 5 用GDB调试coredump x
  • C++中二进制、字符串、十六进制、十进制之间的转换

    1 十进制和二进制相互转换 2 字符串和二进制相互转换 3 字符串和十进制相互转换 4 十进制和十六进制相互转换 5 二进制和十六进制 1 十进制和二进制相互转换 xff08 1 xff09 十进制转二进制 int a 61 10 bits
  • 解决 docker: Invalid containerPort: 5000 .

    复制粘贴的命令报这个错误 xff0c 结果手敲了一下就好了 可能就是 v 那里字符有点问题 xff0c 或者多个空格之类的 看了下其他人说的解决办法 xff0c 说也有可能是大写字母的问题 学习不要图省事 xff0c 真的 xff01
  • linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方法

    一 首先了解Linux系统下这两个命令的区别 yum xff1a 属于 xff1a RedHat系列 常见系统有 xff1a Redhat Centos Fedora等 apt get xff1a 属于 xff1a Debian系列 常见系
  • OpenCV矩形检测

    点击我爱计算机视觉标星 xff0c 更快获取CVML新技术 今天在52CV交流群里有朋友问到矩形检测的问题 xff0c 恰好前几天做了一个与此相关的项目 xff0c 调研了一下相关的算法 xff08 期间被某带bug的开源代码坑了很久 xf
  • 修改树莓派系统的虚拟内存大小(SWAP)

    树莓派默认的虚拟内存大小才100M xff0c 有时候我们需要扩大它 xff0c 树莓派的虚拟内存配置文件和debian默认的位置不一样 xff0c 所以这里我们修改的是 etc dphys swapfile sudo nano etc d
  • Python爬虫—request模块与验证码识别

    相关文章链接 xff1a Python爬虫 爬虫基础简介 Python爬虫 数据解析及案例 xff08 4K图片爬取 xff09 一 request模块 1 1 概念 python中原生的一种基于网络请求的模块 xff0c 功能非常强大 x
  • 学习 ROS 机器人没有前途?!

    点击蓝字 关注我们 本文转载自蓝桥云课合作作者 xff1a 机器马 xff0c 文末有小惊喜哦 01 ROS 是什么 机器人操作系统 xff08 ROS xff09 是一种用于编写机器人软件的灵活框架 它是工具 xff0c 库和协议的集合
  • 运维必学的监控系统——Prometheus,大牛免费直播带你入门~

    关注 实验楼 xff0c 每天分享一个项目教程 实验1小时 明晚开启 xff0c 腾讯大牛天火老师带你入门Promentheus xff08 普罗米修斯 xff09 这一当下超火的监控系统 提到监控系统 xff0c 人们往往会想到Zabbi
  • VINS-Mono代码阅读笔记(十一):进入pose_graph节点代码分析

    本篇笔记紧接着上一篇VINS Mono代码阅读笔记 xff08 十 xff09 xff1a vins estimator中的非线性优化 xff0c 来接着学习VINS Mono系统中重定位和全局优化部部分的代码 这部分代码在pose gra
  • ROS中插件plugin的简单使用方法

    插件 xff0c 如同其名字一样 xff0c 第一次接触的时候让我想到了U盘或者USB线这类东西 xff0c 它们和电脑没有关系 xff0c 但是插入 xff08 挂载 xff09 电脑USB口后却可以正常使用 xff0c 仿佛扩展了电脑的
  • ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)

    ROS中的基本对象和概念学习笔记 ROS入门学习笔记一 ROS中创建工作区和包 ROS入门学习笔记二 ROS功能包中CMakeLists txt的说明 ROS入门学习笔记三 1 roslaunch命令 我们知道 xff0c rosrun命令
  • 嵌入式软件面试题整理

    基础试题 1 用预处理指令 define 声明一个常数 xff0c 用以表明1年中有多少秒 xff08 忽略闰年问 define SECONDS PER YEAR 60 60 24 365 UL 说明 xff1a define 语法的基本知
  • 硬件在环仿真(HiL)测试介绍

    一 HiL是什么 xff1f 硬件在环仿真 xff08 Hardware in the Loop xff0c 简称HIL xff09 是真 的控制器连接假 的被控对象 xff0c 以一种高效低成本的方式对控制器进行全面测试 它是一种用于复杂