当前位置: 首页 > news >正文

FPGA 开发工程师

目录

一、FPGA 开发工程师的薪资待遇

二、FPGA 开发工程师的工作内容

1. 负责嵌入式 FPGA 方案设计,包括仿真、软件编写和调试等工作。

2. 使用工具软件建立 FPGA 综合工程,编写综合策略和时序约束。

3. 进行 FPGA 设计的优化与程序维护,以及板级调试和验证。

4. 撰写设计规范及文档,完成领导交付的其他工作任务。

三、FPGA 开发工程师的职业发展前景

四、FPGA 开发工程师的必备技能

1. 需求核对阶段

2. 总体设计阶段

3. 设计及编码阶段

4. 仿真验证阶段

5. 后端物理约束阶段

6. 调试阶段

五、FPGA 开发工程师的面试经验


一、FPGA 开发工程师的薪资待遇

FPGA 开发工程师的薪资水平较高,市场需求也在不断增长。从职友集的数据来看,FPGA 开发工程师招聘工资收入一般 63.2% 岗位拿¥20 - 50K / 月,年薪¥24 - 60W,2023 年较 2022 年增长了 2%。对比全国平均工资¥9.6K,高 175.5%,数据可信度高。

不同学历和经验的工程师薪资有所差异。硕士学历的 FPGA 开发工程师,69.8% 的岗位拿¥20 - 50K;博士学历的工程师,71.5% 的岗位拿¥20 - 50K。从数据统计来看,薪资一般与学历正相关,一般学历越高,工资越高。例如,大专学历的 FPGA 开发工程师工资为¥21.2K,而本科学历占比最多,达 82.1%。

经验也是影响工资水平的重要因素,一般经验越丰富工资越高。应届生工资¥32.5K,1 - 3 年经验的上海 FPGA 开发工程师平均工资¥28.0K,2023 年较 2022 年增长了 6%。3 - 5 年经验的工程师在招聘中需求较多。

然而,行业内存在一些准备转行的情况。职友集的职业信心调查显示,2 名网友参与投票,0 票表示对该行业有信心,2 票反馈不想做 FPGA 开发工程师了,准备转行,可能与工作压力等因素有关。

二、FPGA 开发工程师的工作内容

1. 负责嵌入式 FPGA 方案设计,包括仿真、软件编写和调试等工作。

FPGA 开发工程师需要承担嵌入式 FPGA 方案设计的重任。在这个过程中,他们要进行全面的仿真工作,确保设计在各种情况下的正确性和稳定性。同时,软件编写也是关键环节,开发工程师们需熟练掌握 Verilog 或 VHDL 等开发语言,为实现 FPGA 逻辑功能提供坚实的代码基础。调试工作同样不可或缺,通过不断地排查问题、优化代码,使 FPGA 系统能够高效、稳定地运行。例如,中船重工(武汉)凌久电子有限责任公司的 FPGA 开发工程师,就负责硬件系统 FPGA 的接口和算法逻辑开发,包括逻辑方案设计、器件选型、代码编写、仿真验证、系统联调等工作。

2. 使用工具软件建立 FPGA 综合工程,编写综合策略和时序约束。

对于 FPGA 开发工程师来说,熟练使用工具软件是必备技能。他们利用诸如 ISE、VIVADO、QUATUS 等开发工具建立 FPGA 综合工程。在这个过程中,编写综合策略和时序约束至关重要。综合策略决定了如何将设计的逻辑转化为实际的硬件电路,而时序约束则确保电路在特定的时钟频率下能够正确运行。比如,在建立 FPGA linux synplify 综合工程时,需要新建 filelist.v 文件将所有 RTL 代码 include 进去,新建 fdc 约束文件对管脚、时钟、复位信号进行约束,还需新建.tcl 脚本实现建立完整的 synplify 工程,并通过 makefile 文件进行工程管理和执行。

3. 进行 FPGA 设计的优化与程序维护,以及板级调试和验证。

