- 博客(25)
- 收藏
- 关注
原创 串行通信协议
UART为异步串行通信,使用各自的时钟控制数据的发送和接受过程,不使用同步时钟,而是使用一些特殊位(起始位、停止位);SPI、IIC为同步串行通信,需要同步时钟。通信三种模式:1)单工:通信双方设备发送器和接受器分工明确,只能由发送器向接收器但一固定方向传输数据;2)半双工:两个设备均既是发送器也是接收器,某一时刻只能向一个方式传输数据;3)全双工:两个设备均既是发送器也是接收器,两台设备可以同时在两个方向上传输数据。一、UART。
2023-09-11 20:17:24
632
原创 Ubuntu18.04使用Systemback制作系统镜像并还原
在Ubuntu系统中开发项目时,有时会希望将项目移植到另外一台计算机(如工控机等)上进行部署,通常会在新计算机中安装Ubuntu系统,然后安装相关的依赖及功能包,此过程较为繁琐。针对上述问题,可以使用Systemback来制作系统镜像,可以在新计算机中安装一模一样的系统,下面为Systemback制作系统镜像及还原的流程。
2023-09-02 18:00:08
2562
1
原创 robot_upstart开机自启动
Ubuntu下可以设置rc.local和robot_upstart等多种自启动方式,这里我们是设置小车上电后,树莓派开机之后能够自己启动上位机中需要运行的launch文件,这里我们采用ROS下边的robot_upstart自启动方式。
2023-08-14 20:37:46
872
原创 4、Gazebo给予actor碰撞属性
Gazebo中的actor标签用来设置动态的行人或者动态的障碍物,使其按照我们预先设置轨迹来进行运动。但是添加actor的动态障碍物是没有碰撞属性的,因此需要给其设置碰撞属性。
2023-07-10 16:03:48
702
1
原创 3、移动机器人下位机软件
移动机器人的控制系统软件部分分为上位机软件与下位机软件两部分,二者之间通过串口进行通信,上位机主机树莓派中完成上位机软件设计,下位机STM32单片机中完成下位机软件设计。移动机器人下位机软件设计基于Keil5进行开发,主要完成与上位机树莓派之间的串口通信部分、PWM调速、PID速度控制、Encoder编码器数据获取以及里程计数据计算五部分。更多内容欢迎关注微信公众号:深度学习与路径规划。
2022-09-21 20:48:20
1577
原创 2、下位机环境配置
双击Keil uVision5的图标打开,然后点击“File”,找到下方的“License Management”进行激活。复制License Management中的Computer ID(CID),然后右键以管理员身份运行打开keygen.exe,拷贝到“CID”中,然后target选择“ARM”,点击“Generate”,将下方框的数据进行复制,最后拷贝到License Management中的“New License ID Code(LID)”中,点击“Add LIC”即可完成激活。
2022-09-21 20:24:03
542
原创 深度学习--优化器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1 随机梯度下降法2 Momentum3 AdaGrad4 RMSProp5 Adam前言优化器是引导神经网络更新参数的工具,深度学习在计算出损失函数之后,需要利用优化器来进行反向传播,完成网络参数的更新。在这个过程中,便会使用到优化器,优化器可以利用计算机数值计算的方法来获取损失函数最小的网络参数。在深度学习中,不同的优化器只是定义了不同的一阶动量和二阶动量,一阶动量是与梯度相关的函数,二阶动量是与梯度平方相.
2022-05-14 19:26:49
6222
原创 Ubuntu18.04安装ROS Melodic
前言提示:这里可以添加本文要记录的大概内容:本文主要是在Ubuntu18.04下安装ROS Melodic。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。1. 配置Ubuntu软件仓库我们需要勾选Ubuntu系统中Software & Updates中的“universe”、“restricted”和“multiverse”存储库选项。2. 设置sources.lis.
2022-03-15 16:59:38
1520
原创 Ubuntu18.04与RTX1080Ti安装深度学习框架
这里写自定义目录标题本文系统为Ubuntu18.04,显卡为RTX 1080Ti,之前主要在Windows下跑深度学习,后来因为需要用到ROS,故需要在Ubuntu下使用深度学习,因此记录一下在Ubuntu系统下安装深度学习框架的过程。首先,我们需要去官网下载cuda与cudnn,大家可以根据自己显卡的型号来选择相应的cuda版本,且cudnn下载时需要注册,这里提供cuda9.2及对应的补丁与cudnn版本。(如果下载需要积分,可以到微信公众号**“深度学习与路径规划”**回复“CUDA下载链接”进行
2022-03-09 16:04:39
1239
原创 路径规划算法
文章目录前言一、传统路径规划算法1.Dijkstra算法2.A*算法3.D*算法4.人工势场法二、基于采样路径规划算法1.PRM算法2.RRT算法三、智能仿生算法1.神经网络算法2.蚁群算法3.遗传算法前言随着机器人技术、智能控制技术、硬件传感器的发展,机器人在工业生产、军事国防以及日常生活等领域得到了广泛的应用。而作为机器人行业的重要研究领域之一,移动机器人行业近年来也到了迅速的发展。移动机器人中的路径规划便是重要的研究方向。移动机器人的路径规划方法主要分为传统的路径规划算法、基于采样的路径规划算法
2021-11-14 10:39:27
69590
4
原创 路径规划算法简介
文章目录前言一、传统路径规划算法二、图形学方法三、智能仿生算法四、其他算法总结前言移动机器人的自动探索需要对机器人进行路径规划,移动机器人的路径规划问题始于20世纪60年代。路径规划作为机器人导航最基本的环节之一,是目前很多技术领域研究的热点,具有广阔的应用前景和科研价值,而路径规划算法的研究是其中的核心内容。路径规划的主要任务是从一个初始点出发,然后按照特定的问题需求,寻找到一系列的动作在保证无碰撞、安全的情况下,到达任务的目标点为止。路径规划的核心就是算法的设计,根据对环境信息的把握程度可把路径
2021-07-28 17:16:33
9854
原创 深度学习--池化
文章目录前言一、最大池化二、平均池化池化的作用前言池化层是卷积神经网络中常用的一个组件,池化层经常用在卷积层后边,通过池化来降低卷积层输出的特征向量,避免出现过拟合的情况。池化的基本思想就是对不同位置的特征进行聚合统计。池化层主要是模仿人的视觉系统对数据进行降维,用更高层次的特征表示图像。池化层一般没有参数,所以反向传播的时候,只需对输入参数求导,不需要进行权值更新。比较常用的池化层主要有最大池化与平均池化。一、最大池化最大池化就是选取图像区域中的最大值作为该区域池化后的值。在前向传播过程中,
2021-07-28 17:12:03
3905
原创 深度学习--损失函数
文章目录前言一、均方误差(mean squared error, MSE)二、平均绝对误差(mean Absolute error, MAE)三、交叉熵损失(Cross Entropy Loss)总结前言深度学习需要正向传播跟反向传播,为了更新参数w和b,我们需要设置一个损失函数loss function,通过损失函数来进行反向传播。损失函数 (Loss Function) 也可称为代价函数 (Cost Function)或误差函数(Error Function),损失函数就是用来表示神经网络的.
2021-07-28 17:07:28
1364
原创 Webots舵轮使用纯追踪算法
文章目录前言二、纯追踪算法三、Webots中对舵轮使用纯追踪算法前言对于AGV小车,利用路径规划算法在规划好路径以后,全局路径由一系列路径点构成,这些路径点只要包含空间位置信息即可,也可以包含姿态信息。在上一篇文章中,我们在webots中创建了舵轮小车,在本文中,我们将利用纯追踪算法(Pure Pursuit)来对舵轮小车进行路径点追踪。# 一、自行车模型上图为几何学自行车模型,假设我们的自行车模型仅在平面上行驶。我们将四轮模型简化为两轮模型,我们可以计算出前轮转向角度δ与轴距L之间的关系.
2021-07-28 16:16:42
1889
2
原创 Webots中创建舵轮模型
文章目录前言舵轮创建流程前言目前AGV小车主要是使用舵轮来进行行走,灵活性高,驱动轮能量利用率高。我们在webots中简单模拟一下舵轮,并用纯追踪算法对其路径点进行追踪。,DQN算法是深度学习(Deep Learning)与强化学习(Reinforcement learning)结合的产物,利用深度学习的感知能力与强化学习的决策能力,实现了从感知到动作的端到端(End to End)的革命性算法。DQN算法由谷歌的DeepMind团队在NIPS 2013
2021-02-26 10:13:07
2367
4
原创 基于TF2的YOLOv3算法详解
YOLOv3算法的详细解释在上篇文章中已经详细介绍过,目前YOLO代码的TensorFlow版本大部分还是TensorFlow1的版本。但是在2019年10月,发布了TensorFlow2的版本,TensorFlow2的版本比TensorFlow1的版本更加易用、灵活和强大。所以我结合自己Tensorflow2的学习,结合代码部分来详细解释一下YOLOv3中的网络结构与损失函数。我们需要将自己的数据集或者VOC、COCO的数据集放在dataset的文件夹下面。如果是VOC或者COCO的数据集,我们可以直接
2021-02-24 18:09:56
624
原创 Webots中构建简单的环境
一、Webots是什么? Webots作为一款移动机器人的仿真软件包,它能够快速的原型制作环境。Webots的开源时间比较晚,因此国内关于Webots的学习资料比较少,只能通过官方文档来进行学习,官方文档提供了两个手册,一个是User Guide(用户指南),一个是Reference Manual(参考手册)。Webots由Cyberbotics公司开发,是一款开源的多平台机器人仿真软件,为机器人的建模、编程和仿真提供了完整的开发环境。目前,Webots已经开源,支持Windows、Linux、Ma
2021-02-23 19:40:27
1660
原创 YOLO算法详解
YOLO算法详解前言YOLOv1YOLOv2YOLOv3前言YOLO官网:https://github.com/pjreddie/darknetYOLO及You Only Look Once,是一种目标检测算法,目标检测任务的目标是找到图像中的所有感兴趣区域,并确定这些区域的位置和类别概率。目标检测领域的深度学习方法主要分为两大类(如图1):两阶段式(Two-stage)目标检测算法和单阶段式(One-stage)目标检测算法。两阶段式是先由算法生成一系列候选边界框作为样本,然后再通过卷积神经网络分类
2021-02-22 10:32:30
36182
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人