- 博客(64)
- 资源 (56)
- 收藏
- 关注
原创 电池预测算法
无人机飞行过程中,需要对电池电量进行监测,如果电量不能支持达到目标位置,需要及时返航,或者去附近的充电桩充电。现在要根据历史数据,设计一套算法或想法,给出当前电池电量百分比为。目前无人机可以直接使用的矩阵数据是:电池使用次数。电池会随着使用次数衰减。,起飞时的电量百分比。, 降落时的电量百分比。时,还可以飞行的距离。
2025-02-13 17:26:02
137
原创 STM32的CAN波特率计算
例如STM32F407的,CAN1和CAN2都在在APB1下,频率是42000000。频率 / (BRP分频器 + 1)/ (SWJ + BS1 + BS2)
2024-11-27 12:27:53
978
原创 服务器中要让 C++ 程序退出后自动重新运行
简单循环重启:使用 Shell 脚本。系统级守护:使用systemd,适合在 Linux 服务器中长期运行服务。定时任务:使用cron定期检查程序状态。自我重启:程序内嵌重启逻辑。
2024-10-09 09:58:13
823
1
原创 FOC如果想控制的好,PID参数需要动态调节
在FOC(磁场定向控制)系统中,是提升控制性能的一个重要手段。由于电机的工作条件(如负载、转速、温度等)会变化,固定的PID参数在不同工况下可能无法提供最佳的控制性能。因此,动态调节PID参数能够帮助FOC系统适应不同的运行状态,从而实现更好的控制效果。
2024-09-17 10:39:35
1716
原创 ESP32发送Beacon帧
/ 定义自定义Beacon帧0x80, 0x00, // 帧控制字段(Frame Control)0x00, 0x00, // 持续时间(Duration)0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // 广播地址(Broadcast Address)0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, // 源地址(Source Address)0x00, 0x00, // 序列控制字段0x00, 0x00, // 时间戳。
2024-09-13 09:45:54
1249
1
原创 树莓派4配置成PWM输出
树莓派4(Raspberry Pi 4)具有多个GPIO引脚,其中一些可以配置成PWM输出。PWM(脉冲宽度调制)允许你生成模拟信号,通常用于控制电机、LED亮度、舵机等设备。请注意,以上列出的是硬件PWM引脚,它们使用树莓派4上的PWM模块进行PWM信号生成。此外,你还可以使用软件PWM库(例如 WiringPi 库)将其他GPIO引脚配置为PWM输出,但软件PWM的精度和性能可能会受到一些限制。
2024-09-13 09:41:27
586
原创 分压电阻方式的ADC电压校准
如果把R当做未知量,直接通过电压表测量获得输入电压VCC,就可以计算出R来,因为Vadc是知道的定值,与ADC采样值相对应。当电路确定时,R4/(R3+R4)是一个定值R,而这个R,我们如果通过它们的阻值运算来确定,最终结果会有一定的误差。具体做法是:让你用万用表测量一下电池两端的电压,然后输入到文本框中,电机计算能重新计算出电压分压器的值,从而获得电池电压值。其中Vbus为电表测量的电源电压,Vcc为单片机的ADC基准电压,ADCresolution为分辨率(12位为4096)。
2024-08-01 11:24:48
1116
原创 LINUX固定USB设备名称
这样,无论设备连接到系统时分配的设备文件名是什么,都可以通过这个符号链接来引用它。在Linux系统中,USB串口设备的名称通常是根据设备连接的顺序动态分配的。你需要找到与你的USB串口设备相关的信息,比如厂商ID(Vendor ID)和产品ID(Product ID)。这样,无论USB串口设备连接到系统时分配的设备文件名是什么,你都可以通过固定的符号链接来引用它。在这个例子中,当具有指定厂商ID和产品ID的USB串口设备连接到系统时,会创建一个名为。:通常,USB串口设备具有唯一的标识符,可以通过。
2024-04-22 21:06:54
947
1
原创 在ROS 2中发布nav_msgs/Odometry(里程计)消息
在ROS中,TF是一种用于跟踪和广播坐标系变换的机制,它允许多个节点之间共享坐标系信息。在机器人控制中,TF通常用于描述不同坐标系之间的关系,如机器人基座坐标系(base_link)相对于全局坐标系(odom)的变换。发布的TF消息,可以被其他ROS节点监听和使用,以获取机器人在全局坐标系中的准确位置和方向信息。这对于在ROS系统中实现机器人导航和感知非常重要。用于发布机器人的里程计信息,即机器人在全局坐标系中的位置和方向变换。具体来说,它发布了一个。消息,描述了机器人的当前位姿。
2024-01-03 14:48:38
3427
2
原创 VScode安装C/C++编译器步骤
完成后,确保选中“立即运行 MSYS2”框,然后选择“完成”。这将为您打开一个 MSYS2 终端窗口。下载后进入到VScode文件夹下,点击msys2-x86_64-20231026.exe进行安装。组中默认的包数,当系统提示是否继续安装时,请输入 '打开一个terminal,测试一下安装是否成功。出现上面版本提示,说明安装成功。按 Enter 键接受。
2023-12-21 11:02:59
1271
原创 Linux设备与STM32 USB串口通讯
好的,你的STM32设备已经被识别为一个USB ACM(Abstract Control Model)设备,对应的串口设备文件是。等终端工具,或者通过编程语言(如C语言)来与STM32进行通信。这是一种常见的在Linux系统上与STM32通信的方式。这个设备文件进行串口通信。以下是一个简单的C语言代码示例,用于打开。保证STM32 USB串口虚拟成功。
2023-12-04 16:50:02
2472
原创 Qt实现将字节数组以hex形式显示到文本框的方法
综合来看,如果你更偏向使用Qt的功能,并且性能要求不是非常严格,第一种方法可能更适合。如果你更喜欢使用标准C库函数,并且对性能有更高的要求,第二种方法可能更合适。在任何情况下,都要小心缓冲区溢出问题,并确保代码的可读性和可维护性。
2023-11-15 08:52:19
831
原创 STM32 BootLoader设置
2 . 编写程序,接收应用程序的BIN文件,通过FLASH WRITE函数写入到目标扇区3. 跳转到应用程序。
2023-10-14 14:47:51
859
原创 特征值,特征向量,SVD分解,PCD分解
对于n阶方阵A,在A张成的空间里,存在非零向量v, 该向量转换到A张成的空间时,方向不变,大小变为λ倍。① Av = λv变换一下:对于A向量,特征向量存在非零解的充要条件是下面的行列式值为0:计算出特征值λ。λ可能有多个值,分别将每个值代入公式②,计算向量v,v是个表达式,也就是可以是多个向量。向量v只会被伸缩而不会改变方向。代入任意一个值,得到一个特征值λ的特征向量v。
2023-09-04 16:42:16
430
原创 Ubuntu22.04系统ROS2开机自启动
参考上面两个文章创建rc.service,并放入/usr/lib/systemd/system/目录下具体指令写在rc.sh中,这里脚本内的其实就是在终端命令行中运行的命令!!!根据实际情况修改即可。
2023-07-12 16:04:58
1962
原创 树莓派4BUbuntu系统的串口UART配置
重启后,遇到权限问题,由于tty属于"dialout"组别,将用户加入该组别即可。如果没有更换pip源会报错,所以指定安装源。
2023-07-12 09:51:38
1481
1
原创 SHH登陆
ssh-copy-id : 无法将“ssh-copy-id”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。编辑/.ssh/config文件。
2023-05-13 09:11:28
506
原创 解决socket service端口占用问题
这样,即使上一个服务还没有完全关闭,也可以在相同端口上启动另一个服务。在创建socket service后加入如下设置。
2023-04-06 18:48:11
1110
原创 OpenCV双目视觉测距
4.计算基础矩阵:使用这些特征点计算基础矩阵,该矩阵可以用于估计两个相机之间的几何关系。2.捕获图像:使用两个相机捕获两个不同视角的图像。5.计算本质矩阵:使用相机内部参数和基础矩阵计算本质矩阵。请注意,这只是OpenCV测量两个相机之间距离的一种方法,还有其他方法可以使用,具体取决于您的具体应用场景和需求。6.计算位移矩阵:使用cv2.stereoRectify()函数来计算视差校正和投影矩阵,并从中提取位移矩阵。7.计算距离:最后,使用位移矩阵和三角剖分算法来计算两个摄像头之间的距离。
2023-04-04 19:53:02
2698
原创 Python的强制类型转换
模块提供了一些函数,可以将字节数组按照指定格式解析成为一个Python对象,这个Python对象包含了结构体中定义的各个字段的值。类定义结构体时,需要使用类似于C语言中的格式控制字符串来指定结构体中各个字段的类型和顺序。模块也提供了函数,可以将一个Python对象打包成为一个字节数组,这个字节数组的内容就是结构体中各个字段的二进制表示。模块进行打包和解包时,需要使用与所处理数据的实际类型相对应的格式控制字符串,否则可能会出现数据解析错误的问题。,该结构体包含一个2字节的整数和一个2字节的字符串。
2023-04-04 19:08:05
1346
原创 CUI_RTOS笔记(五):添加任务函数
添加任务函数 : u32 OS_AddFunction(TaskStr* task,osfun fun,u32 time,void* param)参数: task 任务指针,代表是哪根任务链条。 fun 添加的执行函数。 time time毫秒之后,该节点结束。再次执行到该链条时,会执行下一个节点函数。 param 传递给fun的参数返回值:新添...
2023-02-25 13:56:10
99
AD-PWM-STC20C52AD.rar
2021-03-27
跳频协议--nRF24LE1及nRF24LU1+的GAZELL跳频协议.rar
2020-08-16
华为面试题
2019-03-22
W25Q512数据手册
2024-05-12
cartographer论文英文版
2023-11-06
51程序电压表.zip
2021-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人