一般形式的S曲线公式推导

文章目录

  • 一、背景
  • 二、目标
  • 三、计算
    • 3.1 S曲线基本形式
    • 3.2 S曲线变换
    • 3.3 参数计算
    • 3.4 S曲线中心对称条件
  • 四、总结
  • 五、附件

一、背景

S曲线因具备良好可控的平滑性、单调性、连续可导性等优点,常作为各类电机升降速曲线。当前多数S曲线的介绍文章未给出推导过程,以及部分文章采用了截取S曲线的近似处理方式,导致不能直观的理解该曲线的相关性质。本文主要介绍S曲线变换的推导过程,以加深对该曲线的理解。

二、目标

① 计算经过任意不同两点的S曲线方程
② 可调节曲线平滑度
③ 可调节曲线对称度
④ 绘制其图像

三、计算

3.1 S曲线基本形式

在这里插入图片描述

3.2 S曲线变换

将基本形式的S曲线进行X,Y方向平移及比例变换过程如下:
第一步:进行X轴比例变换,比例系数为N(N≠0)
在这里插入图片描述
变换后S曲线方程为:
在这里插入图片描述
第二步:进行X轴平移变换,平移系数为A

在这里插入图片描述
变换后S曲线方程为:
在这里插入图片描述
第三步:进行Y轴比例变换,比例系数为K(K≠0)

在这里插入图片描述
变换后S曲线方程为:

在这里插入图片描述
第四步:进行Y轴平移变换,平移系数为B

在这里插入图片描述
变换后S曲线方程为:
在这里插入图片描述
最终得到S曲线变换之后函数关系式:
在这里插入图片描述
其中:
N-X轴方向比例变换系数
K-Y轴方向比例变换系数
A-X轴方向平移系数
B-Y轴方向平移系数

3.3 参数计算

要求变换之后的S曲线经过P1(X1,Y1),P2(X2,Y2)两点,可建立方程
在这里插入图片描述

在这里插入图片描述
方程有N,K,A,B四个未知数,需要给定2个参数由用户设定,此处选择N,A,则可求得K,B值为:

在这里插入图片描述
其中N值作为X轴方向比例变换系数,N>1时,S曲线X方向放大,N<1时,S曲线X方向缩小,可以将N值等效为S曲线的平滑度调节参数
其中A值X轴方向平移系数,A>0时,S曲线向X正方向平移,A<0时,S曲线向X负方向平移,可以将A值等效为S曲线的对称度调节参数

3.4 S曲线中心对称条件

当随意给定N,A值时,S曲线容易出现失真,如下图所示
在这里插入图片描述
为确保经过P1,P2两点的S曲线也为中心对称,则要求S曲线经过P1P2连线的中点P0(X0,Y0),如图所示
在这里插入图片描述
则可建立三个等式
在这里插入图片描述
N由用户设定,可求得A值
在这里插入图片描述

四、总结

通过上述计算,完成了目标中的4点要求。在不同的应用场景中,可以根据实际情况去对该S曲线进行灵活处理。S曲线代表的v-t图像中对其进行求导可以求得a-t关系,S曲线代表的轨迹图像中进行微积分处理可得到沿线长方向上的等分点。
该曲线不足之处在于应用过程中的计算量较大,在需要实时处理的场景当中会对设备的计算能力要求较高,例如在电机动态S曲线升降速的单片机应用场景中会有较大难度
在这里插入图片描述

五、附件

提供一个S曲线的演示程序DEMO
链接: https://download.csdn.net/download/LuDanTongXue/87682727

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目的总结

逻辑处理 首先对于版项目来说,工作多是一定的但是又可以看到自己的知识被应用和自己学的不是一无所用。 对于一个项目而言,逻辑是很重要的。理解一个项目的逻辑,我们才能去实施工作画流程图、用例图、原型图、e-r图等等模型 一开始对于一个项目、逻辑是十分混乱的,就需要解耦,把…

OpenCV基础之边缘检测与轮廓描绘

文章目录OpenCv基础之边缘检测与轮廓描绘Canny边缘检测图像轮廓绘制轮廓OpenCv基础之边缘检测与轮廓描绘 边缘检测&#xff1a;主要是通过一些手段检测数字图像中明暗变化剧烈&#xff08;即梯度变化比较大&#xff09;像素点&#xff0c;偏向于图像中像素点的变化。 轮廓检测…

VScode 自动格式化配置

按照自定义 c/c 格式配置自动格式化保存 1. 设置 快捷键&#xff1a;ctrl, 2. format 3.设置C/C格式化格式 参数 &#xff1a; { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Linux, AllowShortIfStatementsOnASingleLine: fals…

【启动图片与控制器大小的关系 Objective-C语言】

一、启动图片与控制器大小的关系 1.我首先呢,新建一个项目,把控制器的View设置成多大呢,设置成4.7英寸,这是按照我们iPhone6的大小来设置的吧, 2.控制器是4.7英寸,控制器里面这个View,占满整个屏幕,所以它也是4.7英寸大小吧,375667, 3.我在viewDidLoad里,输出一下…

Vite构建Vue3项目

目录1. 初始化2. 输入项目名称3. 选择vue4. 选择typescript5. 进入新建的项目6. 安装依赖7. 运行8. 安装路由9. 安装element-plus10. 安装自动导入组件插件11. 安装自动导入api插件12. 将./src变为13. 安装pinia1. 初始化 npm init vite2. 输入项目名称 vue3-ts 3. 选择vue 4…

存量市场之下,电商之战深入腹地且逻辑未变

