いちからつくるCLASロボットカー

2022年5月16日掲載

はじめに

 このページは「高精度衛星測位しながら自律走行するロボットカーをいちから作り上げる手順」をまとめたものです。GNSS・QZSSロボットカーコンテストに出場をご検討中の方は是非参考にしてください。

 

 衛星測位しながら自律走行するロボットカーを作るにあたっては、まずは大きく次の3つのことを決めなければなりません。

  1. 測位方式
  2. 制御装置
  3. 車体

順を追って説明します。

 

 

1.測位方式

 近年はアメリカ以外の国も測位衛星を打ち上げており、衛星測位の環境は大きく改善しています。一般的なカーナビなどで使用されている「マルチGNSS単独測位」という測位方式でもそこそこの精度を得られるようになりました。

 マルチGNSS単独測位よりも更に精度が良い測位方式として「RTK測位」というものがあります。RTK測位は対流圏・電離層遅延などの誤差要因を取り除く補正情報を利用することで数センチメートルの精度を出すことができます。ただし、補正情報を生成するための基準局を立て、補正情報を無線で送受信するなどの専門的な知識が必要となります。

 このページでご紹介するロボットカーは、受信機単体でRTK測位同等の精度が得られる「CLAS(シーラス)」というサービスを利用します。CLASは日本の衛星測位システム「みちびき」が行っている補正情報を配信するサービスです。CLASを利用すると受信機単体で高精度な測位ができるため、ロボットカーの構成がシンプルになり、かつ、正確な走行が可能になります。CLAS受信機は小型化されてきており、ロボットカーでも十分搭載可能です。2022年5月現在、CLAS受信機はまだ安価で入手しやすいと言える状況にはなっていませんが、近い未来に普及価格帯の商品が出てくると見込まれています。メリットが多いことからCLAS測位がおすすめですが、もちろんRTK測位やマルチGNSS単独測位を利用しても構いません。

 

2.制御装置

 GNSS・QZSSロボットカーコンテストのルールであればハイスペックな制御装置は必要ありません。小型低消費電力のマイコンボードを使用するのが良いでしょう。

 マイコンボードはRaspberry PiやArduinoが有名ですが、Arduinoはdouble型の演算ができないため、このページでは「ESP32」というマイコンを使用しています。ESP32はArduinoの開発環境(ArduinoIDE)を使用でき、double型も扱うことができます。

 ESP32を車体のスピードコントローラーやサーボモーターへ直接つなぐと動作が不安定になりやすいので、ESP32とは別に車体制御用のマイコンボードも用意します。

 

3.車体

 車体を自作する参加者もいますが、初心者の方はTAMIYAなどのラジコンカーを使用することをお勧めします。TAMIYAのラジコンカーは信号や電圧の規格が決まっており、マイコンボードの開発環境にライブラリが用意されているものが多いので、初心者でも開発がしやすくなっています。GNSS・QZSSロボットカーコンテストは例年芝生のグラウンドで開催しているため、オフロードタイプの車体を選ぶと良いでしょう。

 

 

 ロボットカーを作るには上記以外にもいくつかの部材が必要になります。ここではなるべく安価で入手しやすい部材を選び、なるべくシステムがシンプルになるよう心がけました。といっても、初めての方には難しい部分もあるでしょう。あせらず1つ1つ丁寧に確認しながら進めていけばきっと動くはずです。 是非チャレンジしてみてください。

 

※今回ご紹介する構成はあくまで一例にすぎません。コンテストではユニークなアイデアにあふれた多様なロボットカーの参加を歓迎します。