首页全部课程基础编程第 3 课
3

认识变量

学习全局变量与差速控制

变量全局变量速度时间比值目标方向偏差差数

课程概述

本节课介绍EV3编程中最重要的概念之一——变量。通过定义6个全局变量,实现对机器人行为的精确控制,包括差速巡线和避障功能。

六个全局变量

变量名类型描述
速度全局变量机器人的基础运行速度
时间全局变量控制动作的持续时间
比值全局变量根据前方距离传感器计算的中间值
目标方向全局变量指南针传感器的目标角度
偏差全局变量人为设定的偏移值,用于避障
差数全局变量速度调整量,用于差速转向

变量初始化

1
2
3
4
5
6
7
// === 初始化程序 ===
设置 全局变量 速度 = 90
设置 全局变量 时间 = 0
设置 全局变量 比值 = 0
设置 全局变量 差速 = 0
设置 全局变量 偏差 = 0
设置 全局变量 差数 = 0

差速巡线逻辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 主循环
LOOP FOREVER:
    // 1. 计算比值
    front_distance = read_front_distance_sensor()
    比值 = calculate_ratio(front_distance)

    // 2. 计算差数
    差数 = calculate_difference(比值, left_sensor, right_sensor)

    // 3. 应用差速进行电机控制
    IF robot_is_veering_left THEN
        right_motor_speed = 速度 - 差数
        left_motor_speed = 速度
    ELSE IF robot_is_veering_right THEN
        left_motor_speed = 速度 - 差数
        right_motor_speed = 速度
    END IF

    set_motors(left_motor_speed, right_motor_speed)

偏差避障逻辑

1
2
3
4
5
// 接近特定障碍物时触发
WHEN approaching_specific_obstacle:
    偏差 = 300  // 设定偏差值
    move_for_duration(time = 2 seconds)
    偏差 = 0    // 越过障碍物后恢复

核心要点

差速控制的原理:当机器人偏左时,减小右电机速度使其向右校正;偏右时则减小左电机速度。偏差变量可以临时改变传感器的判断逻辑,让机器人绕过障碍物。

课后练习

测试一下你对本课内容的掌握程度

第 1 / 3 题

速度变量的初始值通常设为多少?