ラズパイは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 のインストール
1 2 |
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh |
コンテナを作成してROSをインストール
ROSはMelodic を使うので、Docker Hub からUbuntu 18.04 LTS イメージをダウンロード
1 |
sudo docker pull ubuntu:18.04 |
コンテナ作成
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を有効にしておきます。
コンテナ起動
1 |
sudo docker start -i my_ros1 |
コンテナをアップデート&アップグレード、パッケージなどをインストールしておきます。
1 2 3 4 |
apt update apt upgrade -y apt install nano |
ROS1(Melodic)をインストール
リポジトリ追加
1 2 3 4 5 |
apt install software-properties-common -y apt-add-repository universe apt-add-repository multiverse apt-add-repository restricted |
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をインストール
1 2 3 4 5 6 7 |
apt update apt install ros-melodic-desktop-full -y echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc |
OSのソフトウェアパッケージのインストールに必要なrosinstallをインストール
1 |
apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential -y |
ソースコンパイル時の依存パッケージインストールに使われるrosdepをインストール
1 2 3 4 5 |
apt install python-rosdep rosdep init rosdep update |
ワークスペース作成
1 2 3 4 5 6 7 8 |
mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin_make sh -c 'echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc' |
注:
catkin_makeが無いよ….と言われたら
source /opt/ros/melodic/setup.bash
ROSを起動 してみます
1 |
roscore |
一旦コンテナを終了
Ctr + C でROS停止
Ctr + D でコンテナ停止
RPLiDARをセットアップして動作確認
Xを設定しておきます。
1 |
sudo xhost si:localuser:root |
RPLiDARが接続されていることを確認して、my_ros1コンテナを再起動。
1 |
sudo docker start -i my_ros1 |
catkin_wsに移動して、rplidar_rosをクローンしてビルド
1 2 3 4 5 6 7 8 9 |
cd ~/catkin_ws/src git clone https://github.com/Slamtec/rplidar_ros.git cd .. catkin_make source ~/.bashrc |
ttyUSBを確認して使用権を付与
view_rplidar.launchを実行してRPLiDARのスキャンデータで点群地図を作成
1 2 3 4 |
ls /dev | grep ttyUSB chmod 666 /dev/ttyUSB0 roslaunch rplidar_ros view_rplidar.launch |
結構エラーが出ているのが気になります、調査中。
左下にあるAddをクリック
By topic タブ -> LaserScan -> OK
こんな感じ
一から再起動する場合
Xを起動
1 |
sudo xhost si:localuser:root |
コンテナ起動
1 |
sudo docker start -i my_ros1 |
view_rplidar.launchを起動
1 |
roslaunch rplidar_ros view_rplidar.launch |
注:
以下のようにメニュもパネルも真っ暗な状態のことがあります。
しょうがないのでview_rplidar.launchを再起動しましょう。
Leave a Reply