別ノートPCにROS2環境をセットアップする。(core i5、16GB、512GB・SDD )

ROS2対応のリモートPCを作ります。

前回はレベルの低いノートPCで構築した為、動作が遅いのが気になったので、今回は NEC の中古 Win10 PCを購入してバージョンアップを図った。
CORE i5 , 16GB, 512GB/SSD を搭載して Win10 からUbuntu20.04 をインストールした。
日本語化にかなり手こずったが以前経験していたので、なんとか成功。端末、スクリーンショット、Code、Chrom等のインストールでも苦労した。
1日かけて何とかやるべきことは完了しました。
最後IPアドレス固定が残っています。これも Ubuntu20.04 は少し操作が異なるので、ここで記録しておきます。

 https://qiita.com/zen3/items/757f96cbe522a9ad397d

これによると Ubuntu17.10 からIPアドレスの変更方法が変わったという事で確認してみます。

【 IPアドレスの変更:固定 】
 /etc/netplan/00-installer.config.yaml を編集しIPアドレスを設定( Ubuntu 20.04LTS の場合 )
 /etc/netplan/99_config.yaml (公式サイト)

上記URLに書かれているフォルダーは自分のPCには存在しなく
 実際は、下記の様に「 /etc/netplan/01-network-manager-all.yaml 」となっている。

 現状のIPアドレスは以下の通り、これを「192.168.1.250」に変更

上記の様に変更するも、再起動してIPアドレスは変化しない。

可能性は、「eth0->wlp4s0」、「gateway4:192.168.1.255」、「nameservers:addresses」がある。

ルータアドレス確認は:route -n で確認できる。「192.168.1.254」この様に変更しても同様。
変更後は
 sudo netplan --debug generate
 sudo netplan apply
で再起動不要、即変更されるはずがNG(変化しない)


今度は、下記のURLで試してみます。

 https://risuunomori.com/html/IT/Ubuntu20_04LTS/fixIPAddress.html

【 現在のネットワークの確認 】
 $sudo lshw -c network -short


【 yaml ファイルの作成 】
 $sudo touch /etc/netplan/config.yaml
 以前からデフォルトである「01-network-manager-all.yaml」は、作成後消去する必要があります。

ここでの注意点は、「wlan0」->「wlp4s0」に変更、ゲートウエイは「192.168.1.1」->「192.168.1.254」にする。


【 設定の反映 】
 $sudo netplan apply
 $sudo reboot

 ここで、IP固定の設定ファイルが2個出来ているので(前回作成したもの)前回の物を削除します。$sudo 権限が必要です。

【 確認 】
 $ifconfig

今回は、うまくIPアドレスを固定できた。「192.168.1.150」


【 colcon の インストール 】

$sudo apt install python3-colcon-common-extensions

いきなりパッケージが見つからないというエラーがでた。

 https://index.ros.org/doc/ros2/Installation/Dashing/Linux-Development-Setup/

上記を参照して検証します。
< locale の設定 >
 $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
< ROS2 apt リポジトリを追加 >
 $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 http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
< 開発ツールとROS2ツールをインストール >
下記の通り入力


結果、「python-rosdep」が使用できない。


次の日ノートPC(Ubuntu20.04)の電源を入れると、ネットには問題なく接続できているがWiFi接続マークが右上から消えている。
右上の下矢印(PowerOFF等の選択)を押しWiFi選択をすると全くWiFiが選択できなくなっている。(空白:通常は各種のWiFiが電波強度と共に
表示されるが全く表示されないが接続はされており、IPアドレスも固定されている。)

これは、たぶんIPアドレス固定化時行った「config.yaml」に、ルーターIDとPWを書いている為、強制的に自動で書かれている物しか
認識しなくなってる可能性がある。

不思議なことに、この状態で Turtlebot3 ROS2の e-Manual に書かれてるコマンドを打てば素直に通った。(前回はパッケージが見つからない)
再トライ
【 colcon の インストール 】
 $sudo apt install python3-colcon-common-extensions OK

OK

