ROS2 6 (Windows)

ROS2のTutorialsをやります。暫くはTutorialsそのままをやります。


WindowsでROS2やります。

Installation

Windows (binary)

Windows (source)

環境はInspiron 16 5620のVMwareのWindows 11 Homeです。

VMwareにWindows 11をインストールする

(ROS2 HumbleはOnly Windows 10 is supported.とのことですが、Windows 11でも動作する情報が多かったのでWindows 11でやってます。)

準備 1

Google Chromeをインストールします。

まずはEdgeのアドレスバーのところにgoogle.co.jpと入力します。
googleの入力フォームにgoogle chromeと入力します。

ダウンロードしてインストールします。起動します。
Google Chromeで下記をみながら作業します。

Windows (binary)

準備 2

C:\devフォルダーを作成しておきます。

Install Chocolatey / choco install 1

公式のとおり。

Installing Chocolateyに行きます。

Installing Chocolatey

注意書きをきちんと読みます。

Run Get-ExecutionPolicy. If it returns Restricted, then run Set-ExecutionPolicy AllSigned or Set-ExecutionPolicy Bypass -Scope Process.

下記をコピーします。

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

PowerShellを管理者として実行します。上記を貼り付けます。
Windows 11だとWindowsツールの中にPowerShellがあります。

移動しておきます。system32で作業するのはちょっと・・・
\は¥と読みかえてください。(日本語Windowsだと両方とも円マークになっていると思います。)


PS > cd ..
PS > cd ..
PS > cd dev

または


PS > cd c:\dev

先ほどコピーしておいたのを貼り付けます。Chocolateyのインストールです。


PS > Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

公式からコピーしてPowerShellに貼り付けます。python 3.8.3のインストール。


PS > choco install -y python --version 3.8.3

再起動しろ、と出てきますが、無視しても大丈夫でした。でも、再起動しましょう。
少なくともPowerShellの再起動は必要です。他の方法があるかもしれませんが再起動しないと、後で行うpipのインストールのときにStoreに取りに行くPythonを使おうとします。

このときにvcredist140もインストールされます。vcredist2015もインストールされます。下記はもしかして不要 ?


PS > choco install -y vcredist2013

後で問題が出てくると面倒なのでインストールしておきましょう。

Install OpenSSL

下記に行きます。

Win32/Win64 OpenSSL

下記をダウンロードします。

Win64 OpenSSL v1.1.1w

インストールします。

公式からコピーしてPowerShellに貼り付けます。


PS > setx /m OPENSSL_CONF "C:\Program Files\OpenSSL-Win64\bin\openssl.cfg"

Install Visual Studio 2022

自分は後でros2csを使うのでVisual Studio Community 2022を使います。
ros2csが.Net 6を使うのでVisual Studio Community 2022です。知識があれば簡単にVisual Studio Community 2019でros2csを使えるようにできますが。

2019か2022のどちらかを選んだ方が両方をインストールするよりHappyだと思います。

2022の場合は上記のURLは使わずにVisual Studio Communityで検索してダウンロードします。

自分はC#も使うので[.Netデスクトップ開発]と[C++によるデスクトップ開発]にチェックを入れます。

インストールの詳細は変更せずに[インストール]をクリックします。

Install Visual Studio 2019

Visual Studio 2019の方が良いのだ!!という人はVisual Studio Community 2019のURLを貼ってくれているので、これを利用します。

Thank you for downloading Visual Studio

注意書きは下記だけです。Visual StudioのCMakeは入れるな、とあります。

Make sure that no C++ CMake tools are installed by unselecting them in the list of components to be installed.

Install OpenCV

ROSの人達がgithubに用意してくれているので、これを利用します。

opencv-3.4.6-vc16.VS2019.zip

Assuming you unpacked it to C:\opencv, type the following on a Command Prompt (requires Admin privileges):

展開したら、opencvフォルダーがあるからこれをC:\opencvというように置け、とあります。
Cut & Pasteします。

