自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (6)
  • 收藏
  • 关注

原创 OpenCV库及在ROS中使用

依赖CMakeLists.txt添加。

2024-02-17 17:47:03 442

原创 PCL库学习及ROS使用

参考视频:https://space.bilibili.com/222855903。

2024-02-17 17:38:30 1022

原创 点云在ROS中的应用

可以看出图像与激光雷达时间戳大致对齐,小部分差异是由程序bag写入时的先后顺序导致的。官方概述:http://wiki.ros.org/message_filters。ros官网提供了message_filters用于对齐多种传感信息的时间戳。下载并安装libpcap-dev。就是需要录制的激光雷达数据。文件中的pacp文件目录。或者通过可视化界面录制。或者通过可视化界面查看。运行launch文件。

2024-02-04 10:49:21 841

原创 STM32CubeMX配置HAL库输入捕获

STM32的输入捕获功能可以用来测量脉冲宽度或者频率。其工作原理是,通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。

2023-12-22 19:06:54 662

原创 C++_Eigen库的使用

Eigen是一个C++开源线性代数库。它提供了快速的有关矩阵的线性代数运算和解方程等功能。许多上层的软件库也使用Eigen进行矩阵运算,包括g2o、Sophus等.

2023-12-13 16:28:53 604

原创 直流无刷电机原理

磁场会对位于其中的带电导体内运动的电荷载流子施加一个垂直于其运动方向的力,该力会使得正负电荷分别积聚到导体的两侧。电荷在导体两侧的积累会平衡磁场的影响,在导体两侧建立稳定的电势差。当转子从上一个磁场方向旋转到下一个磁场方向后,再改变通电方向。磁场旋转一圈,转子旋转一圈,但是此电机有四对磁极,所以磁场旋转四圈,转子旋转一圈。以一个磁极为例,逆时针旋转一圈,分别检测霍尔1、2、3的波形。💡如果磁场旋转太快,转子跟不上磁场,就会发生抖动。,可求出磁场方向,转子位置与之相反,如图。以霍尔1上升沿为例,左移如图。

2023-12-05 15:47:56 478

原创 数据类型及强制转换

数据类型及强制转换

2023-11-29 22:22:59 597

原创 Python读取modbus RTU协议

Python读取modbus RTU协议

2023-11-27 17:25:22 571

原创 控制实体小车cartographer建图

键盘控制小车cartographer算法建图

2023-11-20 19:02:18 226

原创 键盘控制ROS车运动

使用pyseria库与stm32单片机进行通信控制。

2023-11-20 16:49:58 769

原创 Yolov5-detect.py代码简化(便于移植)

Yolov5-detect.py代码简化(便于移植)

2023-11-01 19:39:10 537

原创 STM32使用PID调速

PID算法是一种闭环控制系统中常用的算法,它结合了比例(P)、积分(I)和微分(D)三个环节,以实现对系统的控制。它的目的是使控制系统的输出值尽可能接近预期的目标值。在PID算法中,控制器通过不断地测量实际输出值和目标值之间的误差,并使用比例、积分和微分部分的控制参数来调整控制系统的输出值。比例部分根据误差的大小进行控制,其输出与误差成正比。积分部分根据误差的历史累积值进行控制,其输出与误差积分的结果成正比。微分部分根据误差的变化率进行控制,其输出与误差变化率成正比。

2023-08-24 20:10:56 2114

原创 STM32CubeMx配置HAL库编码器测速

编码器是一种用来测量机械旋转或位移的传感器。它能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两类。编码器按照检测原理,可以分为光学式、磁式、感应式和电容式。而我们常见的是光电编码器(光学式)和霍尔编码器(磁式)下面主要以霍尔编码器的原理及应用为主。

2023-08-24 11:59:39 3243 4

原创 STM32CubeMx配置HAL库PWM

PWM(Pulse Width Modulation)是脉冲宽度调制的缩写,是一种利用微处理器的数字输出来对模拟电路进行控制的技术。PWM的原理是通过调节占空比来调节脉冲宽度,从而改变输出电压的大小。波形图如下PWM的两个重要参数为频率和占空比。频率是周期的导数即f1Tf=1/Tf1/T,占空比是指脉宽时间占周期的比例。STM32中用定时器来输出PWM,其原理图如下。

2023-08-22 11:14:06 919

原创 ROS与STM32通信(二)-pyserial

在功能包下新建文件夹为msg新建文件Imu.msg(首字母大写),输入以下内容添加依赖

2023-08-20 21:35:49 982 2

原创 ROS中使用RealSense-D435

