ラズパイは4B(4GB)
使用するLiDAR(Light Detection And Ranging)はSLAMTEC製の、RPLiDAR A1M8 です。
OSイメージはRaspberry Pi OS (64-bit) Bullseye(Debian)を使います。
Raspberry Pi Imagerバージョンは1.7.1
MicroSDに焼いて、セットアップしておきます。
Docker Engine のインストール
コンテナを作成してROSをインストール
ROSはMelodic を使うので、Docker Hub からUbuntu 18.04 LTS イメージをダウンロード
コンテナ作成
my_ros1という名前にして、rvizやgazeboを開くのでXを使います。RPLiDAR を使うのでUSBも見えるようにします(USBポートにRPLiDARだけ接続してttyUSB0の決め打ち)。
sudo docker create -it --name my_ros1 --network host --device=/dev/ttyUSB0:/dev/ttyUSB0 -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix ubuntu:18.04
コンテナを起動する前に、RPLiDARを接続してttyUSB0を有効にしておきます。
コンテナ起動
コンテナをアップデート&アップグレード、パッケージなどをインストールしておきます。
ROS1(Melodic)をインストール
リポジトリ追加
aptキー追加
sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Melodicをインストール
OSのソフトウェアパッケージのインストールに必要なrosinstallをインストール
ソースコンパイル時の依存パッケージインストールに使われるrosdepをインストール
ワークスペース作成
注:
catkin_makeが無いよ….と言われたら
source /opt/ros/melodic/setup.bash
ROSを起動 してみます
一旦コンテナを終了
Ctr + C でROS停止
Ctr + D でコンテナ停止
RPLiDARをセットアップして動作確認
Xを設定しておきます。
RPLiDARが接続されていることを確認して、my_ros1コンテナを再起動。
catkin_wsに移動して、rplidar_rosをクローンしてビルド
ttyUSBを確認して使用権を付与
view_rplidar.launchを実行してRPLiDARのスキャンデータで点群地図を作成
結構エラーが出ているのが気になります、調査中。
左下にあるAddをクリック
By topic タブ -> LaserScan -> OK
こんな感じ
一から再起動する場合
Xを起動
コンテナ起動
view_rplidar.launchを起動
注:
以下のようにメニュもパネルも真っ暗な状態のことがあります。
しょうがないのでview_rplidar.launchを再起動しましょう。
Leave a Reply