FPGA 设计的优化是提高系统性能的关键。开发工程师们通过减少逻辑单元、优化布线、合理分配资源等方式,提升 FPGA 的时钟频率、降低延迟、提高吞吐量。同时,程序维护也是日常工作的重要部分,及时修复漏洞、更新功能,确保系统的稳定运行。在板级调试和验证阶段,工程师们深入了解 FPGA 器件资源及使用方法,包括 PLL、RAM 等各种 IP 核的使用,熟悉 DDRSDRAM、SPI、SerDe、I2C、A/D、D/A、UART 等接口的设计、调试。例如,山东慧视达智能科技有限公司的 FPGA 开发工程师,主要负责开发基于 FPGA 的视频处理应用,在这个过程中就需要进行 FPGA 与 ARM 处理器及周边器件的通信协作,这就涉及到板级调试和验证。

4. 撰写设计规范及文档,完成领导交付的其他工作任务。

良好的设计规范和文档对于 FPGA 项目的成功至关重要。开发工程师们需要按照规范进行设计,确保代码的可读性、可维护性和可移植性。文档内容包括设计思路、调试记录、器件选型等,方便项目组成员之间的交流和协作,也为后续的维护和升级提供了依据。比如,在团队项目开发中,为了使开发高效、一致、正确,应遵循清晰的文档命名、设计文档化、良好的编码风格、规范的代码、详细的注释规则和合理的模块规则等设计规范。

三、FPGA 开发工程师的职业发展前景

  1. 职业发展路径广阔,可以从初级工程师晋升为中级、高级工程师,甚至技术经理、项目经理等职位。

FPGA 工程师的职业发展路径较为广阔,可从初级 FPGA 工程师起步,逐步晋升为中级工程师、高级工程师。随着经验和能力的不断提升,还可以担任技术经理、项目经理等管理职位。在开发能力方面,需要掌握 FPGA 基础知识,包括数电基础知识如逻辑门、锁存器、触发器、进制、码制、状态机、竞争与冒险以及 verilog 语法等;了解 FPGA 片上资源如可配置逻辑块、嵌入式块 RAM、时钟管理资源等;熟悉 FPGA 开发流程,从需求分析到上板调试各个环节。

  1. 在不同领域如通信、数据中心、工业物联网、医疗电子、汽车电子、航空航天等都有广泛的就业方向。

FPGA 在多个领域都有广泛的应用和就业方向。在通信行业,可担任通信系统工程师、信号处理工程师、5G 系统设计师等职位,负责设计和实现通信协议,处理信号调制解调,实现高速数据传输和处理,例如在 5G 基站中,FPGA 可以用于实现复杂的信号处理算法,提高通信系统的性能和效率,在卫星通信系统中,FPGA 可以实现高速数据传输和信号处理,确保通信的可靠性和稳定性。FPGA 工程师在通信行业需要具备深厚的通信理论知识和数字电路设计能力,熟悉通信协议如 LTE、5G 等,掌握信号处理算法如滤波、调制解调等,同时要具备良好的团队合作能力和沟通能力。

在数据中心,FPGA 工程师可做高性能计算工程师、加速器设计师和机器学习硬件工程师等。工作内容是优化数据处理流程,实现算法加速,如深度学习、大数据分析的加速处理,以及实现低延迟网络交换。由于数据中心的计算任务是灵活多变的,而 ASIC 研发成本高、周期长,FPGA 的灵活性可以保护投资,只需要几百毫秒就可以更新逻辑功能,保持数据中心的同构性。FPGA 工程师在数据中心需要具备扎实的数字电路设计和算法优化能力,熟悉深度学习、大数据分析等领域的算法,能够将其映射到 FPGA 上进行加速,同时要具备良好的系统架构设计能力。

在工业物联网领域,可成为嵌入式系统工程师、自动化控制工程师,开发智能传感器和执行器的控制逻辑,实现设备间的实时通信,如在智能制造、智能电网、环境监测系统中的应用。FPGA 的可编程性和灵活性,使 FPGA 产品在工业物联网发展运作中发挥着关键作用,其应用领域聚焦在工业网络通信、机器视觉、工业机器人、边缘计算、工业云五个方面。

在医疗电子领域,可担任生物医学工程师等职位,设计医疗影像处理系统,实现医疗设备的控制逻辑,如超声波、CT 扫描仪的数据处理和分析。

在汽车电子领域,可做汽车电子系统工程师、自动驾驶系统设计师等职位,实现车载系统的实时处理,如雷达信号处理、摄像头视频流分析,以及车辆动力系统控制和安全系统。

在航空航天领域,可担任航空电子工程师、航天器控制系统工程师等职位,设计高可靠性、低功耗的飞行控制和通信系统,以及遥感数据处理系统。