【 Gazebo9 を インストール 】
 $ curl -sSL http://get.gazebosim.org | sh      少し時間がかかります。
 ### Uninstall Gazebo11 if installed previously
 $ sudo apt remove gazebo11 libgazebo11-dev   OK
 $ sudo apt install gazebo9 libgazebo9-dev     OK
 $ sudo apt install ros-dashing-gazebo-ros-pkgs   エラー発生(パッケージが見つからない



今回は下記URLで確認してみます。

 https://nullpo24.hatenablog.com/entry/2019/06/02/235622


【 ROS2(Dashing Diademata) を Debian Packageでインストール 】
 $ sudo apt update && sudo apt install curl gnupg2 lsb-release
 $ curl http://repo.ros2.org/repos.key | sudo apt-key add -

 $ sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" >
  /etc/apt/sources.list.d/ros2-latest.list'

 $ sudo apt update
 $ sudo apt install ros-dashing-desktop  パッケージが見つからない。エラー


別の参考URLでも同様に「ros-dashing-desktop」パッケージが見つからないでストップです。

色々試したが、上記パッケージのインストールで同様なエラーとなる。
Ubuntu20.04には、ROS2がまだ対応していないようだ。



最後に以下の内容を試してみた。(この中のROS2<dashing>の部分のみ):ROS1とROS2の比較サイト

 https://note.com/npaka/n/n89baef233c99

やはり同様の場所で、同様のエラーが出ます。

サポート開始まで中断します。


別取組:(中国語:Ubuntu20.04にROS2)

 参考URL:https://blog.csdn.net/feimeng116/article/details/106602562/?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2

<Setup Locale>
 $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

<Setup Sources>
 $sudo apt update
 $sudo apt install curl gnupg2 lsb-release
 $ curl http://repo.ros2.org/repos.key | sudo apt-key add -
 $sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

<Install ROS 2 packages>
 $sudo apt update
 $N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://packages.ros.org/ros2/ubuntu focal InRelease' doesn't
   support architecture 'i386'
 $ cd /etc/apt/sources.list.d
 $ sudo gedit ros2-latest.list
    deb http://packages.ros.org/ros2/ubuntu bionic main を deb [arch=amd64] http://packages.ros.org/ros2/ubuntu bionic main に変更

 $sudo apt update

 $sudo apt install ros-foxy-desktop

またパッケージが見つからないエラーがでました。


もう1つの別取組:ROS2で始める「次世代ロボットプログラミング」

この本のセットアップ環境は、Ubuntu18.04LTSなので、Ubuntu20.04ではエラーとなることを覚悟で進めます。
P45:ロケールのセットアップ
 $sudo locale-gen ja_JP ja_JP.UTF-8
 $sudo update-locale LC_ALL=ja_JP.UTF-8 LANG=ja_JP.UTF-8
 $export LANG=ja_JP.UTF-8

P45:APTソースリスト設定
 $sudo apt update
 $sudo apt install curl gnupg2 lsb-release
 $curl http://repo.ros2.org/repos.key | sudo apt-key add -
 $sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
 $sudo apt update

「i386」をサポートしていないという事で、スキップしているが影響がないのか不明。

P45:ROS2パッケージのインストール  パッケージ群の一括インストールを実行
下記のコマンドを実

やはりros-dashing-desktop パッケージが見つからないとなる。
Ubuntu20.04LTS には、対応していない可能性が高まる。
ここでリモートPCの Ubuntu を 18.04 に落とすことも検討してみます。


最後の取組として、Turtlebot3 e-Manual のROS2版を試してみます。

 https://emanual.robotis.com/docs/en/platform/turtlebot3/ros2_setup/#pc-setup

 $ sudo apt install python3-colcon-common-extensions

 $ curl -sSL http://get.gazebosim.org | sh
 ### Uninstall Gazebo11 if installed previously
 $ sudo apt remove gazebo11 libgazebo11-dev
 $ sudo apt install gazebo9 libgazebo9-dev
 $ sudo apt install ros-dashing-gazebo-ros-pkg

ほとんど同様のエラーが出るのでやはり Ubuntu20.04 は非対応かも知れない。

Ubuntu20.04LTSでの取り組みは、ここで終了します。


参考URL:https://qiita.com/tukiyo3/items/ab0b93b65c3c52231c68