找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 26683|回复: 12

请教,移动转向和移动槽的区别?

[复制链接]
发表于 2016-4-6 15:07:36 | 显示全部楼层 |阅读模式
请教各位,编程中双电机的移动转向和移动槽似乎没有什么区别???
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2017-3-9 10:46:46 | 显示全部楼层
在移动转向这个模块中有很多老师把转向值当作左右两个轮子的功率之差,这是不对的。
     我来解释一下,这里的转向值是转向度。0代表0度;50代表90度;100代表180度。即转向值1代表18度,
     设置的功率默认为右轮子的功率        为a。X是转向度(换算是1=18度) 可得公式:
     Y左=-a(X/45)/2+a
   
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 2 0

使用道具 举报

发表于 2016-4-6 19:29:45 | 显示全部楼层
移动转向模块带有闭环PID,当一边马达被卡主的时候,会加大能量,以保持特定比率的速度差,移动槽模块则没有,使用场景有区别,建议贴墙走的时候用移动槽模块,其他情况用移动转向模块。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 1 0

使用道具 举报

发表于 2016-4-6 19:59:03 | 显示全部楼层
糖伯虎 发表于 2016-4-6 19:29
移动转向模块带有闭环PID,当一边马达被卡主的时候,会加大能量,以保持特定比率的速度差,移动槽模块则没 ...

糖大的解释太精彩了。

一语中的,高!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-4-13 14:18:28 | 显示全部楼层
糖伯虎 发表于 2016-4-6 19:29
移动转向模块带有闭环PID,当一边马达被卡主的时候,会加大能量,以保持特定比率的速度差,移动槽模块则没 ...

前辈,能不能解释的通俗点,有点看不懂啊。闭环PID是什么意思?当一边马达被卡主的时候,会加大能量。。。这里的会加大能量是指被卡住的那个马达吗?为什么贴墙走用移动槽更好?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-4-13 14:19:26 | 显示全部楼层
糖伯虎 发表于 2016-4-6 19:29
移动转向模块带有闭环PID,当一边马达被卡主的时候,会加大能量,以保持特定比率的速度差,移动槽模块则没 ...

前辈,能不能解释的通俗点,有点看不懂啊。闭环PID是什么意思?当一边马达被卡主的时候,会加大能量。。。这里的会加大能量是指被卡住的那个马达吗?为什么贴墙走用移动槽更好?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2016-4-17 16:21:18 | 显示全部楼层
糖伯虎 发表于 2016-4-6 19:29
移动转向模块带有闭环PID,当一边马达被卡主的时候,会加大能量,以保持特定比率的速度差,移动槽模块则没 ...

谢谢前辈解读,我先自补下关键词的含义,不懂再问~

多谢~~
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2016-8-30 16:26:46 | 显示全部楼层
同问,当一边被卡住的时候好像一边功率反而变小
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-3-14 15:32:28 | 显示全部楼层
前来学习。。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-6-20 00:01:31 | 显示全部楼层
糖伯虎 发表于 2016-4-6 19:29
移动转向模块带有闭环PID,当一边马达被卡主的时候,会加大能量,以保持特定比率的速度差,移动槽模块则没 ...

糖大,请问,既然移动转向带有闭环PID,为何在贴墙走时不能使用移动转向模块、而是使用移动槽模块?
(贴墙走可能受外力卡住电机,所以我有时使用时间而不是角度)
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-6-20 20:32:43 | 显示全部楼层
xiezenji 发表于 2017-6-20 00:01
糖大,请问,既然移动转向带有闭环PID,为何在贴墙走时不能使用移动转向模块、而是使用移动槽模块?
( ...

因为贴墙走一般会采用一边速度大,一边速度小的方式,如果用移动转向模块,因为里面带有PID控制,一旦慢的那边出现了摩擦力过大的情况,可能会因为PID控制器的关系变得越来越靠墙(两边的速度差更大),甚至是车头撞上墙。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2019-3-31 15:48:01 | 显示全部楼层
糖伯虎 发表于 2017-6-20 20:32
因为贴墙走一般会采用一边速度大,一边速度小的方式,如果用一定转向模块,因为里面带有PID控制,一旦慢 ...

大神,赞
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2023-1-3 23:16:15 | 显示全部楼层
本帖最后由 yep 于 2023-1-4 00:05 编辑


如图 转向角度与功率之间关系:
横坐标为 转向角度(-100~100)
纵坐标为 功率变化(左右电机,目标功率为50)

由图可知
当转向角度为-100~0时:
    左电机功率变化为-50~50,右电机功率为恒定50
当转向角度为0~100时:
    左电功率为恒定50,右电机功率为50~-50

得到公式:
左电机功率 :
如果 转向角度为<0时  功率= 目标功率 × 100÷目标功率×2 + 50 否则 功率 = 目标功率
右电机功率:
如果  转向角度为>0时  功率= -1× 目标功率 × 100 ÷(目标功率 × 2)+ 50 否则 功率 = 目标功率

python lambda公式
  1. power_motor = lambda angle,power: (angle * (100/abs(power*2)) +  power,float(power)) if angle <= 0 else (float(power), -1*angle * (100/abs(power*2)) + power)
  2. left,right=power_motor(-10,-50)
  3. print(left,right)
复制代码


修改公式匹配 当功率为负现象。
  1. power_motor = lambda angle,power: (angle * (100/(power*2)) +  power,float(power)) if angle <= 0 else (float(power), -1*angle * (100/(power*2)) + power)
  2. left,right=power_motor(-10,-50)
  3. print(left,right)
复制代码


修改公式途中发现:
当机器人往那边转时,那边的车轮功率会变化:

由EV3 labview版本 调整转向可得
如图


把功率与转向值画一个坐标查看规律

可以得到再进行简单得推算就可以验算结果是否正确了。

但是算到最后,感觉自己算了个寂寞,并没有什么P用。

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-5-20 17:55 , Processed in 0.077295 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表