【SimpleFOC】SimpleFOC的运动规划器(Motion Planner)和梯形速度规划

news/2025/9/27 0:02:45/文章来源:https://www.cnblogs.com/FBsharl/p/19114585

SimpleFOC 在位置(角度)模式时,达到目标位置过程中,是默认开启平滑转动的效果的。

SimpleFOC 的平滑转动是通过运动规划器(Motion Planner)实现的,而不是瞬间跳到目标位置。

运动规划器的工作原理

1. 默认的梯形速度规划

// SimpleFOC 内部自动生成的平滑运动轨迹
void loop() {motor.loopFOC();          // 执行FOC控制motor.move(target_position); // 这里包含运动规划!
}

2. 运动规划参数配置

void setup() {// ... 其他初始化代码 ...// 配置运动规划器 - 实现平滑转动的关键!motor.PID_velocity.P = 0.2;    // 速度环P增益motor.PID_velocity.I = 2;      // 速度环I增益motor.LPF_velocity.Tf = 0.01;  // 速度滤波时间常数// 运动规划器参数motor.velocity_limit = 10.0;     // 最大速度 (rad/s)motor.acceleration_limit = 50.0; // 最大加速度 (rad/s²)motor.jerk_limit = 100.0;        // 加加速度限制 (rad/s³)
}

3. 平滑运动的三阶段

当执行 motor.move(6*_PI) 时:

阶段1:加速阶段

// 内部计算示例
current_velocity += acceleration * dt;  // 逐渐加速
current_position += current_velocity * dt;

阶段2:匀速阶段

// 保持最大允许速度
current_velocity = velocity_limit;

阶段3:减速阶段

// 逐渐减速到目标位置
float distance_to_target = target_position - current_position;
if (distance_to_target < braking_distance) {current_velocity -= acceleration * dt;  // 平滑减速
}

4. 可视化运动曲线

速度 (rad/s)▲│        *********│      **         **│    **             **│  **                 **│**                     **└─────────────────────────▶ 时间加速  匀速   减速

5. 自定义更平滑的运动

// 如果想要更平滑的运动,可以降低限制值
void setup() {// 更温和的运动参数motor.velocity_limit = 5.0;      // 降低最大速度motor.acceleration_limit = 10.0; // 降低加速度motor.jerk_limit = 20.0;         // 降低加加速度
}

6. 实时监控运动状态

void loop() {motor.loopFOC();motor.move(target_position);// 监控运动状态Serial.print("目标: ");Serial.print(target_position);Serial.print(" | 实际: ");Serial.print(motor.shaft_angle);Serial.print(" | 速度: ");Serial.println(motor.shaft_velocity);
}

对比:非平滑 vs 平滑

非平滑运动(直接设置位置)

  • 电机会剧烈启动/停止

  • 产生较大机械冲击

  • 可能丢失同步

平滑运动(使用运动规划)

  • 速度从0逐渐增加到最大值

  • 接近目标时平滑减速

  • 减少机械应力,运行更安静

这就是 SimpleFOC 实现"平滑转动"的核心机制!运动规划器确保了电机在任何目标位置变化时都能产生平滑的速度曲线。

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

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

相关文章

南昌企业做网站产品单页营销型网站模板

指系统能按某种顺序如&#xff08;P1&#xff0c;P2&#xff0c;...&#xff0c;Pn&#xff09;&#xff0c;来为每个进程分配所需要的资源&#xff0c;直至最大需求&#xff0c;使每个进程都可以顺序完成。若系统不存在这样一个安全序列&#xff0c;则称系统处于不安全状态。

深圳入户申请网站官网永春网站设计

如果你准备发NLP方向的论文&#xff0c;或准备从事科研工作或已在企业中担任NLP算法岗的工作。那么我真诚的向大家推荐&#xff0c;贪心学院《自然语言处理高阶研修班》&#xff0c;目前全网上应该找不到类似体系化的课程。课程精选了四大主题进行深入的剖析讲解&#xff0c;四…

网站建设的线框图叫什么dw网页制作教程视频简单第三期

前言 小羊近期已经将C语言初阶学习内容与铁汁们分享完成&#xff0c;接下来小羊会继续追更C语言进阶相关知识&#xff0c;小伙伴们坐好板凳&#xff0c;拿起笔开始上课啦~ 一、数据类型的介绍 我们目前已经学了基本的内置类型&#xff1a; char //字符数据类型 short …

Day22多态详解

多态是面向对象的重要特性,在java中表现为父类引用指向子类对象 Father f1 = new Son(); 多态是方法的多态,与属性无关 父类与子类之间需要有联系,否则类型转换异常,即ClassCastException 多态的存在条件是两个类之…

rad/s RPM之间的换算

SimpleFOC中,经常用到如下代码motor.velocity_limit = 1.0; // 限制最大速度其中 ,velocity_limit单位为 rad/s, 其与 rpm换算关系是什么呢?// 速度单位换算参考: // 1 rad/s = 9.55 RPM // 2 rad/s ≈ 19 RPM //…

四川建设行业数据共享平台网站问题旅游网页设计论文5000字