此外,FPGA 工程师在接口协议、算法开发、全栈 FPGA 开发、人工智能与机器学习等方向也有广阔的就业前景。

  1. 随着技术的发展,FPGA 工程师需要不断提升自己的技能,包括技术能力、人际沟通能力、项目管理能力和自我提升学习能力。

技术能力方面,FPGA 工程师要对 FPGA 的资源如 IO、时钟结构、mem、slice、GTP 等有深入掌握,熟悉 FPGA 工程的每个步骤,包括 ucf、partition、timing constrain 以及各种 parameter 和 report warning 等。同时,要对具体项目的背景有深入了解,如高速通信接口的协议、测试方法和调试手段等。不仅要具备 RTL 能力和上板子动手的能力,还能熟练使用逻分、示波器、协议分析仪、万用表、信号源等常用仪器设备。

人际沟通能力也至关重要。作为技术经理或在项目中,需要与不同部门的人员进行有效的沟通协调。要能够清晰地表达技术方案和需求,倾听团队成员的意见和建议,解决团队内部的技术分歧和矛盾。同时,要具备良好的团队管理能力,能够合理分配任务,激发团队成员的工作积极性和创造力。

项目管理能力也是晋升的关键。技术经理需要学习项目管理知识体系,如了解 PMP 认证所定义的体系,掌握项目的规划、执行、监控和收尾等各个阶段的管理方法。能够以生活中的项目作为练习,观察软件项目,推演项目管理的过程,主动打杂熟悉某些项目管理过程,逐步独立带小项目,最后带大项目。在项目管理中,要注重时间管理、成本管理、质量管理和风险管理,确保项目按时、按质、在预算范围内完成。

自我提升和学习能力同样不可忽视。FPGA 技术不断发展,技术经理要紧跟技术前沿,持续学习新的技术和知识。关注行业动态,了解 FPGA 在不同领域的应用和发展趋势,将新的技术和理念引入到团队的项目中。同时,要注重培养自己的领导能力和决策能力,在面对复杂问题和挑战时,能够迅速做出正确的决策。

四、FPGA 开发工程师的必备技能

FPGA 开发是一项复杂而富有挑战性的工作,需要工程师具备多方面的技能。以下是对 FPGA 开发工程师必备技能的详细阐述。

1. 需求核对阶段

  • 良好的沟通技能:在需求核对阶段,FPGA 开发工程师需要与需求方进行深入的沟通,核对所需的功能及性能。良好的沟通态度至关重要,谦逊专业的沟通态度能够确保对需求的理解无偏差。如果理解错误,可能会引起构架的修改,而对外团队协作能力很大一部分也体现在这里。
  • 行业背景知识:工程师需要将需求翻译成 FPGA 的功能点以及逻辑上的处理流程。用硬件的大白话来说,就是明确大的 pipeline 流水线功能以及每个功能对应的表项及数据结构。

2. 总体设计阶段

  • 功耗评估:Xilinx 和 Altera 两家厂商都会提供功耗评估 excel,工程师可以填入使用的 IP、逻辑使用量、频率、IO 类型、时钟等信息,从而评估总的功耗大小,以及每一路电源的电流大小预估。这对于确保板子的稳定性非常重要。
  • IO 设计:这一阶段涉及电路连接设计,特别是对外设计的接口,如牵涉到存储器、transceiver 相关的接口、IO 电平标准、时钟分布等都要例化出来,然后编译通过。软件会输出 csv 文件,里面包含了 IO 的电平标准及外围连接,这一步能极大提升做板一次成功率。由于每一代 FPGA 以及每个系列器件的结构有所不同,特别是共享 PLL、transceiver、存储器的共享模块设计都会有差异,因此安全的做法是把要使用的除 LUT 和 RAM 以外的资源例化,然后编译通过,以保证外围连接不出错。
  • 软硬件接口设计:制定软件要访问 FPGA 的方式、以及软硬件如何配合、FPGA 如何初始化功能。不同的应用场合需要设计不同机制,大体可以分为寄存器访问(直接或间接)、功能表项的配置数据、命令、状态的互传等。高性能应用一般要设计 DMA,不同应用对 DMA 的要求也不同。
  • 逻辑部分的总体规划:包括时钟域规划、复位规划、模块划分及模块功能规划、FIFO/RAM 使用大小及类型规划、模块间传递接口规划(最好标准化,类似软件 API,以后可复用)、编码规则制定。

