本帖最后由 丹顶鹤 于 2024-10-28 10:43 编辑
让我们荡起双桨 重温传唱几代人的经典《让我们荡起双桨》1955年的电影插曲_哔哩哔哩_bilibili “让我们荡起双桨,小船儿推开波浪,海面倒映着美丽的白塔,四周环绕着绿树红墙......”(图一) 幼年时期看过一部电影--《祖国花朵》。如今已愈半百,少先队员在北海白塔下泛舟高唱《让我们荡起双桨》的场景,至今仍会浮现在我脑海中。 划桨,是种情怀。 前些年,偶然看到了一个视频,电机驱动的机械划桨机构,瞬间激起了我的好奇,继而又激发了热情。(图二) 研究过程中发现,该划桨机构取自于80年代的一本日本模型杂志(也曾经刊登在《模型世界-遥控技术》2010年第三期)。它的缺点也很明显: 1、更多的偏重于机械部件,加工难度较大; 2、双侧桨没有微差速(下文讲述微差速的概念),只能单侧静止; 3、划桨轨迹和人类真实划桨动作轨迹区别很大(图三),效率低。 划桨效率其实和两点直接相关:桨片在水下持续有效做功的距离L,以及桨片以一定速度和轨迹相对于水和船体行进方向的有效矢量速度V1。如图所示,人类划桨动作较上图的机械划桨动作更具效率。假设划桨速度相同,两者均在水平面下的最低点瞬间实现最大效率,而入水的一刹那,机械划桨椭圆轨迹的切线与水平面夹角过大,导致矢量速度V1过小;(图四) 1、在这个不进则退的时代,单靠机械来驱动总感觉是在止步不前,自动化控制和编程是方向,在模型领域也必将成为潮流。
2018年,我开始了四舵机划桨控制器的设计和制作。
整体思路是这样的:用接收机的两个通道实现划桨频率(油门)和差速(方向)动作,用一片ArduinoUNO读取两个通道的PWM后,解析成为两个关键数值,依据预先制定好的动作数学模型进行运算,再生成四个PWM给四个舵机,实现自动划桨。也就是说,操控者只需要提供速度和转向的“想法”,其余的交给“控制器”来完成。 首先要制定划桨动作的数学模型。(这也是最艰难的一步) 人类大脑是一部超级生物计算机,实现划桨动作时甚至可以不必思考。例如转向:单侧桨入水静止,以提高阻力,另一侧仍进行划桨动作,实现“差速转向”。当退出差速时,不动的那一侧桨在等待另一侧桨,直到双侧桨同角度时,再共同动作,实现差速动作的退出。这一气呵成的复杂连贯动作,在人类大脑中却有若“公理”般不假思索。前面提到的微差速,也就是双侧桨的频率和行程略有不同,貌似不常用,其实更多出现在划桨动作中:当行船方向与目的方向只有几度的夹角时,人类完全不必将一侧桨插入水中,那个动作只有大幅度转弯时才会使用,对于小角度的航向纠正更多的是减小一侧桨的行程,或者稍稍降低一侧桨的动作频率,这就是微差速。也曾经看到用到过双侧同频率反向划桨,原地掉头,实现如坦克一样的“超信地转”(图五)......看似简单的动作数学模型,远比主观意识上的“理解”要复杂很多。 当你试图了解一个简单事物的本质时,会发现越深入,越困难。 经过令人崩溃的一段时间的思索后,数学模型建立了。 编程亦随之完成。
机械部分:各连杆长度对于输出动作轨迹的形状弥足重要!(图六)需要注意的是,四个舵机在完成预定动作配合的同时,相互之间的作用力也同时存在,舵机在“受力”。调节各连杆的长度使它们在有效做功的同时,尽可能避免它们的“搏斗”,使其在一个相对和谐稳定的状态下工作。 |