Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This top-level .env file under AirStack/ defines variables that are propagated through docker-compose.yaml
PROJECT_NAME="airstack"
# auto-generated from git commit hash
DOCKER_IMAGE_TAG="008839f"
DOCKER_IMAGE_TAG="501d90f"
# can replace with your docker hub username
PROJECT_DOCKER_REGISTRY="airlab-storage.andrew.cmu.edu:5001/shared"
DEFAULT_ISAAC_SCENE="omniverse://airlab-storage.andrew.cmu.edu:8443/Projects/AirStack/AFCA/fire_academy_faro_with_sky.scene.usd"
Expand Down
25 changes: 25 additions & 0 deletions docs/real_world/HITL/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Hardware-In-The-Loop Simulation
We configure a multi-machine HITL simulation, where a powerful desktop computer runs Isaac Simulator and rendering, and one/multiple jetson compute boards run robot-specific programs (planning, mapping, etc.).
## Requirement
A desktop computer configured according to [here](/docs/getting_started). One/multiple ORIN AGX/NX configured according to [here](/docs/real_world/installation/).

## Communication
All machines should connect to the same network. In our test, all machines are connected to the same router with ethernet cables. Ensure that all machines are able to `ping` others' IP addresses.

### Run
On the desktop computer, under your Airstack folder, run
```
docker compose up isaac-sim-hitl
```
You should see the isaac simulator being launched.
On the Jetson computer, run
```
docker compose up robot_l4t
```
Once the scene is played in the Isaac simulator, the rviz GUI on the Jetson should start displaying sensor data, which means the connection is successful.

Screen record of desktop computer:
<iframe src="https://drive.google.com/file/d/1sNkEattgDyBAI9xFPVQsXn8sRi6gYQSG/view?usp=sharing" width="840" height="480" allow="autoplay" allowfullscreen="allowfullscreen"></iframe>

Screen record of Jetson computer:
<iframe src="https://drive.google.com/file/d/19S8Yceq8t2FPubN8Mly003Up1AbLzCA8/view?usp=sharing" width="840" height="480" allow="autoplay" allowfullscreen="allowfullscreen"></iframe>
30 changes: 29 additions & 1 deletion docs/real_world/installation/index.md
Original file line number Diff line number Diff line change
@@ -1 +1,29 @@
# Installation on Hardware
# Installation on ORIN AGX/NX

We have tested installation and running robot container on Jetson ORIN AGX/NX and Ubuntu 22.04.

## Setup
Ensure you have docker installed.
### Clone

```
git clone --recursive -j8 git@github.com:castacks/AirStack.git
```
Checkout to the correct branch:
```
git checkout jkeller/jetson_36.4
```
## Configure

Run `./configure.sh` and follow the instructions in the prompts to do an initial configuration of the repo.

Pull the correct image:
```
docker compose pull robot_l4t
```

## Run
```
docker compose up robot_l4t
```
You should be able to see the rviz GUI being launched.
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@ nav:
- docs/real_world/data_offloading/index.md
- Installation on Hardware:
- docs/real_world/installation/index.md
- HITL Test:
- docs/real_world/HITL/index.md
- About: docs/about.md
plugins:
- search
Expand Down
2 changes: 1 addition & 1 deletion robot/ros_ws/src/autonomy/2_perception/macvo2
13 changes: 13 additions & 0 deletions simulation/isaac-sim/docker/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
services:
isaac-sim:
profiles:
- ""
- sitl
image: &image_tag ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_isaac-sim
build:
context: ../
Expand Down Expand Up @@ -64,3 +67,13 @@ services:
- ../sitl_integration:/sitl_integration:rw
- ../sitl_integration/inputrc:/etc/inputrc
- ../sitl_integration/config:/root/.nvidia-omniverse/config:rw

# ===================================================================================================================
# for running over ethernet for hitl to stream to the NVIDIA jetson device
isaac-sim-hitl:
extends:
service: isaac-sim
network_mode: host
networks: !reset null
profiles:
- hitl