纵然是在流量依然见顶的大背景下&#xff0c;电商行业的竞争并未结束。无论是以百亿补贴为代表的烧钱策略&#xff0c;还是以跨境出海为代表的规模策略&#xff0c;几乎都是这样一种现象的直接体现。种种迹象表明&#xff0c;未来的电商行业&#xff0c;依然会有新的战役发生。…

针对近日ChatGPT账号大批量封禁的理性分析

文 / 高扬 这两天不太平。 3月31号&#xff0c;不少技术圈的朋友和我闲聊说&#xff0c;ChatGPT账号不能注册了。 我不以为然&#xff0c;自己有一个号足够了&#xff0c;并不关注账号注册的事情。 后面又有不少朋友和我说ChatGPT账号全部不能注册了&#xff0c;因为老美要封锁…

软件测试今天你被内卷了吗?

认识一个人&#xff0c;大专学历非计算机专业的&#xff0c;是前几年环境好的时候入的行&#xff0c;那时候软件测试的要求真的很低&#xff0c;他那时好像是报了个班&#xff0c;然后入门的&#xff0c;但学的都是些基础&#xff0c;当时的他想的也简单&#xff0c;反正也能拿…

【LeetCode每日一题: 516. 最长回文子序列 | 暴力递归=>记忆化搜索=>动态规划 | 区间dp 】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

【华为OD机试】1035 - 判断两个IP是否属于同一子网

文章目录一、题目&#x1f538;题目描述&#x1f538;输入输出&#x1f538;样例1二、思路解析三、代码参考作者&#xff1a;KJ.JK&#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f…

MySQL库的操作

文章目录一、创建数据库1.语法2.使用案例二、字符集和校验规则1.查看系统默认字符集以及校验规则2.查看数据库支持的字符集3.查看数据库支持的字符集校验规则4.校验规则对数据库的影响三、操纵数据库1.查看数据库2.显示创建语句3.修改数据库4.删除数据库5.查看连接情况一、创建…

Linux进程间通信

“休息过长就会发霉。”--沃尔特司各特 在讲述完毕Linux中的基础IO之后&#xff0c;我们要来到Linux中很重要的一个模块&#xff0c;即进程间通信。 目录 1.引入 2.管道 2.1内容 2.2原理 2.3操作 2.3.1匿名管道的创建 2.3.2命名管道的创建 1.引入 进程间通信&#x…

计讯物联小型水库雨水情测报与大坝安全监测一体化解决方案,确保水库安全运行

方案背景 防洪治理工程是一项重大的民生工程&#xff0c;也是重大的生态工程。基于我国水灾频发的大背景下&#xff0c;小型水库作为防汛抗洪的重要基础设施&#xff0c;其雨水情测报与大坝安全监测是十分有必要的&#xff0c;不仅可为预防水灾、防汛决策提供大量可靠的数据和资…

SpringAMQP

什么是SpringAMQP 官方网址 官方文档https://spring.io/projects/spring-amqp Base Queue 简单队列模型 对于生产者 <!--AMQP依赖&#xff0c;包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boo…

实验6 TensorFlow基础

1. 实验目的 掌握TensorFlow低阶API&#xff0c;能够运用TensorFlow处理数据以及对数据进行运算。 2.实验内容 ①实现张量维度变换&#xff0c;部分采样等&#xff1b; ②实现张量加减乘除、幂指对数运算&#xff1b; ③利用TensorFlow对数据集进行处理。 3.实验过程 题目…

亚马逊测评只能下单上好评?卖家倾向养号测评还有这些骚操作

亚马逊测评这对于绝大部分亚马逊卖家来说都不陌生&#xff0c;如今的亚马逊市场也很多卖家都在用测评科技来打造爆款。不过很多对于亚马逊测评的认知只停留在简单的刷销量&#xff0c;上好评。殊不知亚马逊养号测评还有其它强大的骚操作。 亚马逊自养号测评哪些功能呢&#xf…

Drone+Gitea CICD环境搭建流程笔记

之前没有用过drone&#xff0c;现在公司有用到&#xff0c;看drone.yml配置文件有很多没搞清楚的地方&#xff0c;所以打算自己走一遍配置流程&#xff0c;理清一些概念&#xff0c;这里记下笔记。 为了方便&#xff0c;drone&#xff0c;gitea以及相关软件都是用docker的版本…

Git(四):远程仓库的搭建、获取与更新

目录 1、搭建远程仓库 1.1 github 创建 Repository 2、获取远程仓库 2.1 克隆现有的仓库 2.2 在现有目录中初始化仓库 3、更新提加到仓库 3.1 记录每次更新到仓库 3.2 检查当前文件状态 3.3 跟踪新文件 3.3.1 查看跟踪的文件 3.4 暂存已修改文件 3.5 状态简览 3.6…

redis基础总结-常用命令

redis常用指令3. 常用指令3.1 key 操作分析3.1.1 key应该设计哪些操作&#xff1f;3.1.2 key 基本操作3.1.3 key 扩展操作&#xff08;时效性控制&#xff09;3.1.4 key 扩展操作&#xff08;查询模式&#xff09;3.2 数据库指令3.2.1 key 的重复问题3.2.2 解决方案3.2.3 数据库…

初识C语言 ——“C Primer Plus”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是读一本好书&#xff0c;这一本书的名字就叫做《C Primer Plus》&#xff0c;那么&#xff0c;又回到了我们的初识C语言阶段啦&#xff0c;保证零基础都能看懂噢&#xff0c;下面&#xff0c;让我们进入C语言的…
最新文章