diff --git a/Docker/Dockerfile.O3DE b/Docker/Dockerfile.O3DE index f7e36c49..290bcf3f 100644 --- a/Docker/Dockerfile.O3DE +++ b/Docker/Dockerfile.O3DE @@ -40,10 +40,10 @@ ARG ROSCON_DEMO_OTTO_ROBOTS_COMMIT=HEAD # ROSConDemo Arguments ARG ROSCON_DEMO_REPO=https://github.com/RobotecAI/ROSCon2023Demo.git -ARG ROSCON_DEMO_BRANCH=3.0.0 +ARG ROSCON_DEMO_BRANCH=3.0.1 ARG ROSCON_DEMO_COMMIT=HEAD -ARG ROCSON_DEMO_LEVEL=level1 -ARG ROCSON_DEMO_FULLSCREEN=0 +ARG ROSCON_DEMO_LEVEL=level1 +ARG ROSCON_DEMO_FULLSCREEN=0 ARG ROSCON_DEMO_LARGE_SCALE=0 # O3DE Environment @@ -92,8 +92,8 @@ ENV ROSCON_DEMO_ROBOTEC_GEMS_ROOT=$WORKSPACE/robotec-o3de-tools ENV ROSCON_DEMO_REPO=$ROSCON_DEMO_REPO ENV ROSCON_DEMO_BRANCH=$ROSCON_DEMO_BRANCH ENV ROSCON_DEMO_COMMIT=$ROSCON_DEMO_COMMIT -ENV ROCSON_DEMO_LEVEL=$ROCSON_DEMO_LEVEL -ENV ROCSON_DEMO_FULLSCREEN=$ROCSON_DEMO_FULLSCREEN +ENV ROSCON_DEMO_LEVEL=$ROSCON_DEMO_LEVEL +ENV ROSCON_DEMO_FULLSCREEN=$ROSCON_DEMO_FULLSCREEN ENV ROSCON_DEMO_LARGE_SCALE=$ROSCON_DEMO_LARGE_SCALE ENV ROSCON_DEMO_ROOT=$WORKSPACE/ROSCon2023Demo diff --git a/Docker/README.md b/Docker/README.md index 737e3d1a..8d986247 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -10,7 +10,7 @@ * [NVIDIA container toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker) * [rocker](https://github.com/osrf/rocker) * **Optional** This tool simplifies injecting NVIDIA support when running Docker images. If not installed, you can still run GPU-required Docker images but with additional setup steps. - * **Note** There known issues using rocker with Ubuntu 22.04 and NVIDIA drivers newer than version 525. + * **Note** There are known issues using rocker with Ubuntu 22.04 and NVIDIA drivers newer than version 535. # Building the Docker image There are 2 different Dockerscripts that build the two different types of ROSCon2023Demo images: @@ -21,31 +21,34 @@ There are 2 different Dockerscripts that build the two different types of ROSCon ## Building the O3DE Docker image The script for O3DE (`Dockerfile.O3DE`) will build the ROSCon2023Demo Warehouse simulation launcher as well as the ros projects that are needed to launch the simulation. The following arguments (passed to the Docker build command with the `--build-arg` parameter) are supported to customize the Docker image. -| Argument | Description | Default | -| ------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------- | -| ROS_VERSION | The distro of ROS (humble or iron) | humble | -| UBUNTU_VERSION | The supporting distro of ubuntu (focal, jammy, noble) | jammy | -| O3DE_REPO | The git repo for O3DE | https://github.com/o3de/o3de | -| O3DE_BRANCH | The branch/tag for O3DE | 2505.1 | -| O3DE_COMMIT | The commit on the branch/tag for O3DE (or HEAD) | HEAD | -| O3DE_EXTRAS_REPO | The git repo for O3DE Extras | https://github.com/o3de/o3de-extras | -| O3DE_EXTRAS_BRANCH | The branch/tag for O3DE Extras | 2505.1 | -| O3DE_EXTRAS_COMMIT | The commit on the branch for O3DE Extras (or HEAD) | HEAD | -| ROSCON_DEMO_HUMAN_WORKER_REPO | The git repo for Demo Human worker Gem | https://github.com/RobotecAI/o3de-humanworker-gem | -| ROSCON_DEMO_HUMAN_WORKER_BRANCH | The branch/tag for Demo Human worker Gem | 2.0.0 | -| ROSCON_DEMO_HUMAN_WORKER_COMMIT | The commit on the branch/tag for Demo Human worker Gem (or HEAD) | HEAD | -| ROSCON_DEMO_UR_ROBOTS_REPO | The git repo for Demo UR Robots Gem | https://github.com/RobotecAI/o3de-ur-robots-gem | -| ROSCON_DEMO_UR_ROBOTS_BRANCH | The branch/tag for Demo UR Robots Gem | 2.0.0 | -| ROSCON_DEMO_UR_ROBOTS_COMMIT | The commit on the branch/tag for Demo UR Robots Gem (or HEAD) | HEAD | -| ROSCON_DEMO_OTTO_ROBOTS_REPO | The git repo for the Demo Otto Robots Gem | https://github.com/RobotecAI/o3de-otto-robots-gem | -| ROSCON_DEMO_OTTO_ROBOTS_BRANCH | The branch/tag for the Demo Otto Robots Gem | 2.0.0 | -| ROSCON_DEMO_OTTO_ROBOTS_COMMIT | The commit on the branch/tag for the Demo Otto Robots Gem (or HEAD) | HEAD | -| ROSCON_DEMO_REPO | The git repo for ROSCon2023 Warehouse Demo | https://github.com/RobotecAI/ROSCon2023Demo.git | -| ROSCON_DEMO_BRANCH | The branch/tag for ROSCon2023 Warehouse Demo | 2.0.0 | -| ROSCON_DEMO_COMMIT | The commit on the branch/tag for ROSCon2023 Warehouse Demo (or HEAD) | HEAD | -| ROCSON_DEMO_LEVEL | The startup level (level1 or level2). **See Notes below** | level1 | -| ROCSON_DEMO_FULLSCREEN | Option to launch the simulation in fullscreen mode (0=no, 1=yes) | 0 | -| ROSCON_DEMO_LARGE_SCALE | Option to enable large scale simulation (0=no, 1=yes) (see [README.md]()../README.md) | 0 | +| Argument | Description | Default | +| ------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------- | +| ROS_VERSION | The distro of ROS (humble or iron) | humble | +| UBUNTU_VERSION | The supporting distro of Ubuntu (focal, jammy) | jammy | +| O3DE_REPO | The git repo for O3DE | https://github.com/o3de/o3de | +| O3DE_BRANCH | The branch/tag for O3DE | 2505.1 | +| O3DE_COMMIT | The commit on the branch/tag for O3DE (or HEAD) | HEAD | +| O3DE_EXTRAS_REPO | The git repo for O3DE Extras | https://github.com/o3de/o3de-extras | +| O3DE_EXTRAS_BRANCH | The branch/tag for O3DE Extras | 2505.1 | +| O3DE_EXTRAS_COMMIT | The commit on the branch for O3DE Extras (or HEAD) | HEAD | +| ROSCON_DEMO_HUMAN_WORKER_REPO | The git repo for Demo Human worker Gem | https://github.com/RobotecAI/o3de-humanworker-gem | +| ROSCON_DEMO_HUMAN_WORKER_BRANCH | The branch/tag for Demo Human worker Gem | 2.0.0 | +| ROSCON_DEMO_HUMAN_WORKER_COMMIT | The commit on the branch/tag for Demo Human worker Gem (or HEAD) | HEAD | +| ROSCON_DEMO_UR_ROBOTS_REPO | The git repo for Demo UR Robots Gem | https://github.com/RobotecAI/o3de-ur-robots-gem | +| ROSCON_DEMO_UR_ROBOTS_BRANCH | The branch/tag for Demo UR Robots Gem | 2.0.0 | +| ROSCON_DEMO_UR_ROBOTS_COMMIT | The commit on the branch/tag for Demo UR Robots Gem (or HEAD) | HEAD | +| ROSCON_DEMO_OTTO_ROBOTS_REPO | The git repo for the Demo Otto Robots Gem | https://github.com/RobotecAI/o3de-otto-robots-gem | +| ROSCON_DEMO_OTTO_ROBOTS_BRANCH | The branch/tag for the Demo Otto Robots Gem | 2.0.0 | +| ROSCON_DEMO_OTTO_ROBOTS_COMMIT | The commit on the branch/tag for the Demo Otto Robots Gem (or HEAD) | HEAD | +| ROSCON_DEMO_REPO | The git repo for ROSCon2023 Warehouse Demo | https://github.com/RobotecAI/ROSCon2023Demo.git | +| ROSCON_DEMO_BRANCH | The branch/tag for ROSCon2023 Warehouse Demo | 3.0.1 | +| ROSCON_DEMO_COMMIT | The commit on the branch/tag for ROSCon2023 Warehouse Demo (or HEAD) | HEAD | +| ROSCON_DEMO_ROBOTEC_GEMS_REPO | The git repo for Robotec Gems | https://github.com/RobotecAI/robotec-o3de-tools.git | +| ROSCON_DEMO_ROBOTEC_GEMS_BRANCH | The branch/tag for Robotec Gems | o3de-2505 | +| ROSCON_DEMO_ROBOTEC_GEMS_COMMIT | The commit on the branch/tag for Robotec Gems (or HEAD) | 4006ef9 | +| ROSCON_DEMO_LEVEL | The startup level (level1 or level2). **See Notes below** | level1 | +| ROSCON_DEMO_FULLSCREEN | Option to launch the simulation in fullscreen mode (0=no, 1=yes) | 0 | +| ROSCON_DEMO_LARGE_SCALE | Option to enable large scale simulation (0=no, 1=yes) (see [README.md]()../README.md) | 0 | To build the Docker image using the default values, use the following command @@ -56,7 +59,7 @@ docker build -f Dockerfile.O3DE -t roscon2023_demo/o3de:latest . If you want to pull a different variant of the image based on a different fork, you can run a command similar to the following ``` -docker build -f Dockerfile.O3DE --build-arg ROSCON_DEMO_REPO=https://github.com/myfork/ROSCon2023Demo.git --build-arg ROCSON_DEMO_LEVEL=level2 -t myfork/roscon2023_demo/o3de:latest . +docker build -f Dockerfile.O3DE --build-arg ROSCON_DEMO_REPO=https://github.com/myfork/ROSCon2023Demo.git --build-arg ROSCON_DEMO_LEVEL=level2 -t myfork/roscon2023_demo/o3de:latest . ``` > **Note:**: `Dockerfile.O3DE` clones multiple Gems that are not listed in the table above. These are assets only Gems or tooling Gems. The working commit hashes are either hard-coded in the scripts or the newest versions are pulled from the repository (for backward compatible Gems). @@ -67,7 +70,7 @@ The O3DE Docker image can reach 10 GB in size, so if you want to create a separa | Argument | Description | Default | | ----------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------- | | ROS_VERSION | The distro of ROS (humble, or iron) | humble | -| UBUNTU_VERSION | The supporting distro of Ubuntu (focal, jammy, noble) | jammy | +| UBUNTU_VERSION | The supporting distro of Ubuntu (focal, jammy) | jammy | | ROSCON_DEMO_REPO | The git repo for ROSCon2023 Warehouse Demo | https://github.com/RobotecAI/ROSCon2023Demo.git | | ROSCON_DEMO_BRANCH | The branch/tag for ROSCon2023 Warehouse Demo | 2.0.0 | | ROSCON_DEMO_COMMIT | The commit on the branch/tag for ROSCon2023 Warehouse Demo (or HEAD) | HEAD | @@ -82,7 +85,7 @@ docker build -f Dockerfile.ROS -t roscon2023_demo/ros:latest . > **Note:** By default, the O3DE simulation launcher is built to run the smaller warehouse scene. To create a Docker image with the large warehouse, the `ROSCON_DEMO_LEVEL` argument needs to be set to `level2`: > >``` ->docker build -f Dockerfile.O3DE --build-arg ROCSON_DEMO_LEVEL=level2 -t roscon2023_demo/o3de:latest . +>docker build -f Dockerfile.O3DE --build-arg ROSCON_DEMO_LEVEL=level2 -t roscon2023_demo/o3de:latest . >``` # Running the Docker image @@ -124,7 +127,7 @@ Next, start the ROS 2 stack in the background and direct the log to `/data/works ./launch_ros.sh > /data/workspace/ros2.log &>1 & ``` -Depending on which level is specified with the `ROCSON_DEMO_LEVEL` the simulation will start with the configured warehouse scene. The ROS 2 stack will spawn the worker robots and start their navigation tasks. +Depending on which level is specified with the `ROSCON_DEMO_LEVEL` the simulation will start with the configured warehouse scene. The ROS 2 stack will spawn the worker robots and start their navigation tasks. # Large scale simulation @@ -136,7 +139,7 @@ You will need to build the O3DE and ROS Docker images on separate machines. The On the machine meant for the simulation, run the following command to build the O3DE Docker image for the large scale simulation: ``` -docker build -f Dockerfile.O3DE --build-arg ROCSON_DEMO_LEVEL=level2 --build-arg ROSCON_DEMO_LARGE_SCALE=1 -t roscon2023_demo_large/o3de:latest . +docker build -f Dockerfile.O3DE --build-arg ROSCON_DEMO_LEVEL=level2 --build-arg ROSCON_DEMO_LARGE_SCALE=1 -t roscon2023_demo_large/o3de:latest . ``` This will create the docker image `roscon2023_demo_large/o3de:latest` that will launch the Docker container from. diff --git a/Docker/build_simulation.sh b/Docker/build_simulation.sh index 525c4b8b..81ffbab5 100755 --- a/Docker/build_simulation.sh +++ b/Docker/build_simulation.sh @@ -6,15 +6,15 @@ # SPDX-License-Identifier: Apache-2.0 OR MIT # -# Validate the ROCSON_DEMO_LEVEL value before starting the longer git processes -if [ "$ROCSON_DEMO_LEVEL" == 'level1' ] +# Validate the ROSCON_DEMO_LEVEL value before starting the longer git processes +if [ "$ROSCON_DEMO_LEVEL" == 'level1' ] then DEMO_LEVEL=demolevel1 -elif [ "$ROCSON_DEMO_LEVEL" == 'level2' ] +elif [ "$ROSCON_DEMO_LEVEL" == 'level2' ] then DEMO_LEVEL=demolevel2 else - echo "Invalid 'level' argument '$ROCSON_DEMO_LEVEL'. Must be level1 or level2." + echo "Invalid 'level' argument '$ROSCON_DEMO_LEVEL'. Must be level1 or level2." exit 1 fi diff --git a/Docker/launch_simulation.sh b/Docker/launch_simulation.sh index 4edf8242..91965626 100755 --- a/Docker/launch_simulation.sh +++ b/Docker/launch_simulation.sh @@ -17,4 +17,4 @@ cd $ROSCON_DEMO_ROOT/ros2_ws . ./install/setup.sh cd $ROSCON_SIMULATION_HOME -./ROSCon2023Demo.GameLauncher -r_fullscreen=$ROCSON_DEMO_FULLSCREEN -bg_connectToAssetProcessor=0 +./ROSCon2023Demo.GameLauncher -r_fullscreen=$ROSCON_DEMO_FULLSCREEN -bg_connectToAssetProcessor=0 diff --git a/README.md b/README.md index f1b513ac..77cfa10d 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ git clone --branch 2.0.0 --single-branch --depth 1 https://github.com/RobotecAI/ git clone --branch 2.0.0 --single-branch --depth 1 https://github.com/RobotecAI/o3de-otto-robots-gem git clone https://github.com/RobotecAI/robotec-warehouse-assets.git git clone https://github.com/RobotecAI/robotec-generic-assets.git -git clone --branch 2505 --single-branch --depth 1 https://github.com/RobotecAI/robotec-o3de-tools.git +git clone --branch o3de-2505 --single-branch --depth 1 https://github.com/RobotecAI/robotec-o3de-tools.git ./o3de/scripts/o3de.sh register --gem-path o3de-humanworker-gem ./o3de/scripts/o3de.sh register --gem-path o3de-ur-robots-gem ./o3de/scripts/o3de.sh register --gem-path o3de-otto-robots-gem