Lidar ld06のドライバをインストールする方法

  • URLをコピーしました!

※本ページはアフィリエイト広告を利用しています

今回は「Okdo Lidar Module with Bracket開発キット LiDAR_LD06」を使用する際に必要となるld06のドライバをインストールする方法を解説します。

私の環境でセットアップした際に発生したエラーの対象法なども記載しましたので、これからインストールされる方は是非参考にしてみてください。

目次

動作環境

ハードウェア:Raspberry Pi 4
OS:Ubuntu22.04LTS

ROS2のインストール

ld06ドライバをインストールする前にROS2をインストールしておく必要があります。

Ubuntu ServerROS2 Humbleをインストールする手順については以下の記事で解説していますので、あらかじめ済ませておいてください。

ld06ドライバのインストール

ここからは実際にLidar ld06のドライバをインストールする手順を解説します。

使用するLidarドライバ

今回使用するLidarドライバは以下のリポジトリとなります。

ld06ドライバのインストール手順

リポジトリをクローンする

Lidarドライバーのリポジトリをクローンします。

git clone -b ros2 https://github.com/linorobot/ldlidar src/ldlidar

依存関係をインストールする

必要な依存関係をインストールするため、以下のコマンドを実行します。

rosdep update && rosdep install --from-path src --ignore-src -y
コマンド解説

このコマンドはROSパッケージの依存関係データベースを更新し、指定されたディレクトリ(この場合はsrc)内のすべてのパッケージに必要な依存関係を自動的にインストールするために使用されます。

  1. rosdep update: rosdep はROSパッケージの依存関係を管理するツールです。update コマンドは、rosdep が使用する依存関係のデータベースを最新の状態に更新します。この操作は、システム上にインストールされているROSパッケージの依存関係が変更された場合や、新しいパッケージがリリースされた場合に、それらの変更を反映させるために必要です。
  2. rosdep install --from-path src --ignore-src -y: このコマンドは、指定されたパス(この場合はsrcディレクトリ)内のROSパッケージの依存関係を解決し、必要な依存パッケージをインストールします。オプションの説明は以下の通りです:
    • --from-path src: src ディレクトリ内のパッケージの依存関係を調べるように指示します。src は、通常、ROSワークスペース内のソースコードを含むディレクトリです。
    • --ignore-src: このオプションは、rosdep に対して、すでにsrcディレクトリ内にあるソースからビルドされるパッケージの依存関係を無視するように指示します。つまり、これらのソースパッケージ自体を依存関係として扱わないようにします。
    • -y: 依存パッケージのインストール時に、ユーザーに確認なしで自動的に進行するように指示します。これは、インストールプロセスを自動化し、手動での確認を求められることなく、必要な依存関係を迅速にインストールするために便利です。

これにより、開発者はパッケージの依存関係に関する手動での管理作業を減らすことができ、効率的に作業を進めることが可能になります。

以下のように表示されれば成功です。

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit file:///usr/share/python3-rosdep2/debian.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Skip end-of-life distro "foxy"
Skip end-of-life distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Add distro "iron"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Skip end-of-life distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/pi/.ros/rosdep/sources.cache
#All required rosdeps installed successfully

ビルドを実行する

続いてビルドを実行する

colcon build
コマンド解説

colcon build コマンドは、colcon ツールを使用してROS 2ワークスペース内のパッケージをビルドするために用いられます。colcon は、ソフトウェアのビルド、テスト、パッケージ化を扱うためのコマンドラインツールであり、特にROS 2プロジェクトで広く使用されていますが、それに限定されず様々なソフトウェアプロジェクトで利用可能です。

このコマンドを実行すると、以下のような処理が行われます:

  1. ワークスペースの構成を解析colcon はワークスペース内のsrcディレクトリをスキャンして、ビルドすべきパッケージを識別します。パッケージはpackage.xml ファイルに基づいて識別され、このファイルは各パッケージのルートディレクトリに配置されています。
  2. 依存関係の解決:ビルドプロセスの一環として、colcon は各パッケージの依存関係を解析し、正しい順序でビルドが行われるようにします。これにより、依存するパッケージが利用可能な状態でなければならない場合でも、その依存関係が満たされます。
  3. ビルドの実行:依存関係が解決されると、colcon は各パッケージを指定された順序でビルドし、生成物(実行可能ファイル、ライブラリなど)をワークスペースのbuild ディレクトリ内に配置します。
  4. 環境の設定:ビルドプロセスの最後に、colconinstall ディレクトリ内に環境設定スクリプトを生成します。これらのスクリプトをソースすることで、ビルドしたパッケージを利用するための環境が設定されます。

colcon build コマンドは非常に柔軟であり、ビルドのカスタマイズや特定のパッケージだけをビルドするためのオプションが用意されています。しかし、基本的な使用法では、ワークスペース内の全てのパッケージをビルドし、開発者がすぐに使用できるようにすることが目的です。これにより、開発者はビルドプロセスにおける複雑さを最小限に抑え、より効率的に作業を進めることができます。

私の環境では以下のエラーが発生しました。

pi@ubuntu:~/ros2_ws$ colcon build
colcon: command not found

colcon buildコマンドが見つからない場合、それはcolconパッケージビルドツールがシステムにインストールされていないことを意味します。

colconはROS 2パッケージをビルドするための標準的なツールであり、ROS 2の開発には必須です。この問題を解決するために、colconをインストールする必要があります。

colconツールのインストール

以下のコマンドを実行してcolconツールをインストールします。

sudo apt update
sudo apt install python3-colcon-common-extensions

再度ビルドを実行します。

ビルドに成功すると以下のように実行結果が表示されます。

pi@ubuntu:~/ros2_ws/src$ colcon build
Starting >>> ldlidar
[Processing: ldlidar]
--- stderr: ldlidar
/home/pi/ros2_ws/src/ldlidar/src/lipkg.cpp: In member function ‘void LiPkg::ToLaserscan(std::vector<PointData>)’:
/home/pi/ros2_ws/src/ldlidar/src/lipkg.cpp:258:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
  258 |     if (index >= 0 && index < beam_size_)
      |                       ~~~~~~^~~~~~~~~~~~
---
Finished <<< ldlidar [33.8s]

Summary: 1 package finished [37.4s]
  1 package had stderr output: ldlidar

以上でドライバのインストールは完了です。

まとめ

今回はLidar ld06のドライバをUbuntuでインストールする方法について解説しました。

rvizの使用方法などはまた別の記事で解説します。

それでは、また次の記事でお会いしましょう。

参考

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次