3. 设计及编码阶段

  • 良好的 coding 规则:主要是命名规范,命名至少要区分同步寄存器、跨时钟域寄存器、连线等信号,最好在信号命名前缀进行区分,这样在后期下约束时可以用通配符找信号。
  • 查找及看懂硬核的使用手册:能够熟练查找并理解硬核的使用手册,对于高效利用 FPGA 的资源至关重要。
  • 领域内常见算法的实现:比如在网络领域,要掌握共享缓存设计、各种 HASH 算法实现、LPM 查表算法、各种匹配算法实现等。在加解密领域,需要具备把串行算法翻译成硬件并行算法的能力。针对目前流行的神经网络,要知道针对各种网络如何设计高效的数据流入方式,以及如何进行特征的预处理。

4. 仿真验证阶段

  • 仿真平台搭建:根据设计大小及是否将来重用的情况来选择搭建仿真平台的方法。如果设计大且重用多,可以考虑 UVM 这些设计方法及平台搭建。简单的设计可以利用 Verilog,通过 task 任务的设计及调用来设计仿真平台。这一过程需要掌握 testbench 设计、仿真工具使用及 debug。
  • 测试规划及项目抽取:这是目前大部分 FPGA 工程师容易忽略的地方。设计要稳定,需要系统地进行项目抽取,最好是另一拨人根据自己对规格的理解来系统抽取测试项目,这样完整验证后能保证功能大体稳定。而性能测试一般要在实机测试中进行。

5. 后端物理约束阶段

  • 可以从 IO 分配的工程中导入后端物理约束。包括时序约束 IP 的约束导入以及其他软件相关的特殊信号的约束(一般通过在代码中用属性表示)。掌握看后端的原理图、器件映射图,在出问题时可以在后端把一些网络剪短或连接(ISE 之前提供此功能,vivado 不确定是否还有这种工具)。

6. 调试阶段

  • 掌握调试工具:一般厂商都会提供 transceiver 调试工具测试回环、无码率等。内部逻辑分析仪使用、存储器调试、各种物理层参数的配置及调试、各种下载方式掌握。软硬件联调时各种调试命令的设计也需要熟练掌握。

五、FPGA 开发工程师的面试经验

  1. 面试流程包括简历筛选、网络测试、多轮专业面试等。

FPGA 开发工程师的面试流程通常较为严格和规范。首先是简历筛选环节,招聘方会根据求职者的学历、项目经验、专业技能等方面进行初步筛选。通过简历筛选后,可能会进行网络测试,测试内容一般包括专业知识、逻辑思维等方面。接下来是多轮专业面试,面试形式多样,可能包括一对一面试、小组面试等。

  1. 面试官常提问专业知识点、简历项目中的问题、琐碎细节等。

在面试过程中,面试官常常会提问一系列专业知识点,例如 FPGA 的内部结构、逻辑综合的过程、时序约束的方法等。同时,面试官也会针对求职者简历中的项目进行深入提问,包括项目的背景、目标、实现过程、遇到的问题及解决方案等。此外,面试官还可能会关注一些琐碎细节,比如在项目中使用的芯片型号、占用的资源、代码的保存方式等。

  1. 面试难度因公司和个人情况而异,应聘途径有校园招聘和社会招聘等。

FPGA 开发工程师的面试难度因公司规模、行业地位、岗位要求以及求职者个人的专业水平和经验等因素而异。一般来说,大型企业和知名公司的面试难度相对较高,对求职者的要求也更为严格。而对于一些初创企业或小型公司,面试难度可能会相对较低。

应聘途径主要有校园招聘和社会招聘两种。校园招聘通常面向应届毕业生,招聘流程相对规范,包括宣讲会、笔试、面试等环节。社会招聘则面向有一定工作经验的求职者,招聘方式更加灵活,可能通过网上申请、内部推荐等途径进行。

