{"id":19623125,"url":"https://github.com/robostack/ros-galactic","last_synced_at":"2025-04-28T04:31:37.497Z","repository":{"id":39030019,"uuid":"379888765","full_name":"RoboStack/ros-galactic","owner":"RoboStack","description":"Vinca build files for ROS 2 Galactic Geochelone","archived":false,"fork":false,"pushed_at":"2022-08-22T20:02:33.000Z","size":1195,"stargazers_count":21,"open_issues_count":9,"forks_count":14,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-05-22T21:28:53.471Z","etag":null,"topics":["robotics","ros"],"latest_commit_sha":null,"homepage":"https://robostack.github.io","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/RoboStack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"RoboStack","open_collective":"robostack"}},"created_at":"2021-06-24T10:35:40.000Z","updated_at":"2024-05-15T19:48:47.000Z","dependencies_parsed_at":"2022-07-14T03:30:43.642Z","dependency_job_id":null,"html_url":"https://github.com/RoboStack/ros-galactic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboStack%2Fros-galactic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboStack%2Fros-galactic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboStack%2Fros-galactic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboStack%2Fros-galactic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoboStack","download_url":"https://codeload.github.com/RoboStack/ros-galactic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224095552,"owners_count":17254919,"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":["robotics","ros"],"created_at":"2024-11-11T11:31:52.555Z","updated_at":"2024-11-11T11:31:54.182Z","avatar_url":"https://github.com/RoboStack.png","language":"Shell","readme":"# RoboStack (for ROS galactic)\n\nNote: ROS galactic is experimental and not actively contributed to by the RoboStack team anymore. [ROS Noetic](https://github.com/RoboStack/ros-noetic) or [ROS2 Humble](https://github.com/RoboStack/ros-humble) are recommended for most users at this time.\n\n[![Conda](https://img.shields.io/conda/dn/robostack-experimental/ros-galactic-desktop?style=flat-square)](https://anaconda.org/robostack/)\n[![Gitter](https://img.shields.io/gitter/room/RoboStack/Lobby?style=flat-square)](https://gitter.im/RoboStack/Lobby)\n[![GitHub Repo stars](https://img.shields.io/github/stars/robostack/ros-galactic?style=flat-square)](https://github.com/RoboStack/ros-galactic/)\n[![QUT Centre for Robotics](https://img.shields.io/badge/collection-QUT%20Robotics-%23043d71?style=flat-square)](https://qcr.github.io/)\n\n[![Platforms](https://img.shields.io/badge/platforms-linux%20%7C%20win%20%7C%20macos%20%7C%20macos_arm64%20%7C%20linux_aarch64-green.svg?style=flat-square)](https://github.com/RoboStack/ros-galactic)\n[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/30/buildbranch_linux?label=build%20linux\u0026style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=30\u0026_a=summary)\n[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/31/buildbranch_win?label=build%20win\u0026style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=31\u0026_a=summary)\n[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/32/buildbranch_osx?label=build%20osx\u0026style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=32\u0026_a=summary)\n[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/34/buildbranch_osx_arm64?label=build%20osx-arm64\u0026style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=34\u0026_a=summary)\n[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/33/buildbranch_linux_aarch64?label=build%20aarch64\u0026style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=33\u0026_a=summary)\n\n[![GitHub issues](https://img.shields.io/github/issues-raw/robostack/ros-galactic?style=flat-square)](https://github.com/RoboStack/ros-galactic/issues)\n[![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/robostack/ros-galactic?style=flat-square)](https://github.com/RoboStack/ros-galactic/issues?q=is%3Aissue+is%3Aclosed)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr-raw/robostack/ros-galactic?style=flat-square)](https://github.com/RoboStack/ros-galactic/pulls)\n[![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed-raw/robostack/ros-galactic?style=flat-square)](https://github.com/RoboStack/ros-galactic/pulls?q=is%3Apr+is%3Aclosed)\n\n[__Table with all available packages \u0026 architectures__](https://robostack.github.io/galactic.html)\n\n## Why ROS and Conda?\nWelcome to RoboStack, which tightly couples ROS with Conda, a cross-platform, language-agnostic package manager. We provide ROS binaries for Linux, macOS, Windows and ARM (Linux). Installing other recent packages via conda-forge side-by-side works easily, e.g. you can install TensorFlow/PyTorch in the same environment as ROS galactic without any issues. As no system libraries are used, you can also easily install ROS galactic on any recent Linux Distribution - including older versions of Ubuntu. As the packages are pre-built, it saves you from compiling from source, which is especially helpful on macOS and Windows. No root access is required, all packages live in your home directory. We have recently written up a [paper](https://arxiv.org/abs/2104.12910) and [blog post](https://medium.com/robostack/cross-platform-conda-packages-for-ros-fa1974fd1de3) with more information.\n\n## Attribution\nIf you use RoboStack in your academic work, please refer to the following paper:\n```bibtex\n@article{FischerRAM2021,\n    title={A RoboStack Tutorial: Using the Robot Operating System Alongside the Conda and Jupyter Data Science Ecosystems},\n    author={Tobias Fischer and Wolf Vollprecht and Silvio Traversaro and Sean Yen and Carlos Herrero and Michael Milford},\n    journal={IEEE Robotics and Automation Magazine},\n    year={2021},\n    doi={10.1109/MRA.2021.3128367},\n}\n```\n\n## Installation\n\nTo get started with conda (or mamba) as package managers, you need to have a base conda installation. Please do _not_ use the Anaconda installer, but rather start with [`miniforge` / `mambaforge`](https://github.com/conda-forge/miniforge) or [`miniconda`](https://docs.conda.io/en/latest/miniconda.html), which are much more \"minimal\" installers. These installers will create a \"base\" environment that contains the package managers conda (and mamba if you go with `mambaforge`). After this installation is done, you can move on to the next steps.\n\n\u003e Note: Make sure to _not_ install the ROS packages in your base environment as this leads to issues down the track. On the other hand, conda and mamba must not be installed in the ros_galactic, they should only be installed in base. Also do not source the system ROS environment, as the `PYTHONPATH` set in the setup script conflicts with the conda environment.\n\n```bash\n# if you don't have mamba yet, install it first:\nconda install mamba -c conda-forge\n\n# now create a new environment\nmamba create -n ros_galactic ros-galactic-desktop python=3.9 -c robostack-experimental -c conda-forge --no-channel-priority --override-channels\nconda activate ros_galactic\n\n# optionally, install some compiler packages if you want to e.g. build packages in a colcon_ws:\nmamba install compilers cmake pkg-config make ninja colcon-common-extensions\n\n# on Windows, install Visual Studio 2017 or 2019 with C++ support \n# see https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160\n\n# on Windows, install the Visual Studio command prompt via Conda:\nmamba install vs2019_win-64\n\n# note that in this case, you should also install the necessary dependencies with conda/mamba, if possible\n\n# reload environment to activate required scripts before running anything\n# on Windows, please restart the Anaconda Prompt / Command Prompt!\nconda deactivate\nconda activate ros_galactic\n\n# if you want to use rosdep, also do:\nmamba install rosdep\nrosdep init  # note: do not use sudo!\nrosdep update\n```\n\n**Note: at the moment on Windows only the Command Prompt terminal is supported, while Powershell is not supported.**\n\n## Reporting issues\nFeel free to open issues in this repository's [issue tracker](https://github.com/RoboStack/ros-galactic/issues) (please check whether your problem is already listed there before opening a new issue) or come around on [Gitter](https://gitter.im/RoboStack/Lobby) to have a chat / ask questions. Please note that this repository is _not an official distribution of ROS_ and relies on volunteers. It is further highly experimental - unfortunately things might not work immediately out-of-the-box, although we try our best.\n\n## Jupyter-ROS and JupyterLab-ROS (note: there is no support for ROS2 yet in these projects)\nTo install Jupyter-ROS and JupyterLab-ROS which provide interactive experiences for robotics developers in Jupyter Notebooks, please see the relevant repositories for [Jupyter-ROS](https://github.com/RoboStack/jupyter-ros) and [JupyterLab-ROS](https://github.com/RoboStack/jupyterlab-ros).\n\n## FAQ\n\n#### When trying to build packages, you get CMake errors that packages could not be found, such as\n```\nCMake Error at /Users/me/miniconda3/envs/ros_galactic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):\n  Could not find a package configuration file provided by \"std_msgs\" with any\n  of the following names:\n\n    std_msgsConfig.cmake\n    std_msgs-config.cmake\n```\nFirst, make sure that the package is installed; in the example case it would be `mamba install ros-galactic-std-msgs`. You can use `rosdep` to install dependencies. Second, make sure that your `CMAKE_PREFIX_PATH` points to your `ros_galactic`, in the example case you could achieve this by `export CMAKE_PREFIX_PATH=/Users/me/miniconda3/envs/ros_galactic/`. This might happen if `CMAKE_PREFIX_PATH` is not empty when you activate your `ros_galactic`.\n\n#### Can I use RoboStack in a non-conda virtual environment?\nRoboStack is based on conda-forge and will not work without conda. However, check out [rospypi](https://github.com/rospypi/simple2) which can run in a pure Python virtualenv. rospypi supports tf2 and other binary packages.\n\n\n## Contributing\nThis project is in early stages and we are looking for contributors to help it grow. Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for ways to contribute.\n\n### Debugging / Running the \"RoboStack\" pipeline locally\n\nThe robostack project uses [vinca](https://github.com/RoboStack/vinca) to generate recipes from a yaml file. The yaml file is the `vinca_PLATFORM.yaml` files in this repository.\n\nTo walk through the steps of setting up vinca and running builds:\n\n```bash\n# make sure to add conda-forge to your channels in `~.condarc`\nmamba install pip boa -c conda-forge\n\n# install vinca\npip install git+https://github.com/RoboStack/vinca.git --no-deps\n\n# move the vinca file you're interested in to `vinca.yaml`\ncp vinca_linux_64.yaml vinca.yaml\n\n# now you can run vinca. The platform argument is optional\nvinca --platform=linux-64\n\n# You can check the recipe and additional created files now\ncat recipe.yaml\ncat build_ament_cmake.sh ...\n\n# To build the package(s) run boa.\n# the -m applies the pinnings (versions) mentioned in the given yaml files\nboa build . -m .ci_support/conda_forge_pinnings.yaml -m conda_build_config.yaml\n\n# ALTERNATIVELY:\n# Note you can also build \"multiple\" recipes which can be more efficient as not \n# all source tarballs are downloaded at once. \nvinca -m \nboa build recipes/ -m ... (as above)\n\n# from this you can generate an azure pipeline locally, e.g.\nvinca-azure -d recipes -t mytriggerbranch -p linux-64\n# which will create a `linux.yml` file that contains the azure pipeline definition\n```\n","funding_links":["https://github.com/sponsors/RoboStack","https://opencollective.com/robostack"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobostack%2Fros-galactic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobostack%2Fros-galactic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobostack%2Fros-galactic/lists"}