教程 2:环境修改 (45分钟)


目标与简介

本教程将教你如何修改Webots仿真环境。你将学习如何添加、删除和修改场景中的对象,以及如何创建更复杂的仿真环境。本教程基于官方教程2

目录

1. 环境设置

在开始本教程之前,请确保你已经完成了教程1,并且有一个可用的Webots项目。我们将基于教程1中创建的环境进行修改。

📝 动手实践 #1: 打开教程1中创建的项目 my_first_simulation,加载世界文件 my_first_simulation.wbt。确保仿真处于暂停状态,虚拟时间计数器显示 0:00:00:000。

2. 添加对象

在Webots中,你可以添加各种预定义的对象到场景中。这些对象包括几何体、机器人、传感器等。让我们添加一些新的对象来丰富我们的环境。

📝 动手实践 #2: 在场景树中选中 RectangleArena 节点,点击 ADD图标 按钮。在对话框中选择 PROTO nodes (Webots Projects) / objects / factory / containers / WoodenBox (Solid) 添加一个新的木箱。
📝 动手实践 #3: 再次点击 ADD图标 按钮,这次选择 PROTO nodes (Webots Projects) / objects / factory / containers / MetalBox (Solid) 添加一个金属箱。

3. 修改对象属性

每个对象都有多个属性可以修改,包括位置、大小、颜色等。让我们修改刚添加的对象的属性。

📝 动手实践 #4: 双击新添加的 WoodenBox 节点,展开其属性。修改以下字段:
  1. translation:设置为 1.0 0 0.05(将箱子移动到右侧)
  2. size:设置为 0.2 0.2 0.2(增大箱子尺寸)
  3. rotation:设置为 0 0 1 0.785(旋转45度)
📝 动手实践 #5: 双击 MetalBox 节点,修改其属性:
  1. translation:设置为 -1.0 0 0.05(将箱子移动到左侧)
  2. size:设置为 0.15 0.15 0.15(设置较小的尺寸)

4. 物理属性设置

为了让对象能够参与物理仿真,需要设置适当的物理属性,如质量、摩擦系数等。

📝 动手实践 #6: 为两个箱子设置物理属性:
  1. 选中 WoodenBox,展开 physics 字段,设置 mass0.5
  2. 选中 MetalBox,展开 physics 字段,设置 mass1.0
  3. 保存世界文件
📝 动手实践 #7: 点击 运行按钮 按钮运行仿真,观察两个箱子的物理行为差异。木箱较轻,金属箱较重,它们会表现出不同的物理特性。

5. 材质和纹理

Webots支持为对象添加材质和纹理,使场景更加真实。让我们为箱子添加不同的材质。

📝 动手实践 #8: 为箱子添加材质:
  1. 选中 WoodenBox,展开 appearance 字段
  2. material 字段中,设置 diffuseColor0.8 0.6 0.2(棕色)
  3. 选中 MetalBox,设置 diffuseColor0.7 0.7 0.8(银灰色)
  4. 设置 shininess0.8(增加金属光泽)

6. 光照设置

适当的光照设置可以显著改善场景的视觉效果。让我们添加一些光源。

📝 动手实践 #9: 添加光源:
  1. 在场景树中选中 WorldInfo 节点
  2. 点击 ADD图标 按钮
  3. 选择 PROTO nodes (Webots Projects) / lights / DirectionalLight
  4. 设置 direction0.5 -0.5 -1(斜向光照)
  5. 设置 intensity0.8
📝 动手实践 #10: 添加点光源:
  1. 再次点击 ADD图标 按钮
  2. 选择 PROTO nodes (Webots Projects) / lights / PointLight
  3. 设置 location0 0 2(在场景上方)
  4. 设置 intensity0.5
  5. 设置 color1 0.9 0.8(暖色调)

7. 总结

恭喜你完成了Webots环境修改教程!你已经学会了:

  • 如何添加各种预定义对象到场景中
  • 如何修改对象的位置、大小、旋转等几何属性
  • 如何设置物理属性,使对象参与物理仿真
  • 如何为对象添加材质和颜色
  • 如何添加不同类型的光源来改善场景照明
  • 如何保存和测试修改后的环境

这些技能将帮助你创建更复杂和真实的仿真环境。在下一个教程中,我们将学习如何使用传感器来感知环境。

下一步

继续学习 教程3:传感器使用,了解如何让机器人感知周围环境。