例如,从职朋职业圈分享的诺瓦 FPGA 工程师面试经验来看,面试过程中先是自我介绍,然后选一个自己擅长的项目讲一下,围绕这个项目会问很多基础问题,还会问 FPGA 的基础知识,如底层结构、异步时钟问题等。北京雷久科技有限责任公司的面试则开始让自我介绍,问是否考研、在校成绩,然后问几个基础的专业知识。海康威视的校园招聘面试有网络测试和三轮面试,一轮问专业知识点,二轮问简历项目中的点,三轮问琐碎的问题细节。中航光电科技股份有限公司的社会招聘面试,3 月下旬部门主管打电话初试,4 月进行腾讯会议面试,每人平均不到 5 分钟,提问包括换工作原因、说服录用、期望薪资等问题。安徽耀峰雷达的校园招聘面试在校园招聘会上投简历后问项目问题、成绩单和课程情况等。

相关文章:

FPGA 开发工程师

目录 一、FPGA 开发工程师的薪资待遇 二、FPGA 开发工程师的工作内容 1. 负责嵌入式 FPGA 方案设计,包括仿真、软件编写和调试等工作。 2. 使用工具软件建立 FPGA 综合工程,编写综合策略和时序约束。 3. 进行 FPGA 设计的优化与程序维护&#xff0c…...

【Leetcode 每日一题】3250. 单调数组对的数目 I

问题背景 给你一个长度为 n n n 的 正 整数数组 n u m s nums nums。 如果两个 非负 整数数组 ( a r r 1 , a r r 2 ) (arr_1, arr_2) (arr1​,arr2​) 满足以下条件,我们称它们是 单调 数组对: 两个数组的长度都是 n n n。 a r r 1 arr_1 arr1​ 是…...

较类中的方法和属性比较

在 Python 中,类中有以下几种常见的方法和属性,它们的作用和用法有所不同。以下是详细比较: --- ### **1. 实例方法** - **定义**:使用 def 定义,第一个参数是 self,表示实例对象本身。 - **作用**&#…...

nVisual可视化资源管理工具

nVisual主要功能 支持自定义层次化的场景结构 与物理世界结构一致,从全国到区域、从室外到室内、从机房到设备。 支持自定义多种空间场景 支持图片、CAD、GIS、3D等多种可视化场景搭建。 丰富的模型库 支持图标、机柜、设备、线缆等多种资源对象创建。 资源可…...

自动类型推导(auto 和 decltype)

​​​​​​一、auto关键字 基本概念 在 C 11 中引入了auto关键字用于自动类型推导。它可以让编译器根据变量的初始化表达式自动推断出变量的类型。这在处理复杂的类型,如迭代器、lambda 表达式的类型等情况时非常有用。 使用示例 例如,在迭代器的使用中…...

新型大语言模型的预训练与后训练范式,谷歌的Gemma 2语言模型

前言:大型语言模型(LLMs)的发展历程可以说是非常长,从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初,LLM的训练过程只关注预训练,但后来逐步扩展到了包括预训练和后训练在内的完整…...

基于投影寻踪博弈论-云模型的滑坡风险评价

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于投影寻踪博弈论-云模型的滑坡风险评价 基于投影寻踪博弈论-云模型的滑坡风险评价是一个复杂而有趣的主题,涉及到博弈论、风险评估和模糊逻辑等领域的交叉应用。这个方法结合了博弈论中的投影寻踪技术…...

WRF-Chem模式安装、环境配置、原理、调试、运行方法;数据准备及相关参数设置方法

大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果,同时气象因素是控制大气污染的关键自然因素。大气污染问题既是局部、当地的,也是区域的,甚至是全球的。本地的污染物排放除了对当地造成严重影响外,同时还会在…...

Spring中每次访问数据库都要创建SqlSession吗?

一、SqlSession是什么二、源码分析1)mybatis获取Mapper流程2)Spring创建Mapper接口的代理对象流程3)MapperFactoryBean#getObject调用时机4)SqlSessionTemplate创建流程5)SqlSessionInterceptor拦截逻辑6)开…...

力扣刷题TOP101:6.BM7 链表中环的入口结点

目录: 目的 思路 复杂度 记忆秘诀 python代码 目的 {1,2},{3,4,5}, 3 是环入口。 思路 这个任务是找到带环链表的环入口。可以看作是上一题龟兔赛跑(Floyd 判圈算法)的延续版:乌龟愤愤不平地举报兔子跑得太快,偷偷…...

浅谈telnet和ping

telnet 和 ping 是网络诊断工具,用于测试网络连接性和故障排查,但它们有不同的用途和功能。以下是它们的主要区别: 1. ping 功能描述 用途:ping 命令用于测试主机与目标地址(IP或域名)之间的连通性。工作…...

