自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 达妙电机CAN通信及实验

了解报文格式,能够发送和接收报文,实现CAN通信

2025-04-23 19:21:43 926

原创 轨迹规划——带抛物线过渡的直线插补

带抛物线过渡的直线插补

2025-03-23 18:28:59 1167

原创 笛卡尔轨迹规划之齐次变换矩阵与欧拉角、四元数的转化

将齐次变换矩阵转化成欧拉角或者四元数,可以在笛卡尔轨迹规划中派上用场哦:)

2025-03-20 20:37:44 1044

原创 机械臂轨迹规划方法综述

本文主要介绍:直线插补、圆弧插补、贝塞尔曲线、B样条曲线、RRT算法等

2025-03-06 21:12:18 3108

原创 机械臂正运动学模型

本文主要实现机械臂的正运动学模型建立,包括DH坐标系建立和DH参数确定方法,以及相关机械臂实例模型。

2025-03-01 22:06:43 1306

原创 Day5:强化学习之Qlearning走迷宫进阶

2.奖励条件:如果碰到障碍物得到-1分,如果到达终点,得到10分。1.迷宫状态:起点已知,终点已知,障碍物随机分布。3.Q值更新规则与上一篇文章一致。4.动作选择仍旧采用贪心策略。

2025-02-19 11:55:19 931

原创 Day4:强化学习之Qlearning走迷宫

迷宫环境是定义好的,障碍物位置和空位置是已知的;

2025-02-18 21:50:20 427

原创 Day3:强化学习之Q-Learning代码例程

一、机器人多步决策过程用Qlearning算法思路:一、机器人多步决策过程用Qlearning算法思路:1.问题说明:机器人随机位于某个位置,需要到达位置6即为赢得游戏。2.奖励政策:机器人走迷宫一共有6个位置,6个位置的地图如下,给定奖惩规则为:不能通过给-1分,走到终点给100分。例如:如果机器人位于位置1,则该位置不能通过位置0(此时会给个-1分),走到了终点6就给一个100分。3.得到奖惩表格。

2025-02-17 12:03:21 459

原创 Day2:强化学习之TD learning

1.为什么要用梯度下降梯度的方向是函数上升最快的方向,沿着梯度方向对参数做更新,就可以使的目标函数增大。如图所示,对于函数y=f(x), 在A点的导数是大于零的,也就是增大x,f(x)也会增大。所以,我们沿着梯度方向前进,就可以找到目标函数的最大值。而我们的进行神经网络学习的时候,目标让预测值与真实值的误差之和最小,也就是是MSE(平均平方误差)最小:由于我们的优化目标是最小化目标函数(损失函数),所以是沿着梯度的负方向更新参数,也就是梯度下降。2.梯度下降的参数更新方法:其中,α为学习率。

2025-02-14 16:00:28 645

原创 Day1:强化学习基本概念

1.Agent 智能体:执行动作的对象2.State 状态:对当前环境的概括3.Action 动作:智能体基于当前状态做出的决策4.Reward 奖励:智能体执行完一个动作后,环境反馈给智能体的一个数值。(由程序编写者定义)5.State transition 状态转移:智能体从当前t时刻的状态s转移到下一时刻的状态s'的过程。注:状态转移是随机的,其随机性来自于环境。

2025-02-13 20:43:01 1148

原创 传感器相关信息了解

线性:传感器整个量程内,其输出最大偏差不会超过直线的0.02%注:分辨率:传感器能够检测到的最小变化量。

2025-01-21 15:48:16 815

原创 小米电机与STM32——CAN通信

背景介绍:为了利用小米电机,搭建机械臂的关节,需要学习小米电机的使用方法。计划采用STM32驱动小米电机,实现指定运动,为此需要了解他们之间的通信方式,指令写入方法等。花了很多时间学习,但网络上相关资料很少,且对于我这类基础一般的同学,注释不够详细。为此,我认真研读了电机的说明书,参考相关的博文,实现了电机的CAN通信,特作此记录。

2024-10-12 22:35:47 6400 2

原创 STM的CAN通信学习

显性电平:0 隐性电平:1。

2024-09-16 08:57:13 1976

原创 OLED显示屏应用(STM32)

OLED的四针脚对应接法如下图。二、OLED.c代码介绍。2.main.c函数。

2024-09-12 23:31:54 2243

原创 STM32的GPIO使用

2.使用GPIO_Init 函数初始化GPIO。3.使用输出或输入函数控制GPIO口。1.使用RCC开启GPIO时钟。

2024-09-07 23:18:50 980 2

原创 STM案例一:灯闪烁

选择魔术棒按钮,单击Debug,选择ST-link Debug,选择setting,选择Flash Download,勾选Reset and run,单击确定。建立一个library文件夹,将相应的库函数文件添加进去,对应的文件夹可以从资源获取。4.添加system文件夹和Delay.h和Delay.c文件。添加方法与之前都是一致的,相关文件可以从资源下载。注意,要将相应的路径进行添加,添加方法如下图。上述1,2两步做完后,显示如下图。

2024-08-26 21:04:23 538

