You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[//]: # ( ==== Body ================================================== )
68
69
69
-
## What it does
70
70
71
-
-**Containerized robotic development environment**: Provides a complete containerized workflow for robotic research, development, deployment, testing, continuous integration, running slurm jobs, and source code release.
72
-
-**Multi-platform support**: Runs seamlessly on `l4t/arm64` (Jetson), `darwin/arm64` (Mac OS X), and `linux/x86` without configuration changes.
73
-
-**Flexible deployment modes**: Supports both local and remote workflows for personal workstations, remote embedded computers, and servers.
74
-
-**ROS2 ready**: Comes with ROS2 support out of the box for robotic applications.
75
-
-**GPU acceleration**: Provides GPU support through nvidia-docker for both `l4t/arm64` and `linux/x86` platforms.
76
-
-**Transparent configuration**: Makes project configuration easy while keeping [Docker](https://docs.docker.com/) and [Docker Compose](https://docs.docker.com/compose/) logic transparent and accessible.
# Install DNA on host (Check install option with $ bash install.bash --help)
88
-
bash install.bash
89
73
90
-
# Check available commands
91
-
dna
92
-
```
74
+
[//]: #(## What it does)
93
75
94
-

76
+
<detailsopen>
77
+
<summarystyle="font-weight: bolder;font-size: x-large;">What it does</summary>
95
78
96
-
### Make a repository ready to use with DNA
79
+
-**Containerized robotic development environment**: Provides a complete containerized workflow for robotic research, development, deployment, testing, continuous integration, running slurm jobs, and source code release.
80
+
-**Multi-platform support**: Runs seamlessly on `l4t/arm64` (Jetson), `darwin/arm64` (Mac OS X), and `linux/x86` without configuration changes.
81
+
-**Flexible deployment modes**: Supports both local and remote workflows for personal workstations, remote embedded computers, and servers.
82
+
-**Robotic Software System ([ROS2](https://github.com/ros2)) ready**: Ready to roll, out of the box.
83
+
-**GPU acceleration**: Provides GPU support through [nvidia-docker](https://github.com/NVIDIA/nvidia-docker) for both `l4t/arm64` and `linux/x86` platforms.
84
+
-**Transparent configuration**: Makes project configuration easy while keeping [Docker](https://docs.docker.com/) and [Docker Compose](https://docs.docker.com/compose/) logic transparent and accessible.
97
85
98
-
```shell
99
-
# To DNA-initialize a project repository (must be git initialized)
100
-
cd<path/to/your/project/repository>
101
-
dna init
102
-
```
86
+
</details>
103
87
104
-
Which add a few directories to your project repository
105
-
```markup
106
-
your-project-repository/
107
-
├── .dockerized_norlab/ <- DNA configuration
108
-
├── artifact/ <- Runtime produced data (mounted)
109
-
├── external_data/ <- Pre-existing data made available in your container (mounted)
110
-
├── src/ <- Your repository source code (mounted/copied)
111
-
├── tests/ <- Your repository test code (mounted/copied)
112
-
...
113
-
├── .dockerignore <- Specify files/dir that won't be copied in container on build
114
-
├── .gitignore <- Specify files/dir to keep out of VCS
115
-
└── README.md <- Created if it did not already exist
116
-
```
117
-
Note:
118
-
- Any directory or file that already exist will be updated, not overriden.
119
-
- Content of the artifact direcotry is persistent. It will remain available even if the container is stoped or removed.
To spin a DN container and open a terminal in it, run the following command from anywhere in the DNA initialized repository
124
-
```shell
125
-
dna build develop
126
-
dna up
127
93
128
-
# When your done
129
-
dna down
130
-
```
94
+
Dockerized-NorLab (DN) and the Dockerized-NorLab project application (DNA) solve critical challenges in robotic research and development by providing a standardized, reproducible, and scalable containerized environment.
131
95
132
-
> **📖 For detailed configuration and command documentation**, see the [Documentation](#documentation) section below.
Dockerized-NorLab (DN) and the DNA application solve critical challenges in robotic research and development by providing a standardized, reproducible, and scalable containerized environment.
137
113
138
114
### Key Benefits
139
115
@@ -152,46 +128,51 @@ Deploy your robotic applications quickly and reliably across different platforms
152
128
**✅ Code Quality**
153
129
Maintain high code quality with integrated testing, continuous integration, and standardized development practices built into the containerized workflow.
<tdcolspan="2"align="center"><imgsrc="visual/DN_presentation_diagram/dn_techincal_presentation_10.jpg"alt="CI CD use case"width="400"></td>
167
152
</tr>
168
153
</table>
169
154
</div>
170
155
171
-
## Use Cases
172
-
173
-
DNA and DN support a wide range of robotic development and deployment scenarios:
174
-
175
156
### Development, Deployment and Release Modes
176
157
177
158
**🛠 Local and Remote Development (Develop Mode)**
178
159
Set up consistent development environments on local workstations and remote machines. DNA is installed on both local and remote hosts, enabling seamless development workflows across different locations.
179
160
180
-
**🚀 Deployment (Deploy Mode)**
161
+
**⏯️ Deployment (Deploy Mode)**
181
162
Deploy your robotic applications to target hosts with DNA installed. Streamlined deployment process ensures your applications run consistently in production environments.
182
163
183
164
**📦 Release Mode**
184
165
Create and distribute source code release. Released containers can run independently without requiring DNA installation on the target system.
185
166
186
167
### Specialized Workflows
187
168
188
-
**🔄 Continuous Integration Testing**
189
-
Run automated CI tests in isolated, reproducible environments. Perfect for validating code changes and maintaining code quality across your robotic projects. DNA/DN is CI framework agnostic. CI test can even be run localy.
169
+
**🔄 Testing and Continuous Integration (CI)**
170
+
Run automated CI tests in isolated, reproducible environments. Perfect for validating code changes and maintaining code quality across your robotic projects. DN/DNA is CI framework agnostic, it can run tests localy or on any CI server.
190
171
191
-
**⚡ SLURM Job Execution**
172
+
**🧪 SLURM Job Experiment**
192
173
Execute compute-intensive robotic algorithms and simulations on SLURM-managed clusters with consistent containerized environments.
193
174
194
-
**🌐 Multi-Platform Support**
175
+
**◐ Multi-Platform Support**
195
176
Work seamlessly across different operating systems and architectures:
196
177
-`l4t/arm64` (NVIDIA Jetson platforms)
197
178
-`darwin/arm64` (Mac OS X with Apple Silicon)
@@ -200,21 +181,70 @@ Work seamlessly across different operating systems and architectures:
200
181
**🎮 GPU Acceleration**
201
182
Leverage GPU computing power for robotics applications through nvidia-docker integration, supporting both ARM64 and x86 platforms.
202
183
203
-
<divalign="center">
204
-
<table>
205
-
<tr>
206
-
<td><imgsrc="visual/DN_presentation_diagram/dn_techincal_presentation_7.jpg"alt="Local development use case"width="400"></td>
207
-
<td><imgsrc="visual/DN_presentation_diagram/dn_techincal_presentation_8.jpg"alt="Remote development use case"width="400"></td>
208
-
</tr>
209
-
<tr>
210
-
<td><imgsrc="visual/DN_presentation_diagram/dn_techincal_presentation_6.jpg"alt="Deployment use case"width="400"></td>
# Install DNA on host (Check install option with $ bash install.bash --help)
201
+
bash install.bash
202
+
203
+
# Check available commands
204
+
dna
205
+
```
206
+
207
+
### Make a repository ready to use with DNA
208
+
209
+
```shell
210
+
# To DNA-initialize a project repository (must be git initialized)
211
+
cd<path/to/your/project/repository>
212
+
dna init
213
+
```
214
+
215
+
Which add a few directories to your project repository
216
+
```markup
217
+
your-project-repository/
218
+
├── .dockerized_norlab/ <- DNA configuration
219
+
├── artifact/ <- Runtime produced data (mounted)
220
+
├── external_data/ <- Pre-existing data made available in your container (mounted)
221
+
├── src/ <- Your repository source code (mounted/copied)
222
+
├── tests/ <- Your repository test code (mounted/copied)
223
+
...
224
+
├── .dockerignore <- Specify files/dir that won't be copied in container on build
225
+
├── .gitignore <- Specify files/dir to keep out of VCS
226
+
└── README.md <- Created if it did not already exist
227
+
```
228
+
Note:
229
+
- Any directory or file that already exist will be updated, not overriden.
230
+
- Content of the artifact direcotry is persistent. It will remain available even if the container is stoped or removed.
231
+
232
+
### Create, run and stop DN container
233
+
234
+
To spin a DN container and open a terminal in it, run the following command from anywhere in the DNA initialized repository
235
+
```shell
236
+
dna build develop
237
+
dna up
238
+
239
+
# When your done
240
+
dna down
241
+
```
242
+
243
+
> **📖 For detailed configuration and command documentation**, see the [Documentation](#documentation) section below.
244
+
245
+
[//]: #(</details>)
246
+
247
+
---
218
248
219
249
## Documentation
220
250
@@ -234,13 +264,15 @@ Leverage GPU computing power for robotics applications through nvidia-docker int
234
264
-[dna config](documentation/command/config.md) - Show configuration
235
265
-[dna version](documentation/command/version.md) - Show DNA version
236
266
237
-
### 🛠️ Setup & Configuration
267
+
### ⚙️ Setup & Configuration
238
268
239
269
-**[Installation Guide](documentation/install.md)** - Detailed installation instructions for all supported platforms
240
270
-**[Project Initialization & Configuration](documentation/project_initialization_and_configuration.md)** - Complete guide to setting up and configuring DNA projects
241
271
-**[IDE Integration](documentation/ide_integration.md)** - Setup instructions for development environments and IDEs
0 commit comments