查看: 0|回复: 0

AGV在加速、最大速度和减速时功耗可变

[复制链接]

主题

0

回帖

950

积分

超级版主

积分
950
发表于 2024-7-22 16:48:29 | 显示全部楼层 |阅读模式
[color=#333333][font=&quot]当我们使用AGV.[/font][/color][color=#333333][font=&quot]ampHours[/font][/color][color=#333333][font=&quot]来获取电池中剩余的 ampHours时[/font][/color][color=#333333][font=&quot],[/font][/color][color=#333333][font=&quot]无论AGV是加速/以最大速度行驶/减速,它似乎都使用相同的功率。有没有办法对它们中的每一个使用可变功耗?[/font][/color][font=open sans, helvetica neue, Helvetica, Arial, sans-serif][color=#333333]
[/color][/font]
[align=left][color=rgb(51, 51, 51)][font=&quot]若使用自定义默认的AGV电池系统将会很困难。一般建议使用一个单独的跟踪变量标签(“动力学”类型)来表示电池,这样您可以完全控制它。[/font][/color][/align][align=left][color=rgb(51, 51, 51)][font=&quot]然后,您可以在 AGV 每次分配新控制点时解析运动学(因为运动学将在该点更新),并根据运动学的时间规划变量的速率变化。[/font][/color][/align][align=left][color=rgb(51, 51, 51)][font=&quot]您可以迭代 AGV 的运动学,直到根据运动学的开始和结束时间找到当前处于活动状态的运动学。[/font][/color][/align][align=left][color=rgb(51, 51, 51)][font=&quot]然后,您可以进一步将当前模型时间与 AGV 在该运动学中加速所花费的时间跨度进行比较。如果您发现 AGV 当前正在加速,您也可以从运动学中获取使用的加速度值。[/font][/color][/align][align=left][color=rgb(51, 51, 51)][font=&quot]您可以在工艺流程(PF)中,使用自定义逻辑,添加以下代码实现:[/font][/color][/align][list=1]
[*][color=#0088]double[/color][color=#000] curAccel [/color][color=#66660]=[/color][color=#000] [/color][color=#06666]0[/color][color=#66660];[/color]
[*][color=#66066]Object[/color][color=#000] agvObj [/color][color=#66660]=[/color][color=#000] [/color][color=#66066]Model[/color][color=#66660].[/color][color=#000]find[/color][color=#66660]([/color][color=#0880]"TaskExecuter1"[/color][color=#66660]);[/color][color=#000]  [/color][color=#8800]// As an example[/color]
[*][color=#000]AGV agv [/color][color=#66660]=[/color][color=#000] AGV[/color][color=#66660]([/color][color=#000]agvObj[/color][color=#66660]);[/color]
[*][color=#000]treenode kinematics [/color][color=#66660]=[/color][color=#000] agv[/color][color=#66660].[/color][color=#000]kinematics[/color][color=#66660];[/color]
[*][color=#000] [/color]
[*][color=#0088]int[/color][color=#000] rank [/color][color=#66660]=[/color][color=#000] [/color][color=#06666]1[/color][color=#66660];[/color]
[*][color=#0088]int[/color][color=#000] numKinematics [/color][color=#66660]=[/color][color=#000] getkinematics[/color][color=#66660]([/color][color=#000]kinematics[/color][color=#66660],[/color][color=#000] KINEMATIC_NR[/color][color=#66660]);[/color]
[*][color=#0088]while[/color][color=#66660]([/color][color=#000]rank [/color][color=#66660]<=[/color][color=#000] numKinematics[/color][color=#66660])[/color]
[*][color=#66660]{[/color]
[*][color=#000]    [/color][color=#0088]double[/color][color=#000] kinEndTime [/color][color=#66660]=[/color][color=#000] getkinematics[/color][color=#66660]([/color][color=#000]kinematics[/color][color=#66660],[/color][color=#000] KINEMATIC_ENDTIME[/color][color=#66660],[/color][color=#000] rank[/color][color=#66660]);[/color]
[*][color=#000]    [/color][color=#0088]double[/color][color=#000] kinStartTime [/color][color=#66660]=[/color][color=#000] getkinematics[/color][color=#66660]([/color][color=#000]kinematics[/color][color=#66660],[/color][color=#000] KINEMATIC_STARTTIME[/color][color=#66660],[/color][color=#000] rank[/color][color=#66660]);[/color]
[*][color=#000]    [/color][color=#0088]if[/color][color=#66660]([/color][color=#000]kinEndTime [/color][color=#66660]>=[/color][color=#000] [/color][color=#66066]Model[/color][color=#66660].[/color][color=#000]time [/color][color=#66660]&&[/color][color=#000] kinStartTime [/color][color=#66660]<=[/color][color=#000] [/color][color=#66066]Model[/color][color=#66660].[/color][color=#000]time[/color][color=#66660])[/color]
[*][color=#000]    [/color][color=#66660]{[/color]
[*][color=#000]        [/color][color=#0088]double[/color][color=#000] accTime1 [/color][color=#66660]=[/color][color=#000] getkinematics[/color][color=#66660]([/color][color=#000]kinematics[/color][color=#66660],[/color][color=#000] KINEMATIC_ACC1TIME[/color][color=#66660],[/color][color=#000] rank[/color][color=#66660]);[/color]
[*][color=#000]        [/color][color=#0088]if[/color][color=#66660]([/color][color=#66066]Model[/color][color=#66660].[/color][color=#000]time [/color][color=#66660]<[/color][color=#000] kinStartTime [/color][color=#66660]+[/color][color=#000] accTime1[/color][color=#66660])[/color]
[*][color=#000]        [/color][color=#66660]{[/color]
[*][color=#000]            curAccel [/color][color=#66660]=[/color][color=#000] getkinematics[/color][color=#66660]([/color][color=#000]kinematics[/color][color=#66660],[/color][color=#000] KINEMATIC_ACC1[/color][color=#66660],[/color][color=#000] rank[/color][color=#66660]);[/color]
[*][color=#000]            [/color][color=#0088]break[/color][color=#66660];[/color]
[*][color=#000]        [/color][color=#66660]}[/color]
[*][color=#000]        [/color][color=#0088]double[/color][color=#000] accTime2 [/color][color=#66660]=[/color][color=#000] getkinematics[/color][color=#66660]([/color][color=#000]kinematics[/color][color=#66660],[/color][color=#000] KINEMATIC_ACC2TIME[/color][color=#66660],[/color][color=#000] rank[/color][color=#66660]);[/color]
[*][color=#000]        [/color][color=#0088]if[/color][color=#66660]([/color][color=#66066]Model[/color][color=#66660].[/color][color=#000]time [/color][color=#66660]>[/color][color=#000] kinEndTime [/color][color=#66660]-[/color][color=#000] accTime2[/color][color=#66660])[/color]
[*][color=#000]        [/color][color=#66660]{[/color]
[*][color=#000]            curAccel [/color][color=#66660]=[/color][color=#000] getkinematics[/color][color=#66660]([/color][color=#000]kinematics[/color][color=#66660],[/color][color=#000] KINEMATIC_ACC2[/color][color=#66660],[/color][color=#000] rank[/color][color=#66660]);[/color]
[*][color=#000]            [/color][color=#0088]break[/color][color=#66660];[/color]
[*][color=#000]        [/color][color=#66660]}[/color]
[*][color=#000]    [/color][color=#66660]}[/color]
[*][color=#000]    rank[/color][color=#66660]++;[/color]
[*][color=#66660]}[/color]
[*][color=#0088]return[/color][color=#000] curAccel[/color][color=#66660];[/color]
[/list]

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|京ICP备14043114号-2

在本版发帖
关注公众号
QQ客服返回顶部