原创 STM32新建项目

右击start文件夹,选择add existing files to group start,进入start文件夹,选择all files,添加图片中的所有文件。新建main文件,然后编译,我编译的时候一开始有报错,后面添加了一个ARMCC后,就没有报错了,具体添加方法可以参考博文。硬件:STM32F103;点击新建按钮——点击...按钮——选择相应的start路径——即可对工程的头文件路径进行添加。打开keil5——选择项目——选择新的μVision项目——命名新建工程——选择板子型号。

2024-08-21 13:20:56 631

原创 SW导出URDF文件,并用ROS验证模型准确性

1.首先需要安装一个sw_urdf_exporter插件插件地址如下2.sw建立机械臂三维模型后,再建立各关节的转轴、原点和坐标系,建立时需要参考DH系建系的规则:(注意,建系前要将机械臂固定在初始位置,避免建系过程中位置不小心发生变化1).建立转轴Zi 2).确定原点:如果Zi与Zi+1相交,则交点就是原点;如果Zi与Zi+1不相交,则公垂线与Zi交点为原点 3).确定Xi:Zi与Zi+1相交,则Xi垂直于Zi与Zi+1所在平面;

2024-08-19 21:57:33 1203

原创 6自由度机械手DH坐标系建立

位置——某个点P在坐标系{A}下的矢量表示,可以理解为三维坐标;姿态——在物体上固定一个坐标系,该坐标系相对于基座标系的描述,就是物体的姿态。机器人的每个连杆可以用4个运动学参数表示,DH法建立坐标系,xi-1同时垂直于Zi-1与Zi。当机器人的两个关节轴线平行或重合时,就会出现局部退化的现象,这种现象就是由奇异点造成的。其中单位向量的点积,表示前一向量在后一向量的投影。用一个简单的矩阵表示一般变换的旋转和平移,根据每个关节的关节角计算末端执行器的位姿。坐标系{B}相对于坐标系{A}的表达,

2024-08-09 22:44:17 2677

原创 利用YOLOv8识别自定义模型

最近项目需要识别自定义物品,于是学习利用YOLOv8算法,实现物品识别。由于物体类别不再常规模型中,因此需要自己训练相应的模型,特此记录模型训练的过程。

2024-07-04 16:37:51 1172

原创 深度相机识别物体——实现数据集准备与数据集分割

1.安装labelimg——pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple2.建立相应的数据集存放文件夹3.打开labelimg,直接在命令行输入labelimg即可,并初始化4.开始标注,设置标注好后自动保存view——Auto Save mode。

2024-06-28 22:57:22 798

原创 将深度相机的实时三维坐标数据保存为excel文档

实现了实时读取各物体在相机坐标系下的三维坐标,并将其保存到excel文件中

2024-06-25 22:11:52 706

原创 使用深度相机D435i+YOLOv8实现物体三维坐标实时显示

下列指令为获取相机内参指令,输入此指令前需要获得相机的深度帧和彩色帧数据。显示结果为:其中:640x480是像素宽度x像素高度;p[322.02 236.768]为主点(镜头光轴与图像平面的交点)的坐标;f[391.288 391.288]为焦距参数;Brown Conrady [0 0 0 0 0]分别表示畸变模型与畸变系数。

2024-06-24 21:35:34 7726 38

原创 双目相机测距原理

普通双目相机具有如下特点:左右两个相机位于同一平面(光轴平行),且相机参数(焦距f)一致。其原理图如下:如图所示,P点为相应的物体位置,CL和CR为左右相机光心位置,PL和PR分别为左相机和右相机拍摄的P点成像结果。f为相机焦距,Z为物体距相机的深度距离,b为左右相机基线距离根据几何关系有:则相应的深度信息计算公式为:(1)其中XL-XR为视差。其余在两侧的情况同样可以用几何关系分析得到该表达式(1),即对于普通双目相机测距可以直接通过公式(1)得到深度结果。

2024-06-24 12:52:18 1723

原创 YOLOV8识别物体,并返回物体的像素坐标

C:\Users\82370\.conda\envs\Ayolo8\Lib\site-packages\ultralytics\engine\result.py(此处路径为你的anacod安装的虚拟环境Ayolo8位置)

2024-06-18 11:24:29 4806 1

原创 VScode+YOLOv8+深度相机D435i实现物体追踪

这里当人或者物体移动的时候,相应的识别框和标识也会跟着动。此外,如果采用了-Pose还可以识别人的姿态。D435i相机+VScode+YOLOv8视频识别追踪。通过导入相关的检测模型后,就可以实现物体追踪与识别。

2024-06-12 20:46:23 1435

原创 Anacode+YOLO识别图片

