{"id":15051016,"url":"https://github.com/Choaib-ELMADI/getting-started-with-ros","last_synced_at":"2025-10-31T05:31:01.718Z","repository":{"id":251475568,"uuid":"823795673","full_name":"Choaib-ELMADI/robot-operating-system","owner":"Choaib-ELMADI","description":"Learn the Robot Operating System (ROS), including both ROS1 Noetic and ROS2 Humble, installation and essential commands.","archived":false,"fork":false,"pushed_at":"2024-07-24T15:58:29.000Z","size":2572,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-12T17:42:01.556Z","etag":null,"topics":["cpp","debian-linux","linux","python","robot","robot-operating-system","robotics","ros","ros1","ros1-noetic","ros2","ros2-humble","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/Choaib-ELMADI.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-03T18:25:20.000Z","updated_at":"2024-08-16T11:15:23.000Z","dependencies_parsed_at":"2024-08-03T10:36:33.151Z","dependency_job_id":null,"html_url":"https://github.com/Choaib-ELMADI/robot-operating-system","commit_stats":null,"previous_names":["choaib-elmadi/robot-operating-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choaib-ELMADI%2Frobot-operating-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choaib-ELMADI%2Frobot-operating-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choaib-ELMADI%2Frobot-operating-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choaib-ELMADI%2Frobot-operating-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Choaib-ELMADI","download_url":"https://codeload.github.com/Choaib-ELMADI/robot-operating-system/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219855793,"owners_count":16556134,"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":["cpp","debian-linux","linux","python","robot","robot-operating-system","robotics","ros","ros1","ros1-noetic","ros2","ros2-humble","ubuntu"],"created_at":"2024-09-24T21:30:27.812Z","updated_at":"2025-10-31T05:30:55.890Z","avatar_url":"https://github.com/Choaib-ELMADI.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Choaib ELMADI - ROS](https://img.shields.io/badge/Choaib_ELMADI-ROS-8800dd)](https://elmadichoaib.vercel.app) ![Status - Learning](https://img.shields.io/badge/Status-Learning-2bd729)\n\n# ROS: Robot Operating System\n\nROS is a set of software libraries and tools that help you build robot applications.\n\n\u003cdiv align=\"center\"\u003e\n\n![ROS](./Images/ros.png)\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n![ROS1 - ROS Noetic](https://img.shields.io/badge/ROS1_-_ROS_Noetic-fb151a?style=for-the-badge)\n\n## Requirements\n\n- **Operating System**: Debian-based distribution, here I used Ubuntu 20.04.6 LTS.\n- **ROS Version**: ROS Noetic, latest version of ROS 1.\n\n## ROS Noetic Installation and Setup\n\n### 1. Make sure that your OS is installed correctly.\n\n### 2. Setup your sources.list:\n\n```bash\nsudo sh -c 'echo \"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main\" \u003e /etc/apt/sources.list.d/ros-latest.list'\n```\n\n### 3. Set up your keys:\n\n```bash\nsudo apt install curl\n```\n\n```bash\ncurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -\n```\n\n### 4. Installation:\n\n```bash\nsudo apt update\n```\n\n```bash\nsudo apt upgrade\n```\n\n#### **Desktop-Full Install (Recommended)**:\n\n```bash\nsudo apt install ros-noetic-desktop-full\n```\n\n### 5. Environment setup:\n\n#### In order to run ROS in different terminals, you must source the setup script in every bash terminal you use ROS in. You can do this manually in each terminal, using this command:\n\n```bash\nsource /opt/ros/noetic/setup.bash\n```\n\n#### Or you can add the command to your `.bashrc` file so that it is sourced automatically in every new terminal:\n\n```bash\necho \"source /opt/ros/noetic/setup.bash\" \u003e\u003e ~/.bashrc\n```\n\nVisit this link for more details: [Ubuntu install of ROS Noetic](https://wiki.ros.org/noetic/Installation/Ubuntu)\n\n\u003cbr /\u003e\n\n![ROS2 - ROS Foxy Fitzroy](https://img.shields.io/badge/ROS2_-_ROS_Foxy_Fitzroy-fb151a?style=for-the-badge)\n\n## Requirements\n\n- **Operating System**: Debian-based distribution, here I used Ubuntu 20.04.6 LTS.\n- **ROS Version**: ROS Foxy Fitzroy, a version of ROS 2.\n\n## ROS Foxy Installation and Setup\n\n### 1. Make sure that your OS is installed correctly.\n\n### 2. Set locale:\n\n```bash\nlocale  # check for UTF-8\n\nsudo apt update \u0026\u0026 sudo apt install locales\nsudo locale-gen en_US en_US.UTF-8\nsudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8\nexport LANG=en_US.UTF-8\n\nlocale  # verify settings\n```\n\n### 3. Setup sources:\n\n```bash\nsudo apt install software-properties-common\nsudo add-apt-repository universe\n```\n\n```bash\nsudo apt update \u0026\u0026 sudo apt install curl -y\nsudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg\n```\n\n```bash\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release \u0026\u0026 echo $UBUNTU_CODENAME) main\" | sudo tee /etc/apt/sources.list.d/ros2.list \u003e /dev/null\n```\n\n### 4. Installation:\n\n```bash\nsudo apt update\n```\n\n```bash\nsudo apt upgrade\n```\n\n#### **Desktop-Full Install (Recommended)**:\n\n```bash\nsudo apt install ros-foxy-desktop python3-argcomplete\n```\n\n#### **Development tools**:\n\n```bash\nsudo apt install ros-dev-tools\n```\n\n### 5. Environment setup:\n\n#### In order to run ROS in different terminals, you must source the setup script in every bash terminal you use ROS in. You can do this manually in each terminal, using this command:\n\n```bash\nsource /opt/ros/foxy/setup.bash\n```\n\n#### Or you can add the command to your `.bashrc` file so that it is sourced automatically in every new terminal:\n\n```bash\necho \"source /opt/ros/foxy/setup.bash\" \u003e\u003e ~/.bashrc\n```\n\nVisit this link for more details: [Ubuntu install of ROS Foxy Fitzroy](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChoaib-ELMADI%2Fgetting-started-with-ros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChoaib-ELMADI%2Fgetting-started-with-ros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChoaib-ELMADI%2Fgetting-started-with-ros/lists"}