Intel RealSense D435是Intel推出的一款结合RGB和深度摄像的立体视觉摄像头,具有以下主要特点:使用双摄像头和红外投射器实现立体视觉采集。提供频率可达90Hz的VGA分辨率(640x480)深度图像。具有2个720p RGB摄像头,提供1920x1080分辨率彩色视频流。使用全局快门同步RGB图像和深度图像。内置6轴IMU运动跟踪模块。支持近距离检测,最小检测距离约0.25米。提供硬件级图像流同步和时间戳。支持USB 3.0接口传输高速率图像流。

2023-07-29 19:32:00 3342 1

原创 ROS与STM32通信(一)-rosserial

rosserial是ROS中的一个重要模块,它实现了ROS通信协议与各类嵌入式硬件平台之间的桥接,大大简化了ROS在底层硬件上的移植和应用。rosserial通过消息序列化和常用串行通信接口,实现了ROS主机和嵌入式客户端之间的消息交互,为各种嵌入式平台提供了C++和Python的ROS客户端库,使得在这些硬件上也能方便地使用ROS的通信架构来进行节点管理、话题通信和服务调用。rosserial还支持动态主题和服务,以较小的代码占用实现ROS功能,具有很强的可移植性。出现以下内容则表示运行正常。

2023-07-27 16:58:37 2694

原创 ROS中使用Kinect v2

Kinect v2是微软公司推出的第二代Kinect,也称为Kinect for Xbox One或Kinect for Windows v2。它是Kinect系列产品的升级版本,于2013年首次发布。Kinect v2采用了一系列先进的传感器和技术,使其能够实现高度准确的人体识别和动作追踪,以及强大的深度感知功能。Kinect v2配备了一台深度传感器,能够实时获取场景中的深度信息。通过红外光和红外相机,Kinect v2能够对物体进行高精度的深度感知,实现人体骨架追踪、手势识别等功能。

2023-07-24 16:59:39 773

原创 ROS-驱动摄像头

不断的将标定板前后左右上下方向平移以及旋转和扭转,使X,Y,Size,Skew变成绿色,即可结束标定。点击CALLBRATE计算,等待几分钟计算完成。从网上下载标定版打印出来,固定在硬纸板上。如果使用笔记本自带的摄像头可跳过此步骤。修改video_device设备号即可。

2023-07-24 16:58:50 483

原创 ROS-Moveit机械臂追踪二维码(四)

ROS-Moveit机械臂追踪二维码(四)在仿真环境增加相机<gazebo reference="camera_depth_frame"> <sensor name="camera1" type="depth"> <always_on>true</always_on> <update_rate>20.0</update_rate> <camera> <ho

2023-07-22 17:13:45 317

原创 ROS-Moveit使用程序控制机械臂轨迹规划(三)

在工作空间/src目录新建功能包添加依赖rospy新建文件夹scripts在scripts文件夹中新建然后在scripts中打开终端添加权限更改。

2023-07-12 15:58:56 1130

原创 ROS-Moveit-ABORTED CONTROL_FAILED

具体表现在,在rviz的moveit界面机械臂会出现轨迹虚影,而Gazebo中却不执行,即规划成功,运动失败。当我使用python程序控制机械臂作笛卡尔空间运动时,让其轨迹在空间中画一个正方形,具体程序如下。解决方案就是把waypoints中的第一个点删除,即注释掉下面这条语句。

2023-07-08 10:39:46 686 5

原创 ROS-Moveit和Gazebo联合仿真(二)

ROS中Moveit与Gazebo联合仿真

2023-07-07 18:22:14 369 3

原创 ROS-Moveit!配置(一)

ROS noetic Moveit配置

2023-07-07 17:06:59 1006

原创 STM32HAL库RS485-ModBus协议控制伺服电机

一个月前,接手了一个学长的毕设小车,小车采用rs485通信的modbus协议驱动轮毂电机,与往常我学习的pwm控制电机方法大相径庭,在这里以这篇博客记录下该学习过程。

2023-05-27 18:52:34 6748 9

原创 OpenMV初体验

也可以通过blob[8]来获取。blob.cx() 返回色块的外框的中心x坐标(int),也可以通过blob[5]来获取。blob.cy() 返回色块的外框的中心y坐标(int),也可以通过blob[6]来获取。blob.x() 返回色块的外框的x坐标(int),也可以通过blob[0]来获取。blob.y() 返回色块的外框的y坐标(int),也可以通过blob[1]来获取。blob.w() 返回色块的外框的宽度w(int),也可以通过blob[2]来获取。360°,也可以通过blob[7]来获取。

2023-04-16 10:33:05 461

原创 Python实现图像的平移、镜像、旋转(不调用CV自身函数)

不调用python的opencv函数的情况下,实现图像的旋转、平移与镜像

2023-04-08 17:52:25 2180

原创 STM32使用OLED移植U8g2库

