diff --git a/docs/en/installation.md b/docs/en/installation.md index 39f8d8f..c450bd5 100644 --- a/docs/en/installation.md +++ b/docs/en/installation.md @@ -1,38 +1,92 @@ # Framework Installation Guide -Important! Install only with Ubuntu 22.04 operating system +**Important!** Compatible only with Ubuntu 22.04. -First, you need to install [ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html). A minimal installation is recommended with `ros-dev-tools`. +Below are the steps to set up the framework. -As the second step, you need to build [`ros2_control`](https://github.com/ros-controls/ros2_control) from source using this [fork](https://github.com/solid-sinusoid/ros2_control/tree/gz-ros2-cartesian-controllers). Alternatively, you can use the [`vcstool`](https://github.com/dirk-thomas/vcstool) method, which is included with the basic ROS2 packages. +--- -If using `vcstool`, the required packages will be cloned into the same workspace as the framework. The command would look like this: +## Step 1: Install ROS2 Humble + +Start by installing [ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html). +A minimal installation of `ros-humble-ros-base` is recommended, along with the `ros-dev-tools` package. + +--- + +## Step 2: Initialize `rosdep` (if not done already) + +Run the following commands: +```sh +sudo rosdep init +rosdep update +``` + +--- + +## Step 3: Verify ROS2 Environment + +Before continuing, ensure that the ROS2 environment is activated. Run: +```sh +source /opt/ros/humble/setup.bash +``` + +--- + +## Step 4: Framework Installation + +```sh +cd +mkdir -p robossembler-ws/src && cd robossembler-ws/src +git clone --recurse-submodules https://gitlab.com/robossembler/robossembler-ros2.git +``` + +Next, build [`ros2_control`](https://github.com/ros-controls/ros2_control) from source using this [fork](https://github.com/solid-sinusoid/ros2_control/tree/gz-ros2-cartesian-controllers). +Alternatively, you can use [`vsctool`](https://github.com/dirk-thomas/vcstool), which is included in the basic ROS2 packages. + +If you choose to use `vcstool`, the necessary packages will be cloned into the same workspace as the framework. Use this command: ```sh vcs import . < robossembler-ros2/repos/all-deps.repos ``` -Additionally, you can run the following command to install all required Python libraries: +You can also install all required Python libraries by running: ```shell pip install -r robossembler-ros2/repos/requirements.txt +# If you encounter an error while installing Shapely: +sudo apt install libgeos-dev ``` -> [!IMPORTANT] -> Note that to run the above command, you need to install `git lfs` since the `requirements.txt` file includes the `rbs_assets_library` module, which contains large files but is installed as a Python module. +> **[!IMPORTANT]** +> Ensure that `git lfs` is installed. The `requirements.txt` file includes the `rbs_assets_library` module, which contains large files and is installed as a Python module. -Make sure to execute this command in the `{robossembler_ws}/src/` directory. +Run these commands in the `robossembler-ws/src/` directory. -For those who prefer a concise sequence of commands, here it is: +Install dependencies using `rosdep`: +```sh +cd ~/robossembler-ws +rosdep install --from-paths src -y --ignore-src --rosdistro ${ROS_DISTRO} +``` + +Build the framework using `colcon`: +```sh +colcon build +``` + +--- + +## Full Command Sequence + +Below is the full set of commands to set up the framework: ```sh cd -mkdir -p robossembler-ros2/src && cd robossembler-ros2/src -git clone https://seed.robossembler.org/z46gtVRpXaXrGQM7Fxiqu7pLy7kip.git robossembler-ros2 -# Or if you prefer Radicle: +mkdir -p robossembler-ws/src && cd robossembler-ws/src +git clone --recurse-submodules https://gitlab.com/robossembler/robossembler-ros2.git +# Or, if you prefer Radicle: +git clone --recurse-submodules https://seed.robossembler.org/z46gtVRpXaXrGQM7Fxiqu7pLy7kip.git robossembler-ros2 rad clone rad:z46gtVRpXaXrGQM7Fxiqu7pLy7kip -# Or if you prefer Gitlab -git clone https://gitlab.com/robossembler/robossembler-ros2.git + vcs import . < robossembler-ros2/repos/all-deps.repos pip install -r robossembler-ros2/repos/requirements.txt cd .. -rosdep install --from-paths src -y --ignore-src -colcon build --symlink-install +rosdep install --from-paths src -y --ignore-src --rosdistro ${ROS_DISTRO} +colcon build ``` diff --git a/docs/ru/installation.md b/docs/ru/installation.md index 0124aad..8ef31cc 100644 --- a/docs/ru/installation.md +++ b/docs/ru/installation.md @@ -1,40 +1,87 @@ # Инструкция по установке фреймворка -Важно! Устанавливаться только с операционной системой Ubuntu 22.04 +**Важно!** Совместимо только с операционной системой Ubuntu 22.04. -Первым делом необходимо установить [ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html). Рекомендуется минимальная установка `ros-humble-base`, а также `ros-dev-tools` пакеты. +Ниже приведена последовательность шагов для настройки фреймворка. -Вторым шагом надо собрать [`ros2_control`](https://github.com/ros-controls/ros2_control) из исходников из этого [форка](https://github.com/solid-sinusoid/ros2_control/tree/gz-ros2-cartesian-controllers) стоит отметить, что также существует альтернативная установка с использованием [`vsctool`](https://github.com/dirk-thomas/vcstool) который поставляется с базовыми пакетами ROS2. +--- -Если устанавливать через `vcstool` тогда необходимые пакеты будут клонированы в тоже рабочее пространство, что и сам фреймворк. Сама команда будет выглядеть так +## Шаг 1: Установка ROS2 Humble + +Для начала установите [ROS2 Humble](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html). +Рекомендуется минимальная установка `ros-humble-ros-base`, а также пакет `ros-dev-tools`. + +--- + +## Шаг 2: Проверка среды ROS2 + +Перед продолжением убедитесь, что среда ROS2 активирована. Для этого выполните: ```sh -vcs import . < robossembler-ros2/repos/all-deps.repos +source /opt/ros/humble/setup.bash ``` -Заодно можно выполнить команду для установки всех требуемых библиотек Python -```shell -pip install -r robossembler-ros2/repos/requirements.txt +--- +## Шаг 3: Если Вы этого не делали то сделайте +```sh +sudo rosdep init +rosdep update ``` +--- -> [!IMPORTANT] -> Стоит отметить, что для того, чтобы выполнить следующую команду вам необходимо -> установить `git lfs` так как в `requirements.txt` есть модуль `rbs_assets_library` который содержит -> в себе тяжелые файлы, но при этом устанавливается как модуль python. +## Шаг 4: Установка фреймворка -При этом команду надо выполнять в директории `{robossembler_ws}/src/` - -Более четкая последовательность команд кому лень: ```sh cd -mkdir -p robossembler-ros2/src && cd robossembler-ros2/src -git clone https://seed.robossembler.org/z46gtVRpXaXrGQM7Fxiqu7pLy7kip.git robossembler-ros2 -# Или если вы предпочитаете radicle -rad clone rad:z46gtVRpXaXrGQM7Fxiqu7pLy7kip -# Или же с gitlab -git clone https://gitlab.com/robossembler/robossembler-ros2.git -vcs import . < robossembler-ros2/repos/all-deps.repos -pip insatll -r robossembler-ros2/repos/requirements.txt -cd .. -rosdep install --from-paths src -y --ignore-src -colcon build --symlink-install +mkdir -p robossembler-ws/src && cd robossembler-ws/src +git clone --recurse-submodules https://gitlab.com/robossembler/robossembler-ros2.git +``` + +Далее необходимо собрать [`ros2_control`](https://github.com/ros-controls/ros2_control) из исходников, используя этот [форк](https://github.com/solid-sinusoid/ros2_control/tree/gz-ros2-cartesian-controllers). +Также доступна альтернатива с использованием [`vsctool`](https://github.com/dirk-thomas/vcstool), который входит в состав базовых пакетов ROS2. + +Если вы решили использовать `vcstool`, нужные пакеты будут клонированы в тоже рабочее пространство, что и сам фреймворк. Команда для этого выглядит следующим образом: +```sh +vcs import . < robossembler-ros2/repos/all-deps.repos +``` + +Вы также можете установить все необходимые библиотеки Python, выполнив команду: +```shell +pip install -r robossembler-ros2/repos/requirements.txt +# Если Вы получили ошибку с установкой Shapely +sudo apt install libgeos-dev +``` + +> **[!ВНИМАНИЕ]** +> Убедитесь, что у вас установлен `git lfs`. В файле `requirements.txt` указан модуль `rbs_assets_library`, который содержит большие файлы и устанавливается как Python-модуль. + +Эти команды нужно выполнять в директории `robossembler-ws/src/`. + +Установка зависимостей при помощи `rosdep` +```sh +cd ~/robossembler-ws +rosdep install --from-paths src -y --ignore-src --rosdistro ${ROS_DISTRO} +``` + +Сборка фреймворка при помощи `colcon` +```sh +colcon build +``` + +--- +## Полная последовательность команд + +Ниже приведён полный набор команд для настройки фреймворка: +```sh +cd +mkdir -p robossembler-ws/src && cd robossembler-ws/src +git clone --recurse-submodules https://gitlab.com/robossembler/robossembler-ros2.git +# Или, если вы предпочитаете Radicle: +git clone --recurse-submodules https://seed.robossembler.org/z46gtVRpXaXrGQM7Fxiqu7pLy7kip.git robossembler-ros2 +rad clone rad:z46gtVRpXaXrGQM7Fxiqu7pLy7kip + +vcs import . < robossembler-ros2/repos/all-deps.repos +pip install -r robossembler-ros2/repos/requirements.txt +cd .. +rosdep install --from-paths src -y --ignore-src --rosdistro ${ROS_DISTRO} +colcon build ```