P4-3【应用数组进行程序设计 | 第三节】——知识要点:字符数组

知识要点:字符数组 视频: P4-3【应用数组进行程序设计 | 第三节】——知识要点:字符数组 目录 一、任务分析 二、必备知识与理论 三、任务实施 一、任务分析 本任务要求输入一行字符,统计其中的单词数,单词之间用…...

彻底理解微服务配置中心的作用

常见的配置中心有SpringCloudConfig、Apollo、Nacos等,理解它的作用,无非两点,一是配置中心能做什么,不使用配置中心会出现什么问题。 作用:配置中心是用来集中管理服务的配置,它是用来提高系统配置的维护…...

SpringBoot开发——详细讲解 Spring Boot 项目中的 POM 配置

文章目录 一、POM 文件简介二、单模块项目的 POM 配置1. 创建基本的 Spring Boot 单模块项目2. 重点解析三、多模块项目的 POM 配置1. 多模块项目结构2. 父模块 POM 文件3. 子模块 POM 文件4. 重点解析结语在 Spring Boot 项目中,POM(Project Object Model)文件起着关键作用…...

pyspark实现基于协同过滤的电影推荐系统

最近在学一门大数据的课,课程要求很开放,任意做一个大数据相关的项目即可,不知道为什么我就想到推荐算法,一直到着手要做之前还没有新的更好的来代替,那就这个吧。 推荐算法 推荐算法的发展由来已久,但和…...

视觉语言模型(VLM)学习笔记

目录 应用场景举例 VLM 的总体架构包括: 深度解析:图像编码器的实现 图像编码器:视觉 Transformer 注意力机制 视觉-语言投影器 综合实现 训练及注意事项 总结 应用场景举例 基于文本的图像生成或编辑:你输入 “生成一张…...

学习笔记:黑马程序员JavaWeb开发教程(2024.11.29)

10.5 案例-部门管理-新增 如何接收来自前端的数据: 接收到json数据之后,利用RequestBody注解,将前端响应回来的json格式的数据封装到实体类中 对代码中Controller层的优化 发现路径中都有/depts,可以将每个方法对应请求路径中的…...

文档加密怎么做才安全?

公司的文档包含很多机密文件,这些文件不仅关乎公司的核心竞争力,还涉及到客户隐私、商业策略等敏感信息。因此,文档的保管和传递一直是我们工作的重中之重。 为了确保机密文件的安全,公司需要制定了一系列严格的保密措施。从文件的…...

使用Setup Factory将C#的程序打包成安装包

一、软件下载 https://download.csdn.net/download/qq_65356682/90042701 可以直接下载 二、软件使用 打开 1、创建一个新的项目 2、设置如下信息,也可以不设置,最好填非空的、 产品名就是你安装成功后生成文件的名称 3、如下文件夹路径就是你C#中ex…...

解决 java -jar 报错:xxx.jar 中没有主清单属性

问题复现 在使用 java -jar xxx.jar 命令运行 Java 应用程序时,遇到了以下错误: xxx.jar 中没有主清单属性这个错误表示 JAR 文件缺少必要的启动信息,Java 虚拟机无法找到应用程序的入口点。本文将介绍该错误的原因以及如何通过修改 pom.xm…...

Java HashSet 介绍

怀旧网个人博客网站地址:怀旧网,博客详情:Java HashSet 介绍 哈希值介绍 创建一个实体类 public class Student {private String name;private int age;public Student(String name, int age) {this.name name;this.age age;} }使用测试…...

2024年几款免费的AI对话工具介绍

目前几款免费的AI对话工具介绍 文章目录 目前几款免费的AI对话工具介绍一、前言二、AI对话工具介绍1、讯飞星火认知大模型2、百度文心一言3、通义千问4、豆包5、百川大模型6、智谱清言7、月子暗面-KIMI下面是国外的 AI 对话工具: 8、Replika8、Cleverbot9、Coze 三、…...

Gazebo构建模型(含GNSS、IMU、LiDAR、Camera传感器)

将GNSS、IMU、LiDAR、Camera传感器和机器人的base分别放在不同的文件中。这样可以提高模型的可维护性和模块化。下面是一个示例,展示如何将这些部分分别放在不同的.xacro文件中,然后通过导入的方式组合在一起。 1. 创建基础文件:my_robot.xa…...

#Js篇: 链式判断运算符 ?.和Null判断运算符 ??和逻辑赋值运算符||= = ??=

链式判断运算符 ?. ?.运算符,直接在链式调用的时候判断,左侧的对象是否为null或undefined。如果是的,就不再往下运算,而是返回undefined。 链判断运算符?.有三种写法。 obj?.prop // 对象属性是否存在 obj?.[expr] // 同上…...

IDEA敲Web前端快捷键

1.html基础格式 英文符号TAB键 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, mini…...

【Vue3】【Naive UI】<NDropdown>标签

【Vue3】【Naive UI】 标签 基本设置自定义渲染交互事件其他属性 【VUE3】【Naive UI】&#xff1c;NCard&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;n-button&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;a&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c…...

技术总结(四十一)

一、MySQL 索引概述 索引的概念&#xff1a;索引就好比一本书的目录&#xff0c;它能帮助 MySQL 快速定位到表中的数据行&#xff0c;而不用全表扫描。通过创建合适的索引&#xff0c;可以大大提高查询的效率。例如&#xff0c;在一个存储了大量员工信息的表中&#xff0c;如果…...

Android布局

一、线性布局 属性&#xff1a;orientation vertical horizontal layout_weight【水平均分&#xff0c;width"0dp"】 layout_height layout_width 小动物连连看 1<?xml version"1.0" encoding"utf-8"?>2<LinearLayout xmlns:and…...

k8s集成skywalking

如果能科学上网的话&#xff0c;安装应该不难&#xff0c;如果有问题可以给我留言 本篇文章我将给大家介绍“分布式链路追踪”的内容&#xff0c;对于目前大部分采用微服务架构的公司来说&#xff0c;分布式链路追踪都是必备的&#xff0c;无论它是传统微服务体系亦或是新一代…...

如何写一份优质技术文档

作者简介&#xff1a; 本文作者拥有区块链创新专利30&#xff0c;是元宇宙标准化工作组成员、香港web3标准工作组成员&#xff0c;参与编写《数据资产确权与交易安全评价标准》、《链接元宇宙&#xff1a;应用与实践》、《香港Web3.0标准化白皮书》等标准&#xff0c;下面提供…...

网站开发工程师是web吗/优化seo设置

很早之前做过一个&#xff0c;白板没界面&#xff0c;20秒暴力刷新&#xff0c;数据库每个team一个n列的对应n个题目的标记项&#xff0c;只能对单个比赛暴力把全部user_id导入单独的气球表&#xff08;也就是cid1000用这个表的话&#xff0c;cid1001就不能用&#xff09;。 后…...

桃城网站建设价格/百度推广一个点击多少钱

通过前面的学习我们已经能够通过遍历所有已知的函数及其指令来达到一种基本的搜索效果,这当然很有用,不过有时候我们需要搜索一些特定的字节,比如0x48 0xff 0xc2,这3个字节代表的汇编代码为inc rdx 我们可以选中该指令后右键-》synchronized with->hex view 1,可以看到…...

广州做网站建设的公司排名/媒体公关

&#xff08;一&#xff09;概念 dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关&#xff0c;一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个&#xff0c;不依赖像素。 px: pixels(像素). 不同设备显示效果相同&#xff0c;一般…...

服饰工厂网站建设/全球搜索引擎排名2021

通过nano或者vim更改~/.bashrc或/etc/bashrc&#xff0c;两者的区别&#xff0c;前者是针对单用户&#xff0c;后者针对全局用户。 在文件末尾插入一行alias namestring : 给命令起别名&#xff08;可以先用type string检测这个名字是否被用过了&#xff09; 例如&#xff1a; …...

江苏建设会计学会网站/网站是怎么做出来的

一、简述 JavaScript是用来实现浏览器和用户交互的&#xff0c;与html和css不同&#xff0c;它是门弱类型编程语言。 二、引入方式 1、内部标签 <script>代码块 </script>2、外部引入 <script src"js文件路径"></script>三、基础语法 …...

用vsweb做购物网站/网站客服

之前的文章中我们介绍了如何在.NET下运用相关类库进行多线程编程的基础&#xff0c;我们知道.NET 4.0已经正式推出了&#xff0c;带来的重要特性是并行库。本文就谈谈对并行计算的一些理解和看法。并行计算不是一个很新的概念&#xff0c;其实它就是通过多线程把同一个任务分割…...