因为我原本是已经安装了python,后面直接卸载了,然后安装了最新版的anacoda下载网址为:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror下载版本是:按照安装教程直接安装即可:史上最全最详细的Anaconda安装教程-CSDN博客创建完成后显示的内容命令行输入该代码,如果无报错,表示虚拟环境创建成功(ultralytics是一个功能强大且易于使用的YOLO实现,适用于需要在计算机视觉任务中进行目标

2024-06-03 10:45:24 649

原创 如何使用vsCode打开intel D435i深度相机

命令行输入:pip install D:\安装文件夹\pyrealsense2-2.55.1.6486-cp311-cp311-win_amd64.whl 即可实现pyrealsense文件本地安装。3)在系统变量里面,单击path,添加环境变量:C:\Program Files (x86)\Intel RealSense SDK 2.0\bin\x64。打开cmd命令提示符窗口,输入pip install opencv-python,即可实现openCV的自动安装。2)选择高级,选择环境变量。

2024-06-01 16:33:17 2024 2

原创 matlab串口数据交互的使用

输出结果。

2024-01-15 00:02:51 1058

原创 arduino串口输入数据转16进制

这个找了好多资料,试了好多次,终于可以了,小小记录一下~

2024-01-10 17:06:41 2608

原创 计算直线在平面上的投影

参考:第八章 向量代数与空间解析几何——第四讲(空间直线) - 知乎 (zhihu.com)

2023-12-21 17:09:02 2480

原创 matlab的solve函数解方程组

上述函数中的第一变量为方程组,第二个为待求变量。其中eqn表示方程组的表达式,var表示变量。用于求解方程组或者方程的符号解。一、solve函数的用途。2.建立方程组再调用。

2023-12-21 14:27:34 11254

原创 机器人逆运动学求解——矢量积法计算雅可比矩阵

机器人学——雅可比矩阵的建立

2023-12-17 12:07:06 2960

原创 arduino实现RS485通信控制电机

Arduino实现RS485通信控制电机

2023-10-14 14:27:15 7308

原创 模糊控制理论总结

本文主要介绍了模糊理论基础与模糊控制系统及其设计方法

2023-09-11 15:53:21 4593

原创 Arduino控制电机转动,并读取编码器数据

Arduino之步进电机编码器脉冲数据读取

2023-08-02 18:05:56 6021

原创 关于matlab控制arduino板实现电机正反转控制

以下程序为驱动电机正反转,由于我的驱动器采用的是双脉冲模式,即PUL为顺时针旋转IO口,DIR为逆时针旋转IO口,所以正反转只需要对不同引脚进行脉冲输出即可。writePWMVoltage(a,'D3',4) %在数字引脚3上产生4V的PWM信号,一般arduino uno的电压为0-5V。2.writePWMDutyCycle() 在PWM引脚上产生具有指定电压的PWM信号。

2023-07-28 10:55:16 959 8

原创 Ardunio建立电机类控制步进电机转角与转向、转速

通过驱动细分,一般会有不同的细分结果,以下程序为200/转,表示每转对应200个脉冲。//一个脉冲转一个步长 总步数为200步/圈 循环一次实现一个脉冲 总计转三圈。//一个脉冲转一个步长 总步数为200步/圈 循环一次实现一个脉冲。#define STE 9// 脉冲位。

2023-07-27 12:35:16 4120

原创 Ardunio实现PWM舵机驱动

/将角度转化为500-2480的值 1980/180=11 1980是总脉宽变量 180是总角度 11是单位角度对应的脉冲量。//将舵机接口电平置高。//将舵机接口电平置低。//设定舵机接口为输出接口。//设置波特率为9600。//将0~9的数字转化为0~180 并让LED闪烁相应的次数。//设置舵机驱动口为数字3。//将数值转化成角度。//设置电机转角变量。

2023-07-19 16:57:46 664 3

原创 LED数字显示板单片机程序

如果要显示数字1,则需要b,c输入高电平,如果要显示数字3,则需要a,b,g,c,d输入高电平,根据这个原理,可以知道每个数字对应的a,b,c,d,e,f,g,h应该输入高电平还是低电平。2.再根据每个数字的a~h的引脚应该是高电平还是低电平,定义一个二维数组,每行对应一个数字中各引脚的电位,0代表低电位,1代表高电位。3.定义一个数字显示函数,输入为需要点亮的number,输出为空。即,a接数字口7,b接数字口6,具体如下代码。一、数字显示板(共阴极,即输入高电平点亮对应位置)的引脚与位置关系图如下。

2023-06-26 19:47:21 1197 1

STM32F103驱动小米电机程序源码

STM32驱动小米电机程序源码,包括详细的小米电机说明书指令函数和CAN收发程序

2024-10-31

OLED显示屏的STM32控制代码(带详细注释)

OLED显示屏的STM32控制代码(带详细注释)

2024-09-12

STM32的delay.h和delay.c文件

延迟用的系统文件

2024-08-26

STM32的相关库文件

这个资源是STM32的相关库文件

2024-08-26

STM32F103项目的start文件

STM32F103项目的start文件

2024-08-21

YOLO数据集分割为训练集和测试集的代码

YOLO数据集分割为训练集和测试集的代码

2024-06-28

Arduino之步进电机编码器脉冲数据读取

Arduino之步进电机编码器脉冲数据读取

2023-08-02

arduino类函数实现电机正反转、角度控制、速度控制

arduino类函数实现电机正反转、角度控制、速度控制

2023-08-01

空空如也

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

TA关注的人

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