RaspbrryPi 4 への取組( SBC編 ):Ubuntu


Turtlebot 3 では、RaspbrryPi 3環境を推奨していますが動画処理は負担が大きいのでRaspbrryPi 4 で試して見たいのですが、すべてに対応する
のか、どの様なエラーが出るのかを確認していきます。
まずRaspbrryPi4では、Ubuntu16.04系(MATE含めて)動作しないので「Ubuntu18.044 & Ubuntu19.10」のRaspbrryPi4版をインストール。


<Ubuntu19.10 の SD 書込み>
 Turtlebot3は、RaspbrryPi3を対象としているのでUbuntuMATE16.04を推奨していましたが、RaspbrryPi4では動作しない。(立ち上がらない)
 ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz をインストールします。
 サーバー版ですが、後でデスクトップ版のMATEをインストールします。(両刀使いです。)

 login : ubuntu
 password : ubuntu
 パスワード変更要求がでる。
 current password : ubuntu
 New passwoed : jrobo0024 (8文字以上)
 Retype new password :jrobo0024
 
 プロンプトは、「ubuntu@ubuntu:~$」となっている。

 sudo apt update  <有線LAN&WiFi環境でないとNG>
 sudo reboot
 sudo apt upgrade <有線LAN&WiFi環境でないとNG>

<UbuntuMATEのデスクトップ環境をインストール>NG
 sudo apt install ubuntu-mate-desktop
 エラーがでる。SDカード設定NG(300GB)
  SDカード書込み後、Windows10PC側で「usercfg.txt」を修正
   total_mem = 3072
   # Enable audio (loads snd_bcm2835)
   dtparam=audio=on
 それでもエラーがでる。
 WiFi設定が出来ていないので、設定までは有線LANが必要。無線LANから有線LAN変換アダプター手配


ルーターと本装置を接続(WiFi)、完了後「WiFi」を見ると「Extender-G-64C0」&「Extender-A-64C0」が表示されている。
G:2.4GHz、A:5GHzとなっているので、Gで接続します。<WiFi接続の場合:有線LANでの設定後で使用します>

ルーターと本機とのWiFi接続が完了していれば、有線LANも有効となっているので、これからRasPi4に有線LANで接続して各種設定を行う。

1個のRasPi4には、GUI環境、もう1個はCUI環境で確認していきます。
まずは、GUI環境にする方法:参考URL/問題なく環境設定完了(デスクトップ画面からWiFi設定完了)
CUIからのWiFi設定はどのようにするのか??

【Raspbianで再トライ】
本目次の「RaspbianにROSをインストール」を実行したRaspbrryPi4を使います。
Raspbian は「Buster」で、ROSのVerは「kinetic」です。
 $roscore
上記が動作しないので、Turtlebot3・e-Manualに沿って「6.2.1.2」ROSのインストールから始めます。
【ROSのインストール】

 $ sudo apt-get update
 $ sudo apt-get upgrade
 $ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic_rp3.sh && chmod 755  
   ./install_ros_kinetic_rp3.sh && bash ./install_ros_kinetic_rp3.sh

【ROS依存パッケージをインストール】

 $ cd ~/catkin_ws/src
 $ git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git
 $ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
 $ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git

TurtleBot PCで不要な一部のパッケージを削除します。

 $ cd ~/catkin_ws/src/turtlebot3
 $ sudo rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/

依存パッケージをインストールする。

 $ sudo apt-get install ros-kinetic-rosserial-python ros-kinetic-tf

パーケージが見つからないエラー

 $ sudo reboot

ビルドパッケージ

 $ source /opt/ros/kinetic/setup.bash
 $ cd ~/catkin_ws && catkin_make -j1

「cmake」エラー発生:「設定が不完全でエラーが発生しました。」

roscoreは一見立ち上がるように見えるが、途中でエラーが出る。
MASTER/HOST設定が未設定??

 sudo nano ~/.bashrc にて下記部分修正
 ROS_MASTER_URI=http://192.168.1.200
 HOST_NAME=192.168.1.175

一応ROSCOREが立ち上がりましたが、NOODEでワーニング:ROS_MASTER_URI=http://192.168.1.200ホストがこのマシンで設定されていない
これの対応が解らない。
Raspbian と Ubuntu の違いがあるのか?



【RaspbrryPi4にUbuntuMATEをインストール】参考URL
上記取組でうまく動作しないので、Server+UbuntuMATEとしてインストールしてみます。
 参考URL
 Ubuntu19.10Serverダウンロード先
 SDカード、フォーマット、書込み
 RaspbrryPi4にSDカード挿入、PowerON(有線LAN接続)
 ubuntu/ubuntuで入り、新しいID/PWに変更
 sudo apt update / sudo reboot
 sudo apt upgrade / sudo reboot
 
 sudo apt install ubuntu-mate-desktop
 gdm3を選択
 sudo reboot

インストールには時間がかかります。終了後に再起動します。

GUI画面が立ち上がったら、MATEを選択します。しばらくすると、おなじみのMATE画面が現れます。
まずは、WIFI設定、設定後は繋がらなく再度IDを選択すると「OK」
次に日本語化です。(preferenceの中にあるLanguage Supportです。)インストールと設定が終了したらKEY設定部タブを「fcitx」に変更。
再起動します。
最終的にTurtlebot3が動かないので諦めます。



結果、別タグにある「Raspbian/Buster に ROS/melodicをインストール」でうまく動作しました。
Turtlebot3 ソフトもうまくインストール出来ている。
このRaspberry4と次のOpenCRボードを使って、「Turtlebot3 2号機:Raspberry4版」を作っていきます。