ros2‐AIdriver環境構築4 - Hiyama1026/raspike-ros GitHub Wiki
- ホストPCと言及が無い限り,Raspberry Pi上で作業する
-
ssh環境を構築
sudo apt update sudo apt upgrade sudo apt install openssh-server
-
VNCサーバのインストール
- view-onlyパスワードは n(不要)
sudo apt install tigervnc-standalone-server vncpasswd # パスワードの設定
-
ウィンドウシステム(xfce4)のインストール
sudo apt install -y xfce4 xscreensaver
-
~/.vnc/xstartup
の編集- ~/.vncにxstartupが無い場合は作成する(
$ touch ~/.vnc/xstartup
) - xstartupに下記を記述
#!/bin/sh # Start up the standard system desktop unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS /usr/bin/startxfce4 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources x-window-manager &
- 実行権限を付与
chmod +x xstartup
- ~/.vncにxstartupが無い場合は作成する(
-
Ubuntuのsettingsを起動し,Sharing->Remote Desktopを開く (HDMI等でRaspberry Piのディスプレイを表示して行う)
- Remote Desktop 、Enable Legacy VNC Protocol 、Remote ControlをすべてON
-
HDMIを抜いてRaspberry Piをリブートする
-
ホストPC上でRealVNCをダウンロード
- https://www.realvnc.com/en/connect/download/combined/
- アカウントは作成する必要はない
-
ホストPCからRaspberry PiにSSH接続
-
下記を実行してVNCサーバを立ち上げる
tigervncserver -kill :2; tigervncserver -geometry 800x600 -localhost no :2
-
ディスプレイのポート番号を確認する
- 下記はポート番号が5902である例
$ tigervncserver -kill :2; tigervncserver -geometry 1000x800 -localhost no :2 Killing Xtigervnc process ID 3625... success! # 初回の場合はkillに失敗してよい New Xtigervnc server 'HOST-NAME:2 (U-NAME)' on port 5902 for display :2. # 5902がポート番号!! Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/U-NAME/.vnc/passwd hailo1:2 to connect to the VNC server.
-
ホストからRealVNCでRaspberry Piに接続
- RealVNCの画面上部の検索欄に
<IPアドレス>::<port番号>
を入力 - 例) Raspberry PiのIPが192.168.11.100,ポート番号が5902の場合:
192.168.11.100::5902
を入力してEnter
- RealVNCの画面上部の検索欄に
-
スクリーンセーバの無効化 (推奨)
- ホストPCからVNCでRaspberry PiのGUI(xfce4)を表示する
- Application FinderからSettingsを選択する
- Settingsの中からScreensaver(Set your screensaver ...)を起動する
- Enable ScreensaverとEnable Lock Screenをオフにする
- Settingsの中からScreensaver(Change screensaver ...)を起動する
- Display Modesの
Model:
をDisable Screen Serverに
- Display Modesの
- カメラ設定
-
/boot/firmware/config.txt
の末尾に以下を追加[pi4]に以下を追加 start_x=1 gpu_mem=128
-
/boot/firmware/config.txt
のcamera_auto_detectを1から0に書き換えるcamera_auto_detect=0
- 現状のユーザーからカメラをアクセスできるようにアクセス権を付与
sudo usermod -a -G video $USER
-
- リブート
-
pipのインストール
sudo apt install python3-pip
-
仮想環境のインストール
sudo apt install python3.10-venv python3 -m venv --system-site-packages ~/venv source ~/venv/bin/activate
-
仮想環境下にライブラリをインストール
pip install --upgrade pip pip install h5py==3.10 pip install tensorflow==2.14 pip install tensorflow_io pip install tflite-runtime pip install opencv-python==4.9.0.80
-
.bashrcに以下を追加
source ~/venv/bin/activate
-
PYTHONPATHにpython3.1系のパスを通す
- .bashrcに下記を追加
export PYTHONPATH=$PYTHONPATH:/home/U-NAME/venv/lib/python3.10/site-packages
- 以下を実行
source ~/.bashrc
- .bashrcに下記を追加
-
numpyのダウングレード
-
$ pip show numpy
でバージョン確認可能- numpyの1.〇〇にする必要がある(デフォルトは2.〇〇だった)
- numpyの1.〇〇にする必要がある(デフォルトは2.〇〇だった)
pip install numpy==1.24.3
-
-
$ bluetoothctl
を実行して以下の操作を行う$ bluetoothctl [bluetooth]# power on [bluetooth]# scan on <Dualshock4のSHAREを押しながらPSボタンを押下しランプが白く点滅したら放す> <Wireless ControllerのMACアドレスを探す> [bluetooth]# pair <MACアドレスを入力> [Wireless Controller]# trust <MACアドレスを入力> [Wireless Controller]# exit
-
ROS 2ワークスペースを作成
mkdir ~/ros2_ws && cd ~/ros2_ws mkdir src colcon build
-
ファイルコピー
- 以下のファイルを
~/ros2_ws/src
にコピー- raspike_uros_msg (raspike-ros/raspike_uros_msg)
- ros2_ai_driver (raspike-ros/ros2-AIdriver/ros2_ai_driver)
- 以下のファイルを
~/ros2_ws
にコピー- use_model
- 以下のファイルを
-
VNC経由でプログラムをビルド
cd ~/ros2_ws colcon build . install/setup.bash ```# Raspberry Pi側の環境構築 (環境構築4)
-
ホストがPCと言及が無い限り,Raspberry Pi上で作業する
-
ssh環境を構築
sudo apt update sudo apt upgrade sudo apt install openssh-server
-
VNCサーバのインストール
sudo apt install tigervnc-standalone-server vncpasswd # パスワードの設定
-
ウィンドウシステム(xfce4)のインストール
sudo apt install -y xfce4 xscreensaver
-
~/.vnc/xstartup
の編集- ~/.vncにxstartupが無い場合は作成する(
$ touch ~/.vnc/xstartup
) - xstartupに下記を記述
#!/bin/sh # Start up the standard system desktop unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS /usr/bin/startxfce4 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources x-window-manager &
- 実行権限を付与
chmod +x xstartup
- ~/.vncにxstartupが無い場合は作成する(
-
Ubuntuのsettingsを起動し,Sharing->Remote Desktopを開く (GUI)
- Remote Desktop 、Enable Legacy VNC Protocol 、Remote ControlをすべてON
-
ホストPC上でRealVNCをダウンロード
- https://www.realvnc.com/en/connect/download/combined/
- アカウントは作成する必要はない
-
ホストPCからRaspberry PiにSSH接続
- 下記を実行
vncserver -localhost no -geometry 800x600
-
RealVNCでホストからRaspberry Piに接続
-
スクリーンセーバの無効化 (推奨)
- VNCでRaspberry PiのGUI(xfce4)を表示する
- Application FinderからSettingsを選択する
- Settingsの中からScreensaver(Set your screensaver ...)を起動する
- Enable ScreensaverとEnable Lock Screenをオフにする
- Settingsの中からScreensaver(Change screensaver ...)を起動する
- Display Modesの
Model:
をDisable Screen Serverに
- Display Modesの
- カメラ設定
-
/boot/firmware/config.txt
の末尾に以下を追加[pi4]に以下を追加 start_x=1 gpu_mem=128
-
/boot/firmware/config.txt
のcamera_auto_detectを1から0に書き換えるcamera_auto_detect=0
- 現状のユーザーからカメラをアクセスできるようにアクセス権を付与
sudo usermod -a -G video $USER
-
- リブート
-
pipのインストール
sudo apt install python3-pip
-
仮想環境のインストール
sudo apt install python3.10-venv python3 -m venv --system-site-packages ~/venv source ~/venv/bin/activate
-
仮想環境下にライブラリをインストール
pip install --upgrade pip pip install h5py==3.10 pip install tensorflow==2.14 pip install tensorflow_io pip install tflite-runtime pip install opencv-python==4.9.0.80
-
.bashrcに以下を追加
source ~/venv/bin/activate
-
PYTHONPATHにpython3.1系のパスを通す
- .bashrcに下記を追加
export PYTHONPATH=$PYTHONPATH:/home/U-NAME/venv/lib/python3.10/site-packages
- 以下を実行
source ~/.bashrc
- .bashrcに下記を追加
-
numpyのダウングレード
-
$ pip show numpy
でバージョン確認可能- numpyの1.〇〇にする必要がある(デフォルトは2.〇〇だった)
- numpyの1.〇〇にする必要がある(デフォルトは2.〇〇だった)
pip install numpy==1.24.3
-
-
$ bluetoothctl
を実行して以下の操作を行う$ bluetoothctl [bluetooth]# power on [bluetooth]# scan on <Dualshock4のSHAREを押しながらPSボタンを押下しランプが白く点滅したら放す> <Wireless ControllerのMACアドレスを探す> [bluetooth]# pair <MACアドレスを入力> [Wireless Controller]# trust <MACアドレスを入力> [Wireless Controller]# exit
-
ROS 2ワークスペースを作成
mkdir ~/ros2_ws && cd ~/ros2_ws mkdir src colcon build
-
ファイルコピー
- 以下のファイルを
~/ros2_ws/src
にコピー- raspike_uros_msg
- ros2_ai_driver
- 以下のファイルを
~/ros2_ws
にコピー- use_model
- 以下のファイルを
-
VNC経由でプログラムをビルド
cd ~/ros2_ws colcon build . install/setup.bash