接地作为一种应用最为广泛的电气安全措施&#xff0c;是指电力系统和电气装置的中性点、电气设备的外露导电部分和装置外导电部分经由导体与大地相连。接地的作用主要是防止人身遭受电击、设备和线路遭受损坏、预防火灾和防止雷击、防止静电损害和保障电力系统正常运行。按其功…

怎么在一起做网站上拿货湖南网站备案要多少天

1、互联网安全现状 随着网络世界的高速发展&#xff0c;各行业数字化转型也在如火如荼的进行。但由于TCP/IP网络底层的安全性缺陷&#xff0c;钓鱼网站、木马程序、DDoS攻击等层出不穷的恶意攻击和高危漏洞正随时入侵企业的网络&#xff0c;如何保障网络安全成为网络建设中的刚…

再见Playwright!谷歌官方Chrome DevTools MCP正式发布,AI编程效率再翻倍

在使用 AI 编程过程中,想让 AI 帮忙写一个前端页面,他哐哐哐写一大堆,结果一运行不是样式错乱,就是控制台报错。这个时候你把截图发给 AI,它道个歉,然后再给你生成一版错误的代码。 因为 AI它并不知道自己写的代…

网站怎样做优惠卷做美食下载什么网站

大家好我是苏麟 , 今天聊聊优先队列 . 优先队列 我们了解优先队列之前先说说队列 . 队列的特点是什么&#xff1f; 队列的特点是先进先出&#xff08;FIFO&#xff09;。 入队列&#xff0c;将新元素置于队尾&#xff1a; 出队列&#xff0c;队头元素最先被移出&#xff1a…

程序源代码下载网站wordpress 主题汉化包

LeetCode刷题 | Day 4 分割等和子集(Partition Equal Subset Sum)自底向上动态规划 文章目录 LeetCode刷题 | Day 4 分割等和子集(Partition Equal Subset Sum)自底向上动态规划前言一、题目概述二、解题方法2.1 一维表格的自底向上动态规划2.1.1 思路讲解2.1.2 伪代码 + 逐…

外贸网站高端定做中卫网站制作公司报价

从零设计四位栈处理器&#xff08;2&#xff09;——结构与指令集一句话概括&#xff1a; 在Toxic处理器中&#xff0c;万物皆栈。熟悉汇编语言的同学会了解&#xff0c;一般的汇编语言&#xff0c;会包含以下几个部分&#xff1a;寄存器地址立即数操作码在这期文章中&#xff…

Markdown 之——清单の语法

清单 您可以将项目组织成有序和无序列表。 有序列表 要创建有序列表,请在订单项中添加数字和句点。数字不必按数字顺序排列,但列表应以数字开头。Markdown HTML 渲染输出1. First item2. Second item3. Third item4.…

“计算理论之美”课程笔记一:概率

介绍:\(k-sat\) \(k-sat\) 问题:输入一系列条件,每个子句得到 恰好 \(k\)个子条件,对于每个条件,至少有一个子条件必须得到满足。每个子条件都要求你使一个特定的布尔值为真或为假。判断在 \(n\) 个布尔变量下,所…

“计算理论之美”课程笔记四:高维空间组合优化

高维空间的问题 高维空间点集直径 一维直径 在一位空间上的直径是很好求得的,因为我们只要找到所有点中的 \(\min\) 和 \(\max\),就可以 \(O(n)\) 的求得精确解。并且空间复杂度是 \(O(1)\) 的(我们只要存储历史最大…

git分支从dev迁移到maser

1:切换到master分支 2:执行到chery-pick -n (change id) 3:需要按照最早执行的顺序,从早到后执行,然后处理冲突

网站制作百度资源延安网站建设报价

关于OpenStack的争议,从未停止&#xff0c;每每关于它的消息&#xff0c;都会一石激起千层浪。今天就让我们看看关于OpenStack的问答吧。1Q : OpenStack服务介绍A : MySQL为各个服务器提供数据存储RabbitMq:为各个服务之间提供通信认证和服务注册Keystone&#xff1a;为各个服务…

2025.9.26总结

今天继续看苍穹外卖,简单的增删改查中,出了一个阿里云oss云存储,将图片,视频存的云端中,领了30天试用。 不过目前我没觉得和存在本地有啥差别

毕设做音乐网站架设个人网站

霍夫变换 霍夫变换只能灰度图&#xff0c;彩色图会报错 lines cv2.HoughLinesP(edge_img,1,np.pi/180,15,minLineLength40,maxLineGap20) 参数1&#xff1a;要检测的图片矩阵参数2&#xff1a;距离r的精度&#xff0c;值越大&#xff0c;考虑越多的线参数3&#xff1a;距离…

4gl

4gl4gl.....编程语言 sql工程

邮箱官方网站注册做seo的网站

文章目录 引言一、快速入门1.1 OSHI的简介1.2 引入依赖1.3 涉及的包&#xff08;package&#xff09;1.4 涉及的核心类 二、操作系统信息&#xff1a;OperatingSystem2.1 总揽2.2 文件系统信息&#xff1a;FileSystem2.3 网络参数信息&#xff1a;NetworkParams2.4 进程信息&am…