公式からコピーしてPowerShellに貼り付けます。


PS > setx /m OpenCV_DIR C:\opencv

Install CMake / choco install 2

PowerShellを管理者として実行します。公式からコピーしてPowerShellに貼り付けます。


PS > choco install -y cmake

Install asio bullet cunit eigen log4cxx tinyxml-usestl tinyxml / choco install 3

ROSの人達がgithubに用意してくれているので、これを利用します。

2022-03-15

6個なので、6回クリックしました。

全部をC:\ros2_chocoに置くとします。

PowerShellを管理者として実行します。公式からコピーしてPowerShellに貼り付けて、PATHのところを自分の環境に合わせた変更をします。


PS > choco install -y -s C:\ros2_choco asio cunit eigen tinyxml-usestl tinyxml2 bullet

Install catkin_pkg matplotlib pillow …

PowerShellを管理者として実行します。公式からコピーしてPowerShellに貼り付けます。


PS > python -m pip install -U pip setuptools==59.6.0

PS > python -m pip install -U catkin_pkg cryptography empy importlib-metadata lark==1.1.1 lxml matplotlib netifaces numpy opencv-python PyQt5 pillow psutil pycairo pydot pyparsing==2.4.7 pyyaml rosdistro

Install Qt5

自分はGUIとかrqtを使わないのでskipします。

Downloading ROS 2

ROSの人達がWindows用のROS2を用意してくれているので、これを利用します。

releases

現時点で一番新しいHumbleを取ってきます。

ROS 2 Humble Hawksbill – Patch Release 6

Assetsを開いてros2-humble-20231122-windows-release-amd64.zipダウンロードします。

展開するとros2-windowsというフォルダーが中にあります。この下にlocal_setup.batとlocal_setup.ps1があります。
ROSの人達はros2-windowsをros2_humbleという名前に変更して、C:\dev\の下に置け、としています。

開発するために 1

ここまではbinaryもsourceも共通です。

下記のインストールをやります。

Windows (source) Additional prerequisites

PowerShellを管理者として実行します。公式からコピーしてPowerShellに貼り付けます。


PS > choco install -y cppcheck curl git winflexbison3

colcon-common-extensionsがcolconと思っています。


PS > pip install -U colcon-common-extensions coverage flake8 flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes mock mypy==0.931 pep8 pydocstyle pytest pytest-mock vcstool

xmllintは入れなくても大丈夫でしょう。

上のchoco installとpip installはsourceからの情報ですがROS2のsource buildはやりません。

開発するために 2

PowerShellを管理者として実行します。

C:\dev\ros2_humbleに移動します。

ps1を実行できるようにします。


PS > Set-ExecutionPolicy Unrestricted

Y

PowerShellを実行します。管理者として実行する必要はありません。
2つPowerShellを実行します。

loまで打ったらTabで補完しましょう。Tabは複数回必要でしょう。
\は¥と読みかえてください。(日本語Windowsだと両方とも円マークになっていると思います。)


PS > .\local_setup.ps1

R

片方のPowerSheelで下記を実行します。


PS > ros2 run demo_nodes_cpp talker

もう一方のPowerSheelで下記を実行します。


PS > ros2 run demo_nodes_py listener

ネットワークの許可が求められるので許可します。

手順を間違えたら

uninstallしてinstallしなおしましょう。


PS > choco uninstall cmake

PS > choco install -y cmake

PS > choco uninstall python

PS > choco install -y python --version 3.8.3

広告

IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』
さくらのレンタルサーバ
ムームードメイン
Oisix(おいしっくす)
らでぃっしゅぼーや
珈琲きゃろっと
エプソムソルト


ROS2 1 (Install ROS2)
ROS2 2 (Workspace, Package)
ROS2 3 (Topics (C++))
ROS2 4 (Creating custom srv file)
ROS2 5 (Services (C++))


«       »