3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ProjectAquila機体紹介

Last updated at Posted at 2018-08-26

Project Aquila機体紹介

IMG_20180826_184629.jpg

  • CPU
    • ATxmega128a1u
    • ATmega328p
    • STM32F429vgt
  • 駆動系
    • Pololu製100:1ギアードモーター
    • Pololu製VNH5019デュアルモータードライバー
  • センサ
    • 超音波センサ
    • MLX90614
    • s9706
    • (MPU9250) JY901 ([編集])
    • OpenMVm7
  • 機体
    • 基本MDF製で所々ジェラルミンを使用

こんにちは。
レスキューメイズ部門であまりこういう機体紹介がネット上に少なく、初めての出場者は困ると思い、まずこの記事を書いています。(実際自分達も困ってました。)

レスキューメイズといえば何をしなければいけないかといえば、
1. 迷路探索
2. 被災者発見
3. レスキューキット投下
基本的に上の3点だと思います。

順番に話していきましょうかね。

1. 迷路探索

まずは最も大事というかなんというか迷路探索から。
30cm30cmの正方形が沢山繋がったコートを走り回り、帰還ボーナスを貰うためにはマッピングもしなければいけません。基本的にその場合に思いつくのが一マスずつ進むということですね。
その場合最も大事になってくるのが、まっすぐ正確に一ます進むということです。
ご存知かも知れませんがこれがほんとに難しい。
練習用コートと本番のコートと床の摩擦が違いますし、場所によっても違います。
距離センサなどで前後左右の壁との距離などを使用して進むのもありですが、自分たちは
モーターにそれぞれひとつの制御用マイコン*を搭載しています。それはなんのためか、PID制御のためです。(またPID制御についても書いていきたいです。)

([追記]書きましたこちら)
(STM32一個に変更しました 2019/4/10)

自分たちはAVRを使って制御しているのですが、処理が重く、1台のマイコンですると処理落ちしてしまうのでそれぞれ搭載しています。

STM32の180MHzという驚異的なシステムクロックでマイコン1個でのPID制御を可能にしました。

また、自分たちの機体で特徴的なのは下のギアボックスですね。自分たちはモーターが大きいので、2つのモーターで超信地旋回がしたくて、ギアボックスも自作しました。あまりおすすめはできません。
ギアボックスがとてつもなく重く、メンテナンス性を阻害してる存在です。
IMG_20180826_184647.jpg

また、PID制御だけではどうしてもズレてしまうので、左右前後の距離を使ってズレを調整しています。本当は走りながら距離を使って修正するのがいいのですが、モーター制御用のマイコンとの通信の関係上実現出来ていません。

アルゴリズムに関しては相方が担当していて、自分はいまいち分かっていません😅
左手法ベースのアルゴリズムってことぐらいです笑

相方がアルゴリズム(主にマッピングについて)記事にしたのでどうぞ
こちら
(2019/02/08 追記)

2. 被災者発見

迷路を探索出来たら、次にするのは被災者探索です。
被災者は2種類あります。
1. 熱源被災者
2. 文字型被災者
自分たちは探索時間削減のため画像処理用のボード(OpenMV)と温度センサー(mlx90614)を前左右の3方向につけています。

これについて特に言うことは無いのですが、OpenMVには170°広角レンズをつけています。
つけてもあまり変わらなかったので外しました(2018/12/21追記)
壁にとても近いとき高さの関係で読めなかったので斜めに、見下ろすような感じで固定されています(2019/02/08追記)

温度センサーのしきい値は結構シビアですが、とりあえずはこんな感じ。
ただ、現状はモーターを動かしながらの検出ができていないので、文字、熱源共に壁の真ん中のものしか発見できないという問題点があります。
温度センサーをOpenMVの方で制御して、視覚的、熱源被災者のいずれかをモーター回転時に見つけた際に、途中でモーターを止めて被災者を見つけられるようにしました(2018/12/21編集)
しきい値の調整として気温と対象物の表面温度の差を計測する方式に変更しました(2019/02/08追記)

3. レスキューキット投下

被災者を見つけたらレスキューキット投下です。
ほとんどのチームは縦に積んで落としていく仕組みですが、ロボットの構造上横に配置したかったため、リボルバー拳銃のリボルバーのようなものを回転させ落としています。お陰様でしっかり落ちてくれるのですが、場所を取るというのがありますね😅メンテナンス性もないですし……

スライドレールの仕組みを応用したものに変更しました。後日編集します(2019/4/24)

IMG_20180826_184711.jpg

[追記]JY901について(2018/12/21 22:05:28)

編集中……

とりあえずはこんな感じで切り上げましょうかね。
では、また。

##なにか質問等あれば Twitter まで

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?