[English Below]
自動運転車、ヒューマノイドロボット、そしてドローンに共通して使われているSLAM。
これらの機械はアルゴリズムを実行するためのある種の処理ボードまたはコンピューティングボードを備えており、SLAMアルゴリズムを使用するにあたって同様または似通ったセンサーを搭載しています。
センサーは、街中を移動したり、階段を上ったり、ある場所から別の場所にモノを移動したりするときに活躍します。ロボットシステムがこれらの行動をできるようになるためには、正しいセンサーを適切に取り付けることが重要です。
SLAMで使用されている最も一般的な2種類のセンサーは、LIDARとカメラです(詳細については、別の記事「今さら聞けない!エンジニアが解説するSLAM入門」をご参照ください)。
SLAMで使用されているセンサーその① LIDAR
LIDARの由来については複数のパターンがありますが、もともとLIDARは「Light(=光)」と「Radar(=レーダー)」という言葉の組み合わせでした(1)。LIDARは「Light Imaging(=ライトイメージング)、Detection(=検出)、Ranging(=測距)」および「Light Detection(=光検出)およびRanging(=測距)」の頭文字でもあります。
LIDARセンサーは光線を放射して受け取った反射を測定するため、アクティブセンサーと呼ばれています。原理としては、光の速度を一定にし、光が最初に放射されてから受信機に戻るまでにかかる時間を測定します(2)。したがって、センサーから特定の物体までの距離は、光が戻るのにかかる時間の半分に光速を掛けたものです。
これらのセンサーは、一点、二次元、三次元空間での測定など、いくつかの異なるコンフィグレーションがあります。
LIDARは、センサーの前にある特定の物体までの距離を計算するために主に使用されます。2D Lidarのセットアップでは、多くの場合、回転プラットフォーム上にポイントアンドシュートLIDARが取り付けられているため、平面上で測定を行い、周囲環境の2Dマップを作成することができます。
2D手法では、センサーが周囲の光を浴びることで反射を測定し、1フレーム内に3Dポイントのポイントクラウドを取得します。このような2D手法に対して、3D LIDARは異なる方法で環境を測定します(3)。
SLAMで使用されているセンサーその② カメラセンサー
LIDARに対して、カメラセンサーは三角測量法を使用します。地点Aと地点Bの間に既知の距離Xがあるときに、地点Aと地点Bにおいて同じ向きから2つの画像を撮影することによって実現する「三角測量」(4)。同じ三角測量法でも、搭載されるカメラの種類によって複数の異なるコンフィグレーションがあります。
単眼カメラを1台使用する場合は、視界内のオブジェクトがどれだけ離れているかを計算できるようにするため、センサーをとある地点から別の地点に移動して距離Xを取得する必要があります。一方で、ステレオカメラは、距離を計算するために固定距離Xにある2つのカメラを使用します。
なお、LIDARとカメラセンサーは組み合わせて使用されることがよくあります。LIDARは、環境を色で見ることができなくても、本質的に遠くから正確に物を測定する能力に優れていますが、カメラは、物を色ありで詳細に見ることが得意です。そのため、両方のセンサーの長所をかけ合わせることで、同じ環境下においても、それぞれのセンサーを個別に使用する場合よりも多くの詳細を抽出できます。
ロボットのコンポーネントに関係なく、同様の種類のセンサーを使用することにより、プラットフォームの移行時にも簡単にスキルを開発して転送することができるのです。
この記事を書いた人|ロバート
サイギグではエンジニアとビジネスの両方を兼任するロバート。ニュージーランドと日本のハーフで、オークランド出身。ニュージーランド最大の国立大学であるマッセイ大学でメカトロニクス(機械工学と電子工学の合成語)を専攻で、C言語が得意。趣味はSF小説からギターまで多岐にわたる。最近ではサイギグのYouTube立ち上げを任されている。モビリティIoT界のインフルエンサーとしてYouTubeでロバートを見かける日も近いかも?
[English Below]
SLAM Sensors Explained!
Self-driving cars, humanoid robots, and drones. What do they all have in common when running SLAM?
Yes, they are all machines and have some kind of processing or computing board to run algorithms. But each of them generally have the same or very similar kinds of sensors for use with the SLAM algorithms.
The sensors are used when trying to navigate through the streets, walking up stairs, and trying to move an object from one location to another. For the robotic system to be able to accomplish any of this in a meaningful manner, it is critical that right sensors be installed for the right reasons.
The two most common types of sensors used in SLAM are LIDAR and camera, which was also mentioned in one of our other articles “So, What is SLAM?”.
The first sensor that we will mention is the LIDAR which although has a few variations in what the acronym stands for, was originally the combination of the words “Light” and “Radar”(1). The acronym is also stated as “Light Imaging, Detection, and Ranging” and “Light Detection and Ranging.”
LIDAR sensors are considered active sensors because they emit a beam of light and measure the received reflections. The principle behind this takes the speed of light to be constant and measures the time taken for the light to return to the receiver from when it is first emitted(2). The distance of the sensor to any object in the environment is therefore half the time taken for the light to return multiplied by the speed of light.
These sensors come in a few different configurations which includes measuring on a single point, a 2D plane, and a 3D space.
The simplest device is the LIDAR that measures a single point at any time which will mostly be used to calculate the distance to a particular object in front of the sensor.
The 2D Lidar setup often has the point and shoot LIDAR mounted on a rotating platform which then allows it to take measurements on a plane, creating a 2D map of the environment.
Finally the 3D LIDAR has a slightly different method for measuring the environment compared to the 2D method where these sensors often bathes the environment in the light, where they measure the reflections to obtain a point cloud of 3D points in one frame(3).
Compared to the LIDAR, camera sensors used for SLAM uses the triangulation method.
“Triangulation” when you take two images facing the same general direction at point A and point B, where there is a known distance X between both A and B. By using points A, B and the distance X the distance to objects in the images can be calculated(4). Even with the triangulation method, there are some different configurations that are used depending on the type of camera implemented.
When using a single monocular camera, you must move the sensor from one point to another of a predetermined interval to obtain the distance X to be able to calculate how far the object in view is. On the other hand a stereo camera uses two cameras of a fixed distance X to calculate the distance.
Although the next set is not a sensor intrinsically, a combination of both LIDAR and camera sensors is a very common occurrence. LIDARs are inherently good at measuring things at a distance accurately even if they cannot see the environment with color , but the cameras are good at viewing things in color and more detail than they are at measuring points in the images. So by using the strengths of both sensors you can extract more detail from the same environment than if you were to use each type of sensor separately.
This commonality of using similar kinds of sensors regardless of your robots components, you can develop and more easily transfer skills from one platform to another.