System Core->RCC->HSE->Crystal/Ceramic ResonatorSystem Core->SYS->Debug->Serial WireConnectivity->I2C1->I2C->I2C I2C Speed Mode 为 Fast ModeOLED使用I2C通信,不使用GPIO模拟I2C了设置时钟树为72MHzGenerate CodeU8g2Github地址: https://github.com/olikraus/u8g2克隆到本地主要用到U8g2库的文件夹

2023-04-05 22:37:00 864

原创 Ubuntu添加桌面图标快捷方式

Ubuntu不像是windows,启动程序会有桌面快捷方式,需要cd到软件根目录下,启动运行脚本,这显得非常繁琐。本文以CLion为例子,创建CLion的桌面图标。

2023-04-05 21:25:35 1275

原创 STM32HAL库驱动MPU6050

这里使用PB6/PB7分别作为IIC1的SCL时钟线/SDA数据线,可以分别设置Label SCL和SDA。

2023-04-04 21:56:00 1209

原创 Git基础命令

Git基础命令

2023-04-04 20:51:07 41

原创 Solidworks小车模型转urdf文件

solidworks模型转urdf文件

2023-04-01 18:00:54 810

原创 ROS2显示urdf模型中No transform from [XX_Link] to [base_link]

该错误中关节joint为fixed可以正常显示,而其他joint为cotinuous,都显示无法关联到base_link,当我尝试把所有joint改为fixed时可以显示正常,但这并不是正确的解决办法。

2023-03-31 22:29:04 1175 1

原创 ROS2编译自定义msg消息错误

ROS2编译自定义msg消息错误

2023-03-30 12:06:13 1114 5

原创 Ubuntu/Vim/Vscode常用命令

安装安装.deb文件卸载。

2023-03-30 11:10:58 171

原创 Clion编译STM32解决FLASH溢出问题

去掉后面的test.h和test.c文件及路径。

2023-03-29 19:49:04 693

原创 Ubuntu22.04安装ROS2

检查是否支持UTF-8编码locale。

2023-03-25 22:08:53 159

原创 Linux双系统的安装

镜像下载地址:https://cn.ubuntu.com/download/desktop。然后在安装启动引导器的设备,换成efi的设备地址,安装即可。重启电脑,在电脑未进入Logo前,按F2进入BIOS界面。选则要分区的磁盘->压缩卷选为40000M(40G)然后选则没有windows的选项,进入U盘启动。在空闲的40000多M就是刚才自己的磁盘分区。安装步骤只在安装类型处,选择其他选项。然后就会获得一个ubuntu界面。重启在未进入Logo前按F12。右击磁盘0->属性->卷。然后设置用户名和密码。

2023-03-25 18:47:06 1055

原创 U盘写保护

用win32烧录Ubuntu镜像时,显示U盘具有写保护。输入cmd,进入dos界面。

2023-03-25 18:46:25 470 1

原创 C++项目通讯管理系统

C++项目通讯管理系统

2022-10-25 16:58:17 452

STM32-RS485-Modbus

STM32的HAL库通过RS485通信,协议为Modbus RTU控制中菱轮毂电机ZLAC8015D ,环境编译为Clion

2023-09-01

stm32f103c8t6-rosserial

基于STM32F103c8t6的HAL库运行rosserial节点,实现ros与stm32之间通信

2023-07-27

STM32HAL库OLED移植U8g2库

STM32HAL库开发移植U8g2库,编译软件为CLion,OLED为IIC通信

2023-04-04

STM32HAL库MPU6050

使用STM32Cubemx生成的HAL库,编译软件为CLion,硬件为MPU6050,输出为虚拟串口

2023-04-04

CLion编写C++职工管理系统

文件中有C++源文件与头文件,exe可执行文件和CMakeList.txt

2022-12-17

PyQt5+yolov5+unet+centernet

集yolov5、centernet、unet算法的pyqt5界面,可实现图片目标检测和语义分割

2022-08-27

MQTT-STM32通信(HAL库)

使用HAL库ESP-01s模块实现stm32与MQTT服务器之间的通信,stm32发布MQTT订阅可以传输传感器信息,MQTT发布STM32订阅可以控制LED等

2022-07-30

STM32虚拟串口和OLED输出DHT11、BH1750(HAL库)

硬件为stm32f103c8t6,程序使用CLion作为STM32的编译环境,使用HAL库编写,具体功能为驱动DHT11温湿度传感器和BH1750光照度传感器,实现虚拟串口输出(VCP)和OLED(IIC通信)显示。

2022-07-25

基于stm32蓝牙遥控小车.zip

STM32蓝牙遥控小车

2021-10-14

stm32-4x4矩阵键盘.zip

基于stm32的4x4矩阵键盘

2021-09-05

OLED+超声波.zip

基于stm32标准库的OLED+超声波

2021-09-04

步进电机28BYJ-48.zip

基于stm32的步进电机28BYJ-48

2021-09-04

空空如也

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

TA关注的人

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