{"id":15009338,"url":"https://github.com/redleader962/dockerized-snow","last_synced_at":"2026-03-15T09:02:30.856Z","repository":{"id":45075440,"uuid":"377350243","full_name":"RedLeader962/Dockerized-SNOW","owner":"RedLeader962","description":"Containerized development workflow for the NorLab_MPPI and SNOW_AutoRally projects leveraging nvidia-docker technology. Believe it or not, it's configured for developing with ROS melodic in python 3.6.","archived":false,"fork":false,"pushed_at":"2022-03-22T22:39:58.000Z","size":13052,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-19T07:42:21.818Z","etag":null,"topics":["deep-reinforcement-learning","model-predictive-control","nvidia-docker","python-3-6","robotics","ros-melodic"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RedLeader962.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-16T02:39:57.000Z","updated_at":"2022-01-10T19:25:51.000Z","dependencies_parsed_at":"2022-08-26T10:00:19.971Z","dependency_job_id":null,"html_url":"https://github.com/RedLeader962/Dockerized-SNOW","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedLeader962%2FDockerized-SNOW","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedLeader962%2FDockerized-SNOW/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedLeader962%2FDockerized-SNOW/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedLeader962%2FDockerized-SNOW/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedLeader962","download_url":"https://codeload.github.com/RedLeader962/Dockerized-SNOW/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243234051,"owners_count":20258384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-reinforcement-learning","model-predictive-control","nvidia-docker","python-3-6","robotics","ros-melodic"],"created_at":"2024-09-24T19:24:35.735Z","updated_at":"2025-12-25T09:04:43.156Z","avatar_url":"https://github.com/RedLeader962.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://norlab.ulaval.ca\"\u003e\n\u003cimg src=\"visual/norlab_logo_acronym_dark.png\" width=\"200\"\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003c/div\u003e\n\n# _Dockerized-SNOW_\n\n\n\u003cdiv align=\"center\"\u003e\n\u003cp\u003e\n\u003csup\u003e\n\u003cb\u003eProject related link: \u003c/b\u003e \u0026nbsp; \n\u003ca href=\"https://redleader.myjetbrains.com/youtrack/dashboard?id=bce3112d-bda1-425c-8628-802a047be4d3\"\u003eNLSAR\u003c/a\u003e\n(Youtrack) \u0026nbsp; • \u0026nbsp;  \n\u003ca href=\"https://hub.docker.com/u/norlabsnow\"\u003enorlabsnow\u003c/a\u003e\n(Docker Hub) \u0026nbsp; • \u0026nbsp; \n\u003ca href=\"https://github.com/norlab-ulaval/NorLab_MPPI\"\u003eNorLab_MPPI\u003c/a\u003e\n(GitHub) \u0026nbsp; • \u0026nbsp; \n\u003ca href=\"https://github.com/RedLeader962/SNOW_AutoRally\"\u003eSNOW_AutoRally\u003c/a\u003e\n(GitHub)\n\u0026nbsp;\n\u003c/sup\u003e\n\u003c/p\u003e\n\n[comment]: \u003c\u003e (\u003cbr\u003e)\n\u003c/div\u003e\n\nContainerized development workflow for the _NorLab_MPPI_ and _SNOW_AutoRally_ projects leveraging [_nvidia-docker_](https://github.com/NVIDIA/nvidia-docker) technology. \nBelieve it or not, it's configured for developing with **ROS melodic** in **python 3.6**.\n\n**Key benefit:** custom dependency management, development environment consistency, easy deployment to robots compute box and results reproducibility.    \n \n\nAuthor: [Luc Coupal](https://redleader962.github.io) \n\n![](visual/splash_and_promt_screenshot_6.png)\n\n\u003c!-- \n```shell\n\n                                          .|'''.|                                               \n                                          ||..  '                                               \n····································· Dockerized-SNOW ••········································\n                                           ''|||.                                               \n                                         .     '||                                              \n                                         |'....|'                                               \n\n```\n--\u003e\n\n\u003c!-- \n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cp\u003e\n\u003ca href=\"https://viewer.diagrams.net/?target=blank\u0026highlight=0000ff\u0026edit=_blank\u0026layers=1\u0026nav=1\u0026title=dockerized_snow_plan.drawio#Uhttps%3A%2F%2Fraw.githubusercontent.com%2FRedLeader962%2FDockerized-SNOW%2Fmaster%2Fdrawio%2Fdockerized_snow_plan.drawio\"\u003e\n\u003cimg src=\"drawio/dockerized_snow_plan.svg\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003csub\u003e\n(\u0026nbsp; View diagram  \n\u003ca href=\"https://viewer.diagrams.net/?target=blank\u0026highlight=0000ff\u0026edit=_blank\u0026layers=1\u0026nav=1\u0026title=dockerized_snow_plan.drawio#Uhttps%3A%2F%2Fraw.githubusercontent.com%2FRedLeader962%2FDockerized-SNOW%2Fmaster%2Fdrawio%2Fdockerized_snow_plan.drawio\"\u003e\nfullscreen\n\u003c/a\u003e\n\u0026nbsp; • \u0026nbsp;\n\u003ca href=\"https://app.diagrams.net/?mode=github#HRedLeader962%2FDockerized-SNOW%2Fmaster%2Fdrawio%2Fdockerized_snow_plan.drawio\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eedit\n\u003c/a\u003e\ndiagram \u0026nbsp;)\n\u003c/sub\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n--\u003e\n\n\u003cbr\u003e\n\n## Container prompt legend\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cp\u003e\n\u003cimg src=\"drawio/prompt_legend.svg\"\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\n\n[comment]: \u003c\u003e (![]\u0026#40;drawio/prompt_legend.png\u0026#41;)\n\n\u003cbr\u003e\n\n## Usage\n\n\u003cdetails open\u003e\n  \u003csummary style=\"font-size: large;\"\u003eQuick start for the NorLab_MPPI project on \u003cem\u003ex86\u003c/em\u003e workstation\u003c/summary\u003e\n  \u003cbr\u003e\n\n  - **Requirement:** _docker_ and _nvidia container toolkit_ must be installed ([follow install step 1 and 2](how_to_readme/README_x86_architecture.md))\n  - **Tips:** You can use the `--help` flag for usage instruction on most  `ds_*` command\n  \n  ```shell\n  # Create a directory for your development source code if you dont already have one\n  mkdir -p ~/Repositories \u0026\u0026 cd ~/Repositories\n  \n  # Clone both repositories \n  sudo git clone https://github.com/norlab-ulaval/NorLab_MPPI.git\n  sudo git clone https://github.com/RedLeader962/Dockerized-SNOW.git\n  \n  # Install aliases and check Nvidia NVCC  \n  cd ~/Repositories/Dockerized-SNOW\n  source ds_setup.bash\n  \n  # Pull the norlab-mppi-develop image from norlabsnow Dockerhub with the x86-ubuntu18.04 tag\n  sudo docker pull norlabsnow/norlab-mppi-develop:x86-ubuntu18.04 \n  \n  # Create a new docker image instance for development on your machine and start working on the \n  # NorLab_MPPI project using ROS melodic, Python 3 and Pytorch right away.\n  ds_instantiate_develop --runTag=x86-ubuntu18.04 --name=MyCoolName --src=\"$HOME/Repositories/NorLab_MPPI\"\n\n  ```\n\n  To open an terminal inside _MyCoolNmae_, use the following convenient script \n  ```shell \n  ds_attach MyCoolNmae\n  ```\n  or use `sudo docker exec -it MyCoolName bash`\n\n  \u003cbr\u003e\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary style=\"font-size: large;\"\u003eQuick start for the NorLab_MPPI project on \u003cem\u003eApple M1 (arm64)\u003c/em\u003e workstation\u003c/summary\u003e\n  \u003cbr\u003e\n\n  - It's the same image as the `arm64-l4t` but with PyTorch and Numba compiled specifically for `arm64-Darwin`\n  - **Tips:** You can use the `--help` flag for usage instruction on most  `ds_*` command\n  - Be advise, cuda is not supported on Apple computer so PyTorch and Numba will work on cpu \n  \n  ```shell\n  # Create a directory for your development source code if you dont already have one\n  mkdir -p ~/Repositories \u0026\u0026 cd ~/Repositories\n  \n  # Clone both repositories \n  sudo git clone https://github.com/norlab-ulaval/NorLab_MPPI.git\n  sudo git clone https://github.com/RedLeader962/Dockerized-SNOW.git\n  \n  # Install aliases\n  cd ~/Repositories/Dockerized-SNOW\n  source ds_setup.bash\n  \n  # Pull the norlab-mppi-develop image from norlabsnow Dockerhub with the arm64-Darwin-ubuntu18.04 tag\n  sudo docker pull norlabsnow/norlab-mppi-develop:arm64-Darwin-ubuntu18.04\n  \n  # Create a new docker image instance for development on your machine and start working on the \n  # NorLab_MPPI project using ROS melodic, Python 3 and Pytorch right away.\n  ds_instantiate_develop --runTag=arm64-Darwin-ubuntu18.04 --osx --name=MyCoolName --src=\"$HOME/Repositories/NorLab_MPPI\"\n\n  ```\n\n  To open an terminal inside _MyCoolName_, use the following convenient script \n  ```shell \n  ds_attach MyCoolName\n  ```\n  or use `sudo docker exec -it MyCoolName bash`\n\n  \u003cbr\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary style=\"font-size: large;\"\u003eQuick start for the NorLab_MPPI project on \u003cem\u003eApple (x86)\u003c/em\u003e workstation\u003c/summary\u003e\n  \u003cbr\u003e\n\n  - **Tips:** You can use the `--help` flag for usage instruction on most  `ds_*` command\n  - Be advise, cuda is not supported on Apple computer so PyTorch and Numba will work on cpu only\n  \n  Use a x86 docker image and let docker use roseta to emulate the x86 architecture\n  ```shell\n  # Install roseta\n  softwareupdate --install-rosetta\n  ```\n\n  ```shell\n  # Create a directory for your development source code if you dont already have one\n  mkdir -p ~/Repositories \u0026\u0026 cd ~/Repositories\n  \n  # Clone both repositories \n  sudo git clone https://github.com/norlab-ulaval/NorLab_MPPI.git\n  sudo git clone https://github.com/RedLeader962/Dockerized-SNOW.git\n  \n  # Install aliases \n  cd ~/Repositories/Dockerized-SNOW\n  source ds_setup.bash\n  \n  # Pull the norlab-mppi-develop image from norlabsnow Dockerhub with the arm64-Darwin-ubuntu18.04 tag\n  sudo docker pull norlabsnow/norlab-mppi-develop:x86-ubuntu18.04\n  \n  # Create a new docker image instance for development on your machine and start working on the \n  # NorLab_MPPI project using ROS melodic, Python 3 and Pytorch right away.\n  ds_instantiate_develop --platform='linux/amd64' --runTag=x86-ubuntu18.04 --osx --name=MyCoolName --src=\"$HOME/Repositories/NorLab_MPPI\"\n  # Runnning `uname -m` inside the container will confirm the type of architecture\n\n  ```\n\n  To open an terminal inside _MyCoolname_, use the following convenient script \n  ```shell \n  ds_attach MyCoolname\n  ```\n  or use `sudo docker exec -it MyCoolName bash`\n\n  \u003cbr\u003e\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary style=\"font-size: large;\"\u003eQuick start for the SNOW_AutoRally project on \u003cem\u003ex86\u003c/em\u003e workstation\u003c/summary\u003e\n  \u003cbr\u003e\n\n  - **Requirement:** _docker_ and _nvidia container toolkit_ must be installed ([follow install step 1 and 2](how_to_readme/README_x86_architecture.md))\n  - **Tips:** You can use the `--help` flag for usage instruction on any dockerized-snow bash script\n  \n  ```shell\n  # Create a directory for your development source code if you dont already have one\n  mkdir -p ~/Repositories \u0026\u0026 cd ~/Repositories\n  \n  # Clone both repositories \n  sudo git clone https://github.com/RedLeader962/SNOW_AutoRally.git\n  sudo git clone https://github.com/RedLeader962/Dockerized-SNOW.git\n  cd ~/Repositories/Dockerized-SNOW\n  \n  # Pull the norlab-mppi-develop image from norlabsnow Dockerhub with the x86-ubuntu18.04 tag\n  bash ds_build_dependencies.bash --x86 --GT-AR\n  bash ds_build_develop.bash --x86 --GT-AR\n  \n  \n  # Create a new docker image instance for development on your machine and start working on the \n  # NorLab_MPPI project using ROS melodic, Python 3 and Pytorch right away.\n  bash ds_instantiate_develop.bash --runTag=x86-ubuntu18.04 --name=THEgtar --src=\"$HOME/Repositories/SNOW_AutoRally\"\n  \n  \n  \n                                            .|'''.|                                               \n                                            ||..  '                                               \n  ····································· Dockerized-SNOW ••········································\n                                             ''|||.                                               \n                                           .     '||                                              \n                                           |'....|'                                               \n  \n                                   https://norlab.ulaval.ca                                       \n                                https://redleader962.github.io                                    \n  \n  root@norlab-og:/#\n  ```\n  Then follow the step at [SNOW_AutoRally: Autonomous Driving in Simulation using MPPI](https://github.com/RedLeader962/SNOW_AutoRally#autonomous-driving-in-simulation-using-mppi)\n  ```docker\n  roslaunch autorally_gazebo autoRallyTrackGazeboSim.launch\n  \n  ...\n  ```\n\n  \u003cbr\u003e\n\u003c/details\u003e \n\n\u003cbr\u003e\n\n\n## High level architecture  \n\n\u003cdiv align=\"center\"\u003e\n\u003cp\u003e\n\u003ca href=\"https://viewer.diagrams.net/?target=blank\u0026highlight=0000ff\u0026edit=_blank\u0026layers=1\u0026nav=1\u0026title=dockerized_snow_norlab_mppi_plan2.drawio#Uhttps%3A%2F%2Fraw.githubusercontent.com%2FRedLeader962%2FDockerized-SNOW%2Fmaster%2Fdrawio%2Fdockerized_snow_norlab_mppi_plan2.drawio\"\u003e\n\u003cimg src=\"drawio/dockerized_snow_norlab_mppi_plan2.svg\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003csub\u003e\n(\u0026nbsp; View diagram  \n\u003ca href=\"https://viewer.diagrams.net/?target=blank\u0026highlight=0000ff\u0026edit=_blank\u0026layers=1\u0026nav=1\u0026title=dockerized_snow_norlab_mppi_plan2.drawio#Uhttps%3A%2F%2Fraw.githubusercontent.com%2FRedLeader962%2FDockerized-SNOW%2Fmaster%2Fdrawio%2Fdockerized_snow_norlab_mppi_plan2.drawio\"\u003e\nfullscreen\n\u003c/a\u003e\n\u0026nbsp; • \u0026nbsp;\n\u003ca href=\"https://app.diagrams.net/?mode=github#HRedLeader962%2FDockerized-SNOW%2Fmaster%2Fdrawio%2Fdockerized_snow_norlab_mppi_plan2.drawio\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eedit\n\u003c/a\u003e\ndiagram \u0026nbsp;)\n\u003c/sub\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n\n---\n### Instruction:\n- [**★ | Setup PyCharm for local development using a Docker Python interpreter**](how_to_readme/README_setup_pycharm_python_docker_interpreter.md)\n- [**Using the _nvidia-docker_ image on a _Jetson_ device (`arm64-l4t`)**](how_to_readme/README_Jetson_builded.md)\n- [**Using the _nvidia-docker_ image on a `x86` host**](how_to_readme/README_x86_architecture.md)\n- [**Building the `arm64-l4t` nvidia-docker image on a `x86` host using _qemu_ virtualization**](how_to_readme/README_cross_compiler.md)\n\n### How-to\n- [**How-to _nvidia-docker_ manualy (a quick start)**](how_to_readme/README_docker_manualy_quickstart.md)\n- [**Test AutoRally Configuration (**Revised instruction**)**](https://github.com/RedLeader962/SNOW_AutoRally#test-autorally-configuration-in-gazebo-revised-instruction)\n- [How-to push image localy builded image to docker hub from command line](how_to_readme/README_push_to_dockerhub.md)\n\n\n### Images:\nTo pull the latest image from _docker hub_, execute the following in terminal: \n```shell\nsudo docker pull \u003ccontainer name\u003e:\u003ctag\u003e\n```\nwith `\u003ccontainer name\u003e`= _theImageName_ and `\u003ctag\u003e`= _theHostArchitecture_  \n\n\u003c!-- \nLatest images for _Jetson_: \n  - `norlabsnow/gt-autorally/deploy:arm64-l4t`\n  - `norlabsnow/gt-autorally/develop:arm64-l4t`\n  - `norlabsnow/gt-autorally/dependencies:arm64-l4t`\n\nLatest images for _x86_64_ workstion: \n  - `norlabsnow/gt-autorally/deploy:x86`\n  - `norlabsnow/gt-autorally/develop:x86`\n  - `norlabsnow/gt-autorally/dependencies:x86`\n\nBase image: \n  - `nvcr.io/nvidia/l4t-base:r32.5.0`\n  - `nvcr.io/nvidia/cudagl:11.3.1-devel-ubuntu18.04`\n--\u003e\n\n---\n### References:\n\n\u003cdetails\u003e\n\u003csummary\u003envidia-docker Documentation:\u003c/summary\u003e\n\n- [nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs](https://github.com/NVIDIA/nvidia-docker) \n  - [NVIDIA Container Runtime on _Jetson_](https://github.com/NVIDIA/nvidia-docker/wiki/NVIDIA-Container-Runtime-on-Jetson)\n  - [Driver containers](https://github.com/NVIDIA/nvidia-docker/wiki/Driver-containers)\n- [NVIDIA Cloud Native Technologies](https://docs.nvidia.com/datacenter/cloud-native/#)\n- Base image for _jetson_:\n  - https://ngc.nvidia.com/catalog/containers/nvidia:l4t-base\n  - https://developer.nvidia.com/embedded/jetson-cloud-native\n- Base image with _CUDA_ and _OpenGL_ support:\n  - https://hub.docker.com/r/nvidia/cudagl/\n  - https://github.com/NVIDIA/nvidia-docker/wiki/CUDA\n  - https://ngc.nvidia.com/catalog/containers/nvidia:cudagl\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDocker Documentation:\u003c/summary\u003e\n\n- [Use the Docker command line | Docker Documentation](https://docs.docker.com/engine/reference/commandline/cli/)\n- [Dockerfile reference | Docker Documentation](https://docs.docker.com/engine/reference/builder/)\n\n\u003c/details\u003e\n\n---\n\n\n\n\n \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredleader962%2Fdockerized-snow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredleader962%2Fdockerized-snow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredleader962%2Fdockerized-snow/lists"}