今まで,群ロボットは数多くの研究がされていたものの,一般開発者向けのプラットフォームはほとんどありませんでした.有名なものにtoioがありますが,群ロボットをしたいがために,わざわざ新しいマイコンを高値で買うのは勿体ないです.
Currently, there are few platform to learning Swarm Robotics. A famous platform is toio from SONY, but buying new robots takes high cost. It is not efficient.
そこで私は,日本のMakerの数多くが所持しており,Arduinoに代わる主流なマイコンになっているM5 stackに着目しました.「M5 stackはいつのまにか増殖する」などという噂も存在するほどで,複数個のM5 stackを持っている人も少なくありません.そこで,小型の足回りモジュールを開発することで,群ロボットが開発者にとってより身近になるのではないかと考え,開発に至りました.
Then, I noted to the M5Stack which is used by a lot of Japanese Makers. In Japan, there is a rumor "M5Stack multiplies". It shows many Japanese Maker have over two of M5Stack. Therefore, I decided to create a M5stack extending feet module for Swarm Robotics.
もちろん,M5 stackが群ロボットに適していると考える理由は,多くの日本人が所持しているという理由だけではありません.M5 stackはESP32を搭載するためWifiやBluetoothの機能を使用でき,固体同士の通信が簡便化されます.また,ディスプレイが存在することで,ARマーカを用いることによる個体識別ができ,カメラからの位置推定も容易になります.M5 stackは多くの人に使われ,多くの情報がインターネット上に存在しており,開発のハードルも高くありません.意味不明な群ロボットプラットフォームを購入して,情報の少なさに苦しみたくはないでしょう?
つまり,群ロボットでは,通信や位置関係をどう図るかという点で研究・議論されることが多いですが,その段階をスキップして応用開発に焦点を当てることができます.
Of course, the M5 stack is suitable for swarm robots not only because many Japanese people have it, but also because it is equipped with ESP32, which allows it to use Wifi and Bluetooth functions, simplifying communication between robots. By using AR marker showed on the display of the M5 stack, we can easily detect robots position and pose. The M5 stack is used by many people, and a lot of information is available on the Internet, so the development hurdle is not high. Everyone don't want to develop with not famous platform.
In other words, swarm robots are often studied and discussed in terms of communication and positioning, but we can skip that step and focus on application development.
本作品のM5 swarmでは,その足回り基板の実装を中心に,簡単なプログラムを作成して応用可能性を示しました.正直,プログラムの方にほとんど時間をさけていないため,動作はぎこちないものとなっています.
In my project, I mainly created the feet module, and I programmed some easy example of usage.
4つのモータを電源分離しながら動作させられる足回り基板を,ATMEGA328P-AUを用いて基板作成しました.足回り基板は,M5 stackからSPI通信で命令を送ることにより動作できます. 4つのモータをオムニホイールの要領で配置することで,x・y軸方向に向きを変えずに移動できます.
群ロボットは,中央制御するものと分散処理するものがありますが,比較的容易にできる中央制御するものとしました.M5swarmはHTTPで受け取った命令から,移動速度や方向,回転方向などを判断して移動できます.M5swarmは個別にARマーカをディスプレイに表示しており,それを基に中央処理部(PC)はWebカメラを用いてM5 swarmの固体を認識します.また,ハンドジェスチャーで非接触的に動かしてみたかったので,mediapipeという機械学習フレームワークを用いて手形状認識を行いました.サンプル動画では,人差し指と親指が近づいたときにその点に向けて移動するようにしています.
--
(DeepL) We have developed an undercarriage board using ATMEGA328P-AU, which can operate four motors with separate power supplies. The undercarriage board can be operated by sending commands from the M5 stack via SPI communication. By arranging four motors in the manner of an omni-wheel, it can move in the x- and y-axis directions without changing its direction.
The M5 swarm is able to move by determining the speed, direction, and rotation direction from the commands received via HTTP. The M5swarm displays individual AR markers on its display, and based on these markers, the central processing unit (PC) uses a webcam to recognize the solid state of the M5swarm. We also wanted to move it contactlessly with hand gestures, so we used a machine learning framework called mediapipe for handprint recognition. In the sample video, when the index finger and thumb are close to each other, they move toward that point.