Skip to content
LegoFind

LegoFind

乐高机械组(Technic)、机器人资源分享。

  • Powered Up 教程
  • BOOST 教程
  • 乐高相关网站
  • 机械组套装
  • 教育及机器人套装
  • 机械组资源
  • 留言板
  • Toggle search form

乐高 Powered Up 编程进阶教程(二):转向范围控制。

Posted on 2021年7月21日2021年11月7日 By 黑猫 乐高 Powered Up 编程进阶教程(二):转向范围控制。有2条评论

在乐高 Powered Up 编程进阶教程(一)中,我们分享了实现转向控制的几个基本功能(转向车辆基本控制、方向自动回正、方向初始化找中)的编程实现方法。利用上述功能能够实现基本的转向控制,但是还有几个方面可以进行优化,包括转向范围控制、转向速度控制等,本文就转向范围控制问题进行分享。

一、转向范围控制

通常我们会利用滑动控制器来控制车辆方向,但是滑动控制器的取值范围为(-100,100),而车辆的实际转向角度各不相同。

滑动控制器的取值范围为(-100,100)
不同车辆用于转向控制的电机,其最大转向角度各不相同,跟转向结构的设计有关

为了有更好的转向控制体验,我们需要将控制器的取值范围(-100,100)与车辆转向电机实际能够转动的角度范围进行线性对应。假如转向电机的转动度数范围为(-180°,180°),那么我们需要在控制器设置为100时,电机转动至180°,在控制器设置为50时, 电机转动至90°,以此类推。

然而不同车辆的转向系统不一样,其转向电机的转动范围也不同,并且我们很难事先得到电机转动范围的精确值,因此需要用程序自动实现上述线性对应。下面是实现思路和编程实现过程。

一、实现思路

(1)利用方向初始化找中程序,记录下车辆转向电机的可转动范围,最左侧位置记为a,最右侧位置记为b;

(2)计算电机转动范围(b-a)的绝对值与控制器取值范围(200)的比值,记为g,即g=|b-a|/200

(3)在转向控制时,将控制器的设定值(记为x)乘以g,记为转向电机需要转动的角度值(记为y)即

y = g x = |b-a|x/200

假设转向电机的转动度数范围为(-180°,180°) ,则 a=-180,b=180,那么 y = 1.8x,其对应关系如下图所示。

控制器取值范围与转向电机转动角度实现线性对应

二、编程实现过程

(1)执行初始化找中程序,同时记录最左侧位置记为a,最右侧位置记为b。该程序已经在进阶教程(一)中进行了详细说明。

(2)在转向控制时,将控制器的取值乘以系数(|b-a|/200)后,赋值给转动电机,注意考虑电机精度问题,设置一个误差冗余度(本例中设置为3度。关于电机精度问题,详见进阶教程(一))。

为了便于竖向显示程序中使用了大量触发跳转模块
机械组资源

文章导航

Previous Post: LEGO BOOST 机器人编程入门教程(六):数据操作模块
Next Post: RacingBrick LEGO 42128 重型拖车首发评测视频(中文字幕)

Comments (2) on “乐高 Powered Up 编程进阶教程(二):转向范围控制。”

  1. 匿名说道:
    2021年7月25日 21:11

    转向电机抖动,怎么解决?

    回复
    1. admin说道:
      2021年7月26日 16:22

      这个应该是因为电机控制精度问题,因为电机实际到达的位置跟指令位置会有一两度的偏差,所以导致电机不停地在调整,解决措施的话一个是考虑增加一个误差冗余量,就是当电机实际位置跟目标位置的差大于某个值时,才动作。具体可以看https://www.legofind.com/archives/879
      这个误差冗余量可以通过测试调整取值。
      还有一种处理方式,原理跟上面类似,是将转向位置划分为几个区域(比如8个),当控制指令在某个区域内时,转向位置就在该区域内保持不变,只有当指令到达其他区域是,转向位置才会动作到对应的区域。这个我会在后面单独写一篇文章介绍。

      回复

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

常用网址

Rebrickable
MOC分享网站。
LEGO官网图纸下载
官方图纸下载地址。
BrickLink
零件、人仔、套装买卖。
BrickSet
LEGO数据库网站。
Brothers-Brick
LEGO资讯第一门户。
EuroBricks
全球第一LEGO论坛。
LDraw零件
LDraw零件模型下载。
BrickOwl
零件、人仔、套装买卖。
BrickEconomy
LEGO价格及趋势分析。
Studio
LEGO虚拟拼搭软件。
BrickInsights
LEGO套装评分网站。
MecaBricks
3D在线LEGO拼搭工具。
LEGO官网设备指南
LEGO官方APP汇总。
LDD
LEGO虚拟拼搭软件。
BrickFanatics
LEGO资讯网站。
pyBricks
LEGO Python编程。
  • 乐高图纸 (76)
  • 套装评测 (13)
  • 机器人资源 (33)
  • 机器人资讯 (2)
  • 机械组资源 (28)
  • 机械组资讯 (26)
  1. 黑猫发表在乐高机械组官方套装Studio模型(IO文件)资源分享2022年12月22日

    找到一个lxf格式的,试了下Studio…

  2. 匿名发表在乐高电机性能参数(扭矩、转速)整理2022年12月19日

    棒

  3. 匿名发表在乐高机械组官方套装Studio模型(IO文件)资源分享2022年12月17日

    想要CREATOR系列10242MINI…

  4. 黑猫发表在乐高机械组官方套装Studio模型(IO文件)资源分享2022年11月17日

    没找到,只找到了71746的一些MOC的…

  5. 黑猫发表在留言板2022年11月17日

    方法有很多,看你具体的要求。可以看下下面…

Powered Up模块说明

Powered Up 教程一
流程模块
Powered Up 教程二
传感器模块
Powered Up 教程三
电机模块
Powered Up 教程四
自定义控制模块
Powered Up 教程五
声光模块
Powered Up 教程六
数据操作模块

LEGO Boost 模块说明

LEGO Boost教程一
流程模块
LEGO Boost教程二
传感器模块
LEGO Boost教程三
遥控模块模块
LEGO Boost教程四
电机模块
LEGO Boost教程五
声光模块
LEGO Boost教程六
数据操作模块
友情链接  |   DNF资料站   |   Brick4   |   孙老四   |   乐乐镇的故事

Copyright © 2023 LegoFind.

Powered by PressBook WordPress theme