From e410fa1c37dbac8aa988645f833866593ea9b49c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robin=20M=C3=BCller?= Date: Sun, 22 Sep 2024 12:44:40 +0300 Subject: [PATCH] Refer to website in installation guide --- readme.md | 43 +++++-------------------------------------- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/readme.md b/readme.md index 2772a95..94de981 100644 --- a/readme.md +++ b/readme.md @@ -12,7 +12,9 @@ This repo offers a **VS Code workspace template for developing software extensio The repository is inspired by the [VS Code ROS 2 workspace template](https://github.com/athackst/vscode_ros2_workspace) and tries to integrate common PX4 workflows to facilitate the troublesome development process of real-time ROS2 applications. -## System Requirements and Installation +Use this template and create your workspace/repository by either pressing the button *Use this template* in the top right corner on GitHub or simply downloading the zip file. You should only clone this repo if you plan to make contributions. + +## System Requirements and Setup Required OS is [Ubuntu 22.04 (Jammy Jellyfish)](https://www.releases.ubuntu.com/22.04/). There are a few tweaks you should apply to your Ubuntu system, to provide a stable development and simulation environment: @@ -21,43 +23,8 @@ Required OS is [Ubuntu 22.04 (Jammy Jellyfish)](https://www.releases.ubuntu.com/ To automatically install all programs for developing with PX4 and ROS2, run `setup.sh`. The default install location is `~/Desktop`. If either the PX4 workspace, QGroundControl or Groot2 have already been cloned/downloaded to a different location than the default one, the respective variables in [env.sh](env.sh) need to be updated for the terminal environment and the automation tasks in VS Code to work properly. The setup script will only install the components that have not been found. -### Manual installation -Alternatively, follow this step-by-step guide to create the workspace manually. **Make sure to execute the following steps in the given order**. - -1. Use this template and create your workspace/repository by either pressing the button *Use this template* in the top right corner on GitHub or simply downloading the zip file. You should only clone this repo if you plan to make contributions. - -1. Install [ROS 2 (Humble Hawksbill)](https://docs.ros.org/en/humble/Installation.html) `base` and `dev-tools`. - -1. Clone [PX4 Autopilot](https://github.com/PX4/PX4-Autopilot) following the steps below: - ```sh - # Clone the source code at specific revision to guarantee compatibility - git clone https://github.com/PX4/PX4-Autopilot.git --recursive - - # Checkout specific version/branch and update submodules - PX4_VERSION="v1.15.0" - (cd ./PX4-Autopilot && git checkout $PX4_VERSION && make submodulesclean) - - # Install PX4 Autopilot dependencies on current system - bash ./PX4-Autopilot/Tools/setup/ubuntu.sh - ``` - - If you ever find yourself switching revisions, you have to follow the steps below: - - ```sh - cd ./PX4-Autopilot - make clean - make distclean - git checkout v1.15.0 # Switch version/tag/revision here - make submodulesclean # Make sure to update the submodules - ``` - -1. Export the simulation worlds from `world` to the corresponding directory in the isntalled PX4 workspace by executing `world/export.sh`. This script will make any `.sdf` file the containing directory available for simulation. - -1. Download [QGroundControl](https://github.com/mavlink/qgroundcontrol/releases) and follow the [installation guide](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html#ubuntu). The [PX4-ROS2 Interface Library](https://docs.px4.io/main/en/ros2/px4_ros2_interface_lib.html#px4-ros-2-interface-library) suggests to use daily builds to make the most recent features available, but any version from 4.3.0 will do just fine. - -1. After the workspace is created, run `dep.sh` for installing the dependencies of the ROS 2 environment. - -1. **Optional:** Download [Groot2 Behavior Tree IDE](https://www.behaviortree.dev/groot) which is used for behavior modeling by the [PX4 Behavior-based Control Library](https://github.com/robin-mueller/px4-behavior). +## Integrate with AutoAPMS +This workspace template is strongly connected with the [AutoAPMS package](https://github.com/robin-mueller/auto-apms) and offers the recommended development setup. Please visit [the installation guide](https://robin-mueller.github.io/auto-apms-guide/installation) for learning how to install optional and required dependencies associated with this package and customize setting up the workspace. ## Build