Skip to content

Commit 6ace1df

Browse files
Add proper README for AirStack (#249)
* Separate repo readme from homepage * Add comprehensive beginner-friendly README * Remove Related Projects section from README * Update README title to 'AirStack: Democratizing Intelligent Mobile Robotics' * Update README to focus on embodied AI and mobile robotics instead of aerial robots * Use color logo for readme --------- Co-authored-by: openhands <[email protected]>
1 parent 64b0aee commit 6ace1df

File tree

4 files changed

+162
-2
lines changed

4 files changed

+162
-2
lines changed

README.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
# AirStack: Democratizing Intelligent Mobile Robotics
2+
3+
<div align="center">
4+
<img src="docs/assets/logo_horizontal_color.png" alt="AirStack Logo" width="400"/>
5+
</div>
6+
7+
AirStack is a comprehensive, modular autonomy stack for embodied AI and robotics developed by the [AirLab](https://theairlab.org) at Carnegie Mellon University's Robotics Institute. It provides a complete framework for developing, testing, and deploying autonomous mobile systems in both simulated and real-world environments.
8+
9+
[![GitHub](https://img.shields.io/github/license/castacks/AirStack)](https://github.com/castacks/AirStack/blob/main/LICENSE)
10+
[![Documentation](https://img.shields.io/badge/docs-mkdocs-blue)](https://docs.theairlab.org/docs/)
11+
12+
## 🚀 Features
13+
14+
- **Modular Architecture**: Easily swap out components to customize for your specific needs
15+
- **ROS 2 Integration**: Built on ROS 2 for robust inter-process communication
16+
- **Simulation Support**: Integrated with NVIDIA Isaac Sim for high-fidelity simulation
17+
- **Multi-Robot Capability**: Control and coordinate multiple robots simultaneously
18+
- **Ground Control Station**: Monitor and control robots through an intuitive interface
19+
- **Comprehensive Autonomy Stack**:
20+
- Robot Interface Layer
21+
- Sensor Integration
22+
- Perception Systems
23+
- Local Planning & Control
24+
- Global Planning
25+
- Behavior Management
26+
27+
## 📋 System Requirements
28+
29+
- **Docker**: With NVIDIA Container Toolkit support
30+
- **NVIDIA GPU**: RTX 3070 or better (for local Isaac Sim)
31+
- **Storage**: At least 25GB free space for Docker images
32+
- **OS**: Ubuntu 22.04 recommended
33+
34+
## 🔧 Quick Start
35+
36+
### 1. Clone the Repository
37+
38+
```bash
39+
git clone --recursive -j8 [email protected]:castacks/AirStack.git
40+
cd AirStack
41+
```
42+
43+
### 2. Install Docker with NVIDIA Support
44+
45+
Follow [NVIDIA's instructions](https://docs.nvidia.com/ai-enterprise/deployment/vmware/latest/docker.html) for installing Docker with NVIDIA GPU support. Make sure `docker-compose-plugin` is also installed.
46+
47+
### 3. Configure the Repository
48+
49+
```bash
50+
./configure.sh
51+
```
52+
53+
Follow the prompts to complete the initial configuration.
54+
55+
### 4. Get the Docker Images
56+
57+
#### Option 1: Pull from AirLab Registry (Preferred)
58+
59+
```bash
60+
docker login airlab-storage.andrew.cmu.edu:5001
61+
# Enter your andrew id (without @andrew.cmu.edu)
62+
# Enter your andrew password
63+
64+
# Pull the images in the docker compose file
65+
docker compose pull
66+
```
67+
68+
#### Option 2: Build Docker Images From Scratch
69+
70+
```bash
71+
# Download the Ascent Spirit SITL software package
72+
bash simulation/isaac-sim/installation/download_sitl.bash
73+
74+
# Build the images locally (requires NVIDIA NGC access)
75+
docker compose build
76+
```
77+
78+
### 5. Launch the System
79+
80+
```bash
81+
xhost + # allow docker access to X-Server
82+
83+
# Start docker compose services
84+
docker compose up -d
85+
# For multiple robots: docker compose up -d --scale robot=3
86+
```
87+
88+
This will automatically launch and play the Isaac Sim scene specified in the `.env` file.
89+
90+
### 6. Control the Robot
91+
92+
Find the RQT GUI window:
93+
1. Click "Arm and Takeoff"
94+
2. Click "Global Plan" in the trajectory window
95+
96+
You can also switch to "Fixed Trajectory" mode and click "Publish" to follow a predefined trajectory.
97+
98+
### 7. Shutdown
99+
100+
```bash
101+
docker compose down
102+
```
103+
104+
## 🏗️ System Architecture
105+
106+
AirStack follows a layered architecture approach:
107+
108+
```
109+
Robot
110+
├── Interface Layer: Communication with robot controllers
111+
├── Sensors Layer: Data acquisition from various sensors
112+
├── Perception Layer: State estimation and environment understanding
113+
├── Local Layer:
114+
│ ├── World Model: Local environment representation
115+
│ ├── Planning: Trajectory generation and obstacle avoidance
116+
│ └── Controls: Trajectory following
117+
├── Global Layer:
118+
│ ├── World Model: Global environment mapping
119+
│ └── Planning: Mission-level path planning
120+
└── Behavior Layer: High-level decision making
121+
```
122+
123+
## 📁 Repository Structure
124+
125+
- `robot/`: Contains the ROS 2 workspace for the robot autonomy stack
126+
- `ground_control_station/`: Software for monitoring and controlling robots
127+
- `simulation/`: Integration with Isaac Sim and simulation environments
128+
- `docs/`: Comprehensive documentation
129+
- `common/`: Shared libraries and utilities
130+
- `tests/`: Testing infrastructure
131+
132+
## 🧪 Development
133+
134+
AirStack is designed with modularity in mind, making it straightforward to extend or replace components. The development workflow is centered around Docker containers for consistent environments.
135+
136+
For detailed development guidelines, see the [Developer Guide](https://docs.theairlab.org/docs/development/).
137+
138+
## 📚 Documentation
139+
140+
Comprehensive documentation is available at [https://docs.theairlab.org/docs/](https://docs.theairlab.org/docs/)
141+
142+
The documentation covers:
143+
- Getting started guides
144+
- Development workflows
145+
- Component descriptions
146+
- API references
147+
- Simulation setup
148+
- Real-world deployment
149+
150+
## 🤝 Contributing
151+
152+
We welcome contributions to AirStack! Please see our [Contributing Guidelines](https://docs.theairlab.org/docs/development/contributing/) for more information.
153+
154+
## 📄 License
155+
156+
AirStack is licensed under the Apache 2.0 or MIT license (to be finalized).
157+
158+
159+
## 📧 Contact
160+
161+
For questions or support, please contact the AirLab team at [theairlab.org](https://theairlab.org).

docs/assets/logo_horizontal_color.png

4.26 KB
Loading
File renamed without changes.

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ markdown_extensions:
4343
- toc:
4444
permalink: true
4545
nav:
46-
- Home: docs/README.md
46+
- Home: docs/index.md
4747
- Getting Started: docs/getting_started.md
4848
- Development:
4949
- docs/development/index.md

0 commit comments

Comments
 (0)