You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webots中Mavic2Pro无人机代码报NameError错误求助

问题排查与解决方案

核心问题

报错NameError: name 'mavic2Pro' is not defined的原因是Python解释器找不到Mavic2Pro这个名称,大概率是以下两种情况:

  1. 你之前依赖的自定义Mavic2Pro模块文件丢失或不在Python搜索路径中;
  2. 代码未正确导入Webots对应的控制器类。

解决步骤

情况1:找回自定义模块

  • 检查Webots项目目录,确认是否存在名为Mavic2Pro.py的文件;
  • 如果存在,确保它和主脚本在同一文件夹下,或者将其所在路径添加到Python环境变量;
  • 若文件丢失,需从备份中恢复该模块。

情况2:改用Webots原生API控制

如果没有自定义模块,直接使用Webots官方API编写控制逻辑,示例代码如下:

from controller import Robot
from time import sleep

# 初始化机器人实例
robot = Robot()
timestep = int(robot.getBasicTimeStep())

# 获取四个旋翼电机设备
front_left = robot.getDevice("front left propeller")
front_right = robot.getDevice("front right propeller")
rear_left = robot.getDevice("rear left propeller")
rear_right = robot.getDevice("rear right propeller")

# 设置电机为速度控制模式
for motor in [front_left, front_right, rear_left, rear_right]:
    motor.setPosition(float('inf'))

# 起飞函数:逐步提升转速
def takeoff():
    for speed in range(0, 600, 10):
        front_left.setVelocity(-speed)
        front_right.setVelocity(speed)
        rear_left.setVelocity(-speed)
        rear_right.setVelocity(speed)
        robot.step(timestep)
    sleep(2)

# 降落函数:逐步降低转速
def land():
    for speed in range(600, 0, -10):
        front_left.setVelocity(-speed)
        front_right.setVelocity(speed)
        rear_left.setVelocity(-speed)
        rear_right.setVelocity(speed)
        robot.step(timestep)
    for motor in [front_left, front_right, rear_left, rear_right]:
        motor.setVelocity(0)

# 执行飞行逻辑
takeoff()

# 向前飞行2秒
front_left.setVelocity(-650)
front_right.setVelocity(650)
rear_left.setVelocity(-550)
rear_right.setVelocity(550)
sleep(2)

# 恢复悬停
front_left.setVelocity(-600)
front_right.setVelocity(600)
rear_left.setVelocity(-600)
rear_right.setVelocity(600)
sleep(1)

land()

额外检查

  • 重启Webots软件并重新加载项目,确保控制器脚本路径配置正确;
  • 确认Webots的Python环境配置正常,排查电脑重启是否导致环境变量失效。

内容的提问来源于stack exchange,提问作者John R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:09:26