【CANN训练营0基础赢满分秘籍】进阶班 Atlas 200I DK 智能小车

news2024/11/24 17:31:45

1 智能小车三维结构设计

1.1 基本模块

  • 坚固酷炫结构模块
  • 运动控制模块
  • 超声波传感器模块
  • 摄像头视觉模块
  • 其他传感器模块

1.2 结构设计基本原则

从零开始设计并搭建智能小车,在满足外观要求的基础上,要满足小车运转过程中的运动干涉率为O,并且需要考虑实际安装时的易用性与可行性,以及智能小车的重心位置的控制等。
1.2.png

1.3 Solidworks建模

1.31.png
1.32.png
1.33.png

1.4 智能小车所依赖各模块参数及要求

1.4.png

1.5 组装所有依赖的硬件

  • 安装原则
    自底部开始安装承载部分和电源,注意麦克纳姆轮的安装方向,以及螺丝的固定顺序,在铝合金外壳加工差异下,优先固定精度高的螺孔。确定所有接线正确后再固定外壳。

2 ESP32控制器开发入门

在使小车实现感知周围环境并自主完成相应的功能之前需要了解底层的控制部分是如何实现的,从传感器采集到数据之后,在开发者套件上进行推理,然后需要根据推理结果发出指令控制小车的运动状态,就需要使用微控制器。
2.png

  • ESP32单片机实现控制原理
    目前小车上需要使用ESP32进行控制的主要为四个电机以及摄像头云台的两轴舵机,二者的实现方式均是依靠PWM信号脉冲的占空比,改变信号的占空比就可以改变电机的转速以及舵机旋转的角度。

3 智能小车循迹驾驶与自动泊车实现

3.1 场景地图的制作

使用Photoshop软件绘制不同的图层,使用可以使小车正常转弯和停车的尺寸,得到场景地图并打印。
3.1.png

3.2 手动控制小车

了解了智能小车的底层控制方式并且将,ra文件烧录到ESP32之后,就可以启动程序手动控制小车的移动了。
3.2.png

3.3循环驾驶原理实现

3.3.png

3.4 Yolo网络

3.4.png

3.5自动泊车

3.5.png

4 智能小车目标追踪实现

4.png

5 ROS2与激光雷达建图入门

5.1 ROS2 (Robot Operating System)

在开发多传感器融合的样例时,ROS就可以很好做到一个通信桥梁的作用,规整各个传感器与话题、服务,内置多种插件,可以适用到多种不同的场景,还包含了不同的SLAM (Simultaneous Localization and Mapping)功能包,gmapping, hector slam,Cartographer等。
5.1.png
从算法的对数据的处理方式上看,目前常用的SLAM开源算法可以分为两类:
1. 基于滤波
比如扩展卡尔曼滤波(EKF: Extended KalmanFilter) .粒子滤波(PF: Particle Filter)等。
ROS中的gmapping.hector_slam算法都是基于滤波实现的。
2. 基于图优化
先通过传感器进行构图,然后对图进行优化。目前比较主流的是图优化的方法,Cartographer就是基于图优化实现的。图优化相对于滤波,不用实时的进行计算。效率更高,消耗的资源更少,所以在实际场景中使用的更多。

5.2 Cartographer

Cartographer是Google开源的一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图系统。
5.2.png# 1 智能小车三维结构设计

1.1 基本模块

  • 坚固酷炫结构模块
  • 运动控制模块
  • 超声波传感器模块
  • 摄像头视觉模块
  • 其他传感器模块

1.2 结构设计基本原则

从零开始设计并搭建智能小车,在满足外观要求的基础上,要满足小车运转过程中的运动干涉率为O,并且需要考虑实际安装时的易用性与可行性,以及智能小车的重心位置的控制等。
1.2.png

1.3 Solidworks建模

1.31.png
1.32.png
1.33.png

1.4 智能小车所依赖各模块参数及要求

1.4.png

1.5 组装所有依赖的硬件

  • 安装原则
    自底部开始安装承载部分和电源,注意麦克纳姆轮的安装方向,以及螺丝的固定顺序,在铝合金外壳加工差异下,优先固定精度高的螺孔。确定所有接线正确后再固定外壳。

2 ESP32控制器开发入门

在使小车实现感知周围环境并自主完成相应的功能之前需要了解底层的控制部分是如何实现的,从传感器采集到数据之后,在开发者套件上进行推理,然后需要根据推理结果发出指令控制小车的运动状态,就需要使用微控制器。
2.png

  • ESP32单片机实现控制原理
    目前小车上需要使用ESP32进行控制的主要为四个电机以及摄像头云台的两轴舵机,二者的实现方式均是依靠PWM信号脉冲的占空比,改变信号的占空比就可以改变电机的转速以及舵机旋转的角度。

3 智能小车循迹驾驶与自动泊车实现

3.1 场景地图的制作

使用Photoshop软件绘制不同的图层,使用可以使小车正常转弯和停车的尺寸,得到场景地图并打印。
3.1.png

3.2 手动控制小车

了解了智能小车的底层控制方式并且将,ra文件烧录到ESP32之后,就可以启动程序手动控制小车的移动了。
3.2.png

3.3循环驾驶原理实现

3.3.png

3.4 Yolo网络

3.4.png

3.5自动泊车

3.5.png

4 智能小车目标追踪实现

4.png

5 ROS2与激光雷达建图入门

5.1 ROS2 (Robot Operating System)

在开发多传感器融合的样例时,ROS就可以很好做到一个通信桥梁的作用,规整各个传感器与话题、服务,内置多种插件,可以适用到多种不同的场景,还包含了不同的SLAM (Simultaneous Localization and Mapping)功能包,gmapping, hector slam,Cartographer等。
5.1.png
从算法的对数据的处理方式上看,目前常用的SLAM开源算法可以分为两类:
1. 基于滤波
比如扩展卡尔曼滤波(EKF: Extended KalmanFilter) .粒子滤波(PF: Particle Filter)等。
ROS中的gmapping.hector_slam算法都是基于滤波实现的。
2. 基于图优化
先通过传感器进行构图,然后对图进行优化。目前比较主流的是图优化的方法,Cartographer就是基于图优化实现的。图优化相对于滤波,不用实时的进行计算。效率更高,消耗的资源更少,所以在实际场景中使用的更多。

5.2 Cartographer

Cartographer是Google开源的一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图系统。
5.2.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/552771.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【CANN训练营0基础赢满分秘籍】进阶班 应用开发深入讲解

1 AIPP AIPP (Artificial Intelligence Pre-Processing)人工智能预处理,在AI Corfe上完成数据预处理。 1.1 静态AIPP 构造AIPP配置文件*.cfg使能静态AIPP,将其配置参数保存在模型文件中。 atc --framework3--soc_versionS[soc_version) --model SHOM…

基于51单片机的电子琴Protues仿真设计

一、设计背景 基于51单片机的电子琴是一款由51单片机控制器、音频模块和硬件阵列组成的数字化乐器。它可以模拟各种乐器的音效,同时也具有许多常规电子琴所没有的高级功能。 首先,这种电子琴是以数字信号处理技术为基础的。通过软件编程,将…

【JUC】Java对象内存布局和对象头

【JUC】Java对象内存布局和对象头 文章目录 【JUC】Java对象内存布局和对象头1. 对象的内存布局1.1 对象头1.1.1 对象标记1.1.2 类元信息/类型指针 1.2 实例数据1.3 对齐填充 2. 测试 1. 对象的内存布局 在 HotSpot 虚拟机里,对象在堆内存中的存储布局可以划分为三…

MSP432学习笔记6:中断优先级管理

所用型号:MSP432P401R 今日继续我的MSP432电赛速通之路。 主要学习的是:中断优先级管理、软件挂起中断、屏蔽中断优先级 目录 MSP432具有8级可编程的中断优先级。 中断优先级管理库函数: 软件挂起中断: 屏蔽中断优先级&#…

微信小程序富文本插件mp-html

使用场景: 偏偏后端传过来的数据又要用到富文本标签,然后找了很多组件,要不就是下载量低,要不就是里面功能太少,只有这款mp-html组件深得我心,里面功能丰富,简单实用,真的绝绝子&…

DMA直接存储器存取

目录 存储器映像 寄存器 DMA框图 DMA基本结构 DMA请求映射 数据宽度与对齐 ​编辑 存储器到存储器 ​编辑 外设与存储器 来源b站江科大stm3入门教程 存储器映像 寄存器 DMA框图 AHB从设备(DMA自身的寄存器)连接在总线矩阵右侧的AHB总线上 所以DMA既…

LeetCode:509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

509. 斐波那契数 题目 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),…

无底线内卷?谈谈如何在职场中实现人生巅峰

在竞争激烈的职场上,各种职场难题时常出现,如何进行有效沟通、如何应对工作压力、如何提升职业能力等,这都是需要去克服的问题。 1. 尝试人际沟通A:TO 企业B:TO 员工 2. 适应工作压力A:原因B:TO…

ROS2 入门应用 创建启动文件(C++)

ROS2 入门应用 创建启动文件(C) 1. 创建功能包2. 添加依赖关系3. 添加编译信息4. 创建启动文件4.1. Python4.2. XML4.3. YAML 5. 编译和运行 1. 创建功能包 用Python、XML或YAML编写的启动文件可以启动和停止不同的节点,以及触发和处理各种事…

法规标准-GB/T 39323标准解读(2020版)

GB/T 39323是做什么的? GB/T 39323全称为乘用车车道保持辅助(LKA)系统性能要求及试验方法,其中主要描述了LKA系统的功能要求及测试要求 一般要求 1.系统应能在状态良好的车道边线环境下识别车辆与车道边线的相对位置,辅助驾驶员将车辆保持…

76.建立一个主体样式第二部分

上节课的时候我们完成的页面是这个样子! ● 之后我们通过绝对定位来解决位置定位的问题 .header-container {width: 1200px;margin: 0 auto;position: absolute;left: 50%;top: 50%; }header {height: 100vh;background-color: orange;position: relative; }● 之…

通过Python的PyPDF2库提取pdf中的文字

文章目录 前言一、PyPDF2库是什么?二、安装PyPDF2库三、查看PyPDF2库版本四、使用方法1.引入库2.定义pdf路径3.打开PDF文件4.创建PDF阅读器对象5.获取PDF文件中的页数6.遍历每一页7.获取当前页内容8.提取当前页文本9.打印当前页文本10.效果 总结 前言 一、PyPDF2库…

【2023 · CANN训练营第一季】初识新一代开发者套件 Atlas 200I DK A2---介绍Atlas 200I DK A2的基本使用

1.Atlas 200I DK A2开发者套件板介绍 应用场景:昇腾AI开发者上手学习、实践创新场景,提供配套软硬件 关键特性规格描述形态135mm120mm44mmAI 算力整数精度(INT8):8 TOPS 半精度(FP16): 4 TFLOPS摄像头接口2* MIPI - CSI 支持两个…

研报精选230521

目录 【行业230521山西证券】煤炭行业周报:量减需增进口倒挂,煤炭价格企稳反弹 【行业230521东吴证券】大炼化周报:油价弱势震荡,下游表现疲软 【行业230521东海证券】4月社零报告专题:低基数下创新高,实质…

MyBatisX

文章目录 MyBatisXMybatis带参方法 动态条件查询多条件查询多条件-动态条件查询ifchoose(when,otherwise) 添加添加-主键返回 修改修改全部字段修改动态字段 删除MyBatis参数传递多个参数单个参数 MyBatis注解完成增删改查 MyBatisX pojo类中的属性名要和数据库中的一致才能实现…

ARM学习笔记_2 模式,寄存器,流水线

ARM arm体积小功耗低性能高,支持thumb ARM双指令集,兼容8/16位器件;大量使用寄存器,指令定长,寻址简单。 ARM是32位架构,Word 32bit, half Word 16bit. 模式 用户模式是用户程序的模式&#…

RK3568平台开发系列讲解(驱动基础篇)RK平台IR的使用

🚀返回专栏总目录 文章目录 一、红外遥控配置二、内核驱动2.1 DTS 定义键值表2.2 内核用户码和IR键值的获取2.3 编译 IR 驱动进内核2.4 Android 键值映射三、IR 波形沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将对RK IR的使用进行学习。 一、红外遥控配置 …

解决插件加载动态库的冲突问题

最近发给用户的插件在使用过程中,UI界面一直未能加载成功,分析后发现和其他的插件发生冲突了,同时用到了一个UI库:MahApps.Metro(自己改造过的版本)。 分析过程中使用ProcessExplorer查看Revit运行过程中所…

二叉树最大宽度-广度优先方式 -队列应用_20230520

二叉树最大宽度-广度优先(BFS)方式 -队列应用 前言 上一遍介绍了求解二叉树最大宽度的DFS解法,求解的核心主要是对根节点、左孩子及右孩子的宽度取最大值,通过赋值给根节点后,然后通过递归栈层层返回,当返回至树的根节点上的时候…

数字图像处理—图像分割算法详解(边缘检测、阈值处理)

前言 令R表示一幅图像占据的整个空间区域。图像分割:把R分为n个子区域R1,R2,…,Rn的过程,满足 点、线、边缘检测 背景知识 一阶导数的近似要求: (1)在恒定灰度区域必须为零 (2)在灰度台阶或…