SEAN 2.0
SEAN 2.0
Home Documentation About SEAN Tutorials
Home Documentation About SEAN Tutorials
  • System Architecture
  • Development Setup
  • Communication
  • Unity API
  • ROS Nodes
  • Metrics
  • Unity Navmesh & ROS Map

System Architecture

SEAN 2.0 is built on two main components: the game engine (Unity) and the Robot Operating System (ROS).

System Diagram

System Diagram

Within Unity, we use the Unity ROS-TCP-Connector library to interface with ROS. This ROS interface allows control of a simulated robot via the standard ROS navigation stack. We currently target ROS Noetic with Python 3 compatibility.

Terminology

Scenario

A scenario occurs in a physical environment where virtual avatars exhibit some a Pedestrian Behavior and the robot is assigned a specific start (A) to goal (B) navigation task.

Scenario

Physical Environment

The physical environment is the physical world in which the interaction occurs. We have created three main environments: the Lab, Warehouse, and Outdoor scene.

We also have four environments based on popular pedestrian datasets.

Pedestrian Behavior

Pedestrian behavior describes the method of controlling individual pedestrians and assigning them A-B navigation goals.

Robot Task

Every robot task is an A-B navigation task where the robot is transported to the start pose in the environment and presented with the navigation goal pose.

System Components

SEAN is built on two high level systems: Unity and ROS.

Our code is divided between these two systems. The code is available in the following four repositories :

  • ROS workspace and with setup and development scripts: https://github.com/yale-sean/sim_ws.

  • Unity project is available here: https://github.com/yale-sean/social_sim_unity.

  • ROS package is available here: https://github.com/yale-sean/social_sim_ros.

  • This documentation is hosted here: https://github.com/yale-sean/docs.

Pull requests are welcome!