FHL-LD20 を実際に使ってみたときのメモをここに残します。
FHL-LD20 について
センサの情報はここにまとめてあります。
a1026302.hatenablog.com
RaspberryPi
OS
RaspberryPi には Ubuntu 24.10 を入れています。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.10 Release: 24.10 Codename: oracular
環境構築
vnc の設定
RaspberryPi 側のモニタを準備するのがめんどくさいため vnc で接続します。
a1026302.hatenablog.com
docker コンテナ
ros2 のセットアップが Ubuntu 24.10 だとうまくいかなかっため docker コンテナを準備します。
Raspberry Pi 向けには arm64v8/ros:humble イメージがあります。
簡易検証
docker pull arm64v8/ros:humble docker run -it --rm --net=host arm64v8/ros:humble bash
Dockerfile を使用して変更をイメージに反映
Dockerfile
Dockerfile を作成します。
FROM arm64v8/ros:humble
# 必要なパッケージをインストール
RUN apt-get update && apt-get install -y \
ros-humble-desktop \
qtbase5-dev \
qtchooser \
qt5-qmake \
qtbase5-dev-tools \
libqt5gui5 \
libqt5core5a \
libqt5widgets5 \
libqt5x11extras5 \
x11-apps \
mesa-utils \
&& rm -rf /var/lib/apt/lists/*
# 環境変数の設定
ENV DISPLAY=:1
ENV QT_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins
# ワークスペースの設定
WORKDIR /ros2_ws
RUN mkdir -p src
WORKDIR /ros2_ws/src
# ldlidar_stl_ros2 パッケージのクローン
RUN git clone https://github.com/ldrobotSensorTeam/ldlidar_stl_ros2.git
# ビルド
WORKDIR /ros2_ws
RUN . /opt/ros/humble/setup.sh && \
colcon build --symlink-install
# エントリーポイントの設定
CMD ["bash"]
xhost
$ xhost +local:root
docker イメージをビルド
イメージをビルドします。
docker build -t my_custom_image .
コンテナ起動
以下のコマンドでコンテナを起動します。
docker run -it --rm \
--device=/dev/ttyUSB0 \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
my_custom_image
RViz2の起動
コンテナ内で以下のコマンドを実行してRViz2を起動します。
source /ros2_ws/install/setup.bash ros2 launch ldlidar_stl_ros2 viewer_ld19.launch.py
USBデバイスの権限設定
USBデバイスの権限に問題がある場合、以下のコマンドで権限を設定します。
sudo chmod 666 /dev/ttyUSB0