ubuntu20.04上コンパイルros 2

4308 ワード

https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Development-Setup/
システム要件/Foxy Fitzroyのターゲットプラットフォームは(REP 2000を参照):
第1層:Ubuntu Linux-Fossa(20.04)64ビット
階層3プラットフォーム(積極的なテストまたはサポートなし)には、次のものがあります.
Debian Linux-克星(10)
Fedora 32、代替手順を参照
Arch Linux、代替手順を参照
OpenEmbedded/webOS OSE、代替手順を参照
システム設定/言語環境の設定UTF-8をサポートする言語環境の設定を確認します.Dockerコンテナなどの最小環境では、言語環境をPOSIXなどの最小のものに設定できます.
以下に、言語環境を設定する例を示します.ただし、UTF-8でサポートされている他の言語環境を使用している場合は、問題ないはずです.
 
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

ROS 2 aptリポジトリの追加/システムにROS 2 aptリポジトリを追加する必要があります.そのためには、まず以下に示すaptを使用してGPG鍵を許可してください.
sudo apt update && sudo apt install curl gnupg2 lsb-release
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

次にリポジトリをソースリストに追加します.
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'

開発ツールとROSツールのインストール
sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  libbullet-dev \
  python3-colcon-common-extensions \
  python3-flake8 \
  python3-pip \
  python3-pytest-cov \
  python3-rosdep \
  python3-setuptools \
  python3-vcstool \
  wget
# install some pip packages needed for testing
python3 -m pip install -U \
  argcomplete \
  flake8-blind-except \
  flake8-builtins \
  flake8-class-newline \
  flake8-comprehensions \
  flake8-deprecated \
  flake8-docstrings \
  flake8-import-order \
  flake8-quotes \
  pytest-repeat \
  pytest-rerunfailures \
  pytest
# install Fast-RTPS dependencies
sudo apt install --no-install-recommends -y \
  libasio-dev \
  libtinyxml2-dev
# install Cyclone DDS dependencies
sudo apt install --no-install-recommends -y \
  libcunit1-dev

ROS 2コードを取得してワークスペースを作成し、すべてのリポジトリをクローンします.
mkdir -p ~/ros2_foxy/src
cd ~/ros2_foxy
wget https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos
vcs import src < ros2.repos

Install dependencies using rosdep¶

sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro foxy -y --skip-keys "console_bridge fastcdr fastrtps rti-connext-dds-5.3.1 urdfdom_headers"

他のDDSインプリメンテーションのインストール(オプション)/デフォルトのeProsimaのFast RTPS以外の他のDDSベンダーまたはRTPSベンダーを使用する場合は、ここで説明を参照してください.
ワークスペースでコードを構築する注意:ROS 1ブリッジを構築するにはros 1_を参照してください.bridge命令.
このチュートリアルでは、ROSワークスペースの使用方法について詳しく説明します.
cd ~/ros2_foxy/
colcon build --symlink-install

注:すべてのサンプルをコンパイルするときに問題が発生し、コンストラクションの正常な完了を妨げる場合は、CATKIN_IGNOREと同じ方法でAMENT_を使用IGNOREは、サブツリーを無視したり、ワークスペースからフォルダを削除したりします.たとえば、大規模なOpenCVライブラリをインストールしないでください.はい、cam 2イメージのプレゼンテーションディレクトリで$AMENTをタッチするだけです.IGNOREは、構築プロセスから除外することができる.
(オプション)すべてのパッケージを、個別のサブディレクトリにインストールするのではなく、コンビネーションディレクトリにインストールします.Windowsでは、環境変数の長さの制限により、複数(~>>100個のパッケージ)のワークスペースを構築する場合に使用します.
また、DebianからROS 2をインストールした場合は、新しい環境でbuildコマンドを実行してください.確認する必要があります.bashrcにはアクティブ/opt/ros/${ROS_DISTRO}/setupがない.bash.
colcon build --symlink-install --merge-install

 

Environment setup¶


Source the setup script¶


Set up your environment by sourcing the following file.
. ~/ros2_foxy/install/setup.bash

Install argcomplete (optional)¶


ROS 2 command line tools use argcomplete to autocompletion. So if you want autocompletion, installing argcomplete is necessary.
sudo apt install python3-argcomplete

Try some examples¶


In one terminal, source the setup file and then run a C++  talker :
. ~/ros2_foxy/install/local_setup.bash
ros2 run demo_nodes_cpp talker

In another terminal source the setup file and then run a Python  listener :
. ~/ros2_foxy/install/local_setup.bash
ros2 run demo_nodes_py listener

話し手が発表メッセージだと言っているのを見て、聞き手は私がこれらのメッセージを聞いたと言っています.これにより、C++とPython APIが正常に動作していることを確認できます.万歳!
チュートリアルとプレゼンテーションを参照して、他の方法を試してください.