Skip to main content

Module 2: The Digital Twin (Gazebo & Unity)

Introduction​

Welcome to Module 2 of the Physical AI & Humanoid Robotics Textbook! This module delves into the powerful concept of Digital Twins – virtual replicas of physical robotic systems. We will explore how open-source simulators like Gazebo provide accurate physics and sensor modeling, and how the Unity game engine offers rich environments for human-robot interaction (HRI). Mastering these tools is crucial for iterative development, safe testing, and efficient optimization of humanoid robots.

Prerequisites​

Before starting this module, it is recommended that you have:

  • A basic understanding of ROS 2 concepts (from Module 1).
  • Familiarity with 3D concepts and coordinate systems.

Concept Map​

(Placeholder for a concept map image or diagram detailing the relationship between Gazebo, Unity, and Digital Twins)

Practical Assignments​

This module includes practical lab assignments to reinforce your understanding. These will be presented as ri.LabTask components within the chapters.

Lab Task: Gazebo World and Robot Simulation

Objective

Create a custom Gazebo world with a simple environment and a simulated robot, then launch and interact with it.

Prerequisites

  • Chapter 1: Gazebo for Digital Twins

Equipment

  • Computer with Ubuntu 20.04+
  • ROS 2 Foxy/Humble installed
  • Gazebo simulator installed

Steps

  • Design a simple Gazebo world with obstacles.
  • Import a simple robot model (e.g., from URDF) into the Gazebo world.
  • Launch the Gazebo world and the robot in simulation.
  • Use ROS 2 topics to command the robot's movement in Gazebo.

Deliverables

  • Custom Gazebo world file.
  • ROS 2 package with robot description and launch files.
  • Video demonstration of robot moving in simulation.

Assessment Criteria

Successful simulation launch, robot movement, and basic interaction.

Lab Task: Unity HRI Scene Development

Objective

Develop an interactive human-robot interaction scene in Unity, integrating basic human input for robot control.

Prerequisites

  • Chapter 2: Human-Robot Interaction in Unity

Equipment

  • Computer with Unity Hub and Unity Editor (LTS version) installed

Steps

  • Create a new Unity 3D project.
  • Import a simple robot model and a human avatar.
  • Implement a C# script for keyboard control of the robot.
  • Design a basic UI to display robot status.

Deliverables

  • Unity project folder.
  • Short video demonstrating human control of the robot in Unity.
  • Screenshot of the Unity HRI scene.

Assessment Criteria

Functional human control of the robot, clear UI display, and correct scene setup.

💬