二人三脚を一般化してみた

こんにちは.15のmaruxです.

この記事は rogy Advent Calender 2020 3日目の記事です.
唐突にアドカレを書きたくなったものの,以降の日程はすべて埋まっていたため時を遡ることにしました.

さて,皆さんは二人三脚というものを知っていますか?
勿論ご存知かとは思いますが,一応説明をしようと思います.
二人三脚とは,2人の人間A,Bが組になり,Aの右足とBの左足を纏めて縛った状態でゴールまでの速さを競う競技です.
運動会ではおなじみですね.

ただ,この二人三脚,人数も足の縛り方も限定されていて少し寂しいです.
掛け声も1,2,1,2の連続で少し味気ないですしね.
そこで,本記事では二人三脚を拡張していき,二人三脚に自由度を与えていこうと思います.
特に,どんな掛け声にすれば自由度を上げても進めるか,というところに興味があります.

まず,二人三脚がどうしてイッチニイッチニの掛け声で進めるかを考えようと思います.そのために人間の脚をグラフにモデル化しましょう.

これが人間です.

丸(以後頂点と呼びます) が1本の脚を表していて,緑色の線分(以後辺) により2本の脚を同時に動かすことはできないという拘束条件を表すことにします.

この人間を基にして二人三脚をグラフで表現すると下図のようになります.

ここで赤色の辺は,縛られていて同時に動かさなければならないという拘束条件を表します.

これらの頂点に色を割当て,その色に従って進むことにしましょう.
つまり,「赤!」と言われたら赤を割当てられた脚を前に出すということです.
まず,きちんと進むためには緑の辺で結ばれた頂点の組は異なる色が割当てられる必要があります.
もし同じ色が割当てられていると,その人は2本の足を同時に出す必要が出てきてしまいます.
また,赤の辺で結ばれた頂点の組には同じ色を割り当てる必要があります.
2本の脚は結ばれているため,別々に動かすことが不可能であるからです.

ここで,赤の辺で結ばれた頂点に関しては同じ色が割当てられるので,1つの頂点とみなしてしまってもいいことが分かります.(縮約と言います)

この操作を行うと上図のようにグラフは分かりやすくなり,隣接する頂点には同じ色を割当ててはならないという条件のみが残ります.

下図を見てわかる通り,二人三脚の場合では2色あれば適切に割当が可能です.
1色では不可能なので,二人三脚は2種類の記号による掛け声であれば進めるということを理解することができました.

 

次に,よく知られた二人三脚の拡張について触れたいと思います.

まずはn人n+1脚について話そうと思います.
たまにテレビの企画とかでやってる30人31脚みたいなやつですね.
それを先ほどの形で記述するとこうなります.
これを縮約してやると,

このようになるので,

こんな感じで2色で適切な割当にすることができます.
つまりn人n+1脚は2種類の記号による掛け声であれば進めます.

次にムカデ競争について見てみると,

上図のように記述できるので,縮約すると

という形になり,

ムカデ競争についても2種類の記号による掛け声であれば進めることが分かります.

さて,ここまで非常に限定的な拡張について見てきましたが,ここから更に拡張していきましょう.
n人m脚を考えていきたいと思います.


例えば,上図のように繋いでみた場合はどうでしょうか.
(長い赤い辺はムカデ競争の板のようなプレートで繋がっていると思ってください)
これも縮約を繰り返して色を割当ると,と,なり3色で適切に割当が可能なことが分かります.
したがってこの結び方の場合,3つの記号の掛け声で前に進むことができます.

では,一般には何色あれば色の適切な割当が可能なのでしょうか?
ここで考えるグラフには2つ条件を付けたいと思います.

まず1つ目の条件は割当不可能なグラフではないということです.

つまり,上図の上側の人のような,片方の脚から赤い辺を辿るともう片方の脚にたどり着けるような人は居ないということです.
こうした人が居た場合,赤の辺の拘束により両足を同時に動かす必要がありますが,緑の辺の拘束により同時に動かすことができず,適切な割当が存在しません.
逆も同様に成り立ちます.

次に2つ目の条件は,辺は平面上で交差しないということです.

上図で人間がどんな様子になっているかを考えると,紐のような拘束が空中で交差していることになり非常に危険です.
また,緑の辺と他の辺が交差している場合,人間の股下を何かが通っていることになりやはり危険です.
したがってここでは考えないことにします.

この2条件を満たすグラフを考えると,そのグラフは平面上で辺の交差なく描かれていることが分かります.
つまり平面的グラフ(平面上に描くことのできるグラフ)であります.
有名な4色定理 から4色で適切に割当が可能であることが分かり,4つの記号つまり1,2,3,4,1,2,3,4,…の掛け声でn人m脚は進行可能であると分かります.

逆に,下図のような例で4色必要なため,4色は必要である例があることも分かります.

これで二人三脚の拡張が少しできました.
いやでもしかし,まだ拡張できそうではありませんか?

そう!二人三脚の”人”の部分です.
いまやペットを飼うのは当たり前の時代,犬や猫と一緒に二人三脚したいという人も少なくないはずです.

そこで4足歩行の動物も含めて考えてみましょう.
まず,四足歩行の動物はどの脚も同時には動かしてはならないものとします.
つまり,下図のように表現されるわけですね.


こうして表現すると,出来るグラフはどの辺も高々1度しか交差しないようなグラフになります.
こうしたグラフは1-平面グラフと呼ばれ,6色あれば色の割当てができることが知られています.
また,下図の例で6色は必要であるので,6色が下限であることも分かります.


よって4足歩行の動物とともに二人三脚したいとき,1,2,3,4,5,6,1,2,3,4,5,6,…の掛け声で進むことができます.

 

これで一般化二人三脚の話はおしまいです.
最後まで読んでいただきありがとうございました.

ケーキを上手に切りたい

この記事は rogy Advent Calender 2020 18日目の記事です.
こんにちは, 15のとくちんです.

クリスマスにはクリスマスケーキを食べるといった方も多いかと思います. しかし, 複数人でケーキを食べる場合, ケーキを人数分等しく切り分ける問題に直面します.

ケーキの上手な切り方について検索すると, 多くの方法が見つかります.
いくつかの方法で共通するのは, ケーキの中心に印をつける, 中心に包丁を入れて切る, といったケーキの中心に当たりをつけることです.
しかし, どのくらいの精度でケーキの中心がとれればいいのでしょうか?
“ケーキを上手に切りたい” の続きを読む

位相同期モデルでライブ会場を再現してみたい

こちらは rogy Advent Calender 2020 16日目の記事です.

先日このAdvent Calenderの5日目の記事として,振動子の同期について紹介がありました.

記事中ではメトロノームや蛍の発光の同期が紹介されていました.

実際,同期現象は自然界であちこちに見られます.

ところで,私たち自身が非常に分かりやすく,振動子として同期している場面があります.

ライブです!!!!!

曲に合わせて,あるいは周りの人と一体になって振っているキラキラの光は,まさに振動子と言えそうです.

実会場のライブも中々参加できない今日この頃ですが,シミュレーションで会場の一体感を再現してみようと思います.

“位相同期モデルでライブ会場を再現してみたい” の続きを読む

【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 画像処理編 –

この記事はrogy Advent Calender 2020 14日目の記事です。

こんにちは、15 の nomo ( @nomotech )です。

この記事は昨日 Loop 君が書いてくれた 【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 機構編 – の続きです。
今回は画像処理について解説していきます。

はじめに

私は動きの速いものに対する画像処理は高速である必要があると思っています。しかし大抵のロボコンではロボットは高速に動くのに対して画像処理の高速性にはあまり注目されていないような気がします。
そこで私はこのROBO剣で高速に画像処理をして相手の技をすべて見切ってやろうと考えていました。
が、残念ながら今年のROBO-剣はオンライン開催になり、ロボット同士の剣道の試合ではなく制限時間内にダミーロボットにどれだけ技を決めることができたかを競うルールになってしまいました。

残念ながら認識する相手は動かないダミーロボットですが、来年のことも見据えて高速なリアルタイム画像処理を実装しました。
“【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 画像処理編 –” の続きを読む

【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 機構編 –

この記事はrogy Advent Calender 2020 13日目の記事です.

こんにちは、15の谷です。

昨日12月12日に開催された「第11回 ROBO-剣(アーム型)」に参加しましたので、その報告と出場ロボットの紹介をします。チーム「ロギ剣」として、3人で参加いたしました。

まず結果として、私達はこの大会で優勝することができました。
加えて、制御技術賞、近藤科学賞も受賞することができました。

初めての出場ではありましたが、私達のロボットが活躍できたこと、またその技術を評価していただけたこと、大変嬉しく思います。
応援してくださった皆様、大会に関わる運営の皆様、選手の皆様に感謝いたします。ありがとうございました。

今回の記事では大会の概要、そして「機構編」としてロボットのメカ部分について紹介させていただきます。
明日明後日は各担当者による制御、画像処理についての記事を予定しています。

“【Gano剣】第11回 ROBO-剣(アーム型) 参加報告 – 機構編 –” の続きを読む

見たいYouTubeの動画を見逃さないために

初めまして、17のバンル( @17_bnr )です。

この記事はrogy Advent Calendar 2020の12日目になってます。

ところでみなさん,声優の夏川椎菜さんを知っていますか?
ハイスクール・フリートの岬明乃

©AIS/海上安全整備局

アイドルマスターミリオンライブの望月杏奈

©窪岡俊之 ©BANDAI NAMCO Entertainment Inc.

などそれ以外にも多くの作品に出演しています。
本業の声優以外にもtrysailというユニットを組んでいたり,
個人アーティストとしても活動しています。
(ところで来年1月6日に新曲,クラクトリトルプライドが出ますね!
サブスクなどでは先行配信されているのでぜひ聴いてみてください)

それ以外にも自信のブログを書いたり,自身のYouTubeチャンネルに毎週動画を配信したりと多方面で活躍しています。

その中で特に自分が好きなのはファミ通TUBEで配信されているゲーム実況です!

これだけは見逃したくないのですが,少し問題がありまして,
ファミ通TUBEは,下の画像にあるように幅広くゲーム関連の動画を配信しています。

そのため,YouTubeの通知機能だとファミ通チャンネルの動画がアップロードされるごとに通知が来てしまいます。
他の動画も面白いのですが,個人的には
ファミ通TUBE夏川椎菜さんの動画だけの通知が欲しい!
でもない……
”ないなら作ればいい”

ってことで作成開始です。

※夏川椎菜さんはファミ通.comでもゲーム実況と同じタイトルのGAMEISCOOLというブログを書いていますので,よければそちらも読んでみてください。

“見たいYouTubeの動画を見逃さないために” の続きを読む

絶縁ICを使ってみた

皆さんこんばんは.アクア研17の煎餅の人です.

こちらはrogy Advent Calender 2020 2日目 まだ寝てないからセーフ! の記事です.昨日の記事でかなり雑に紹介されましたが,ご期待に添えるかな…?

現在アクア研で動いているプロジェクトの片方で,個人的に初めて電源系を絶縁するという試みをしたので,その簡単な報告をします.

作成中の回路.水中ロボットなので防水ケースの中に回路を納める必要があります

書いている人は回路の勉強をしっかりした訳ではないので,内容に誤り等あれば指摘して頂けると嬉しいです.

絶縁ってなにしたの?

作成したパワーモジュール.見た目は完全にただの塩ビパイプだが,中にはモータとバッテリ,マイコンに無線通信機まで入っていて,独立したモータモジュールを構成している.

“絶縁ICを使ってみた” の続きを読む

rogy Advent Calendar 2020 始まりの儀

この記事はrogy Advent Calender 2020 1日目の記事です.

こんにちは.部長のHitomosiです.

rogy Advent Calender 2020が始まります!!!!!!!

毎年恒例のADCでございます.

最近似たようなイベントをやったような気がしますが,そこは気にしない方向で行きましょう.

新入生への勧誘的な話はここ(リンクです)でしたので,リンクでも踏んでください.

そういえば,ADCといえば集まらないもん(だと思ってる)んですが,今年はどうかな?

大いなる可能性を秘めていますね.

明日は先代部長の記事なので,多分すごいと思います.以上です.

アクア研の紹介2020秋

この記事はロ技研秋のブログリレー2020の記事です。

こんにちは。18-Thunderです。ロ技研秋のブログリレー2020ということで自分の所属するアクア研について書いていきます。

アクア研とは

知らない人もいると思うので研究室について紹介します。
名前にもあるとおり、水や流体に関することを対象にします。
水中ロボットだったり水上船を作ったりしてます。

去年主に開発していたもの 増築を重ねた結果がこちら

ここ数年は例年夏に開催される水中ロボットコンベンションへの参加を目標にしています。
特定のタスクがあるわけでもないので、自由に技術を生かしていきます。
水中の自動機を目指して作ることが多いです。

 

水中ということで、地上で元気に動く機体も水没させれば(おそらく)お亡くなりになると思います。水中で元気に動かすために、本研究室では以下のようなことをしています。

  • 回路などの防水
    基板やマイコン、バッテリーなど、すべての電子部品は水が入らないように処理します。
    お弁当箱や塩ビ管を使って密閉することが多いです。(基板をコーティングして直付けしたこともあるが)

    一昨年の機体ですが
    右上がお弁当箱。マイコンや基盤が入っている。 左や下が塩ビ管。左はバッテリー、下はモーターが入っている。

    配線のためのケーブルやメンテナンス時の開閉に気を付けます。
    浸水センサーや緊急停止スイッチもあります。

  • モータの防水
    モーターは防水のほかに回転軸をどうするかを考えなければなりません。
    大きく分けて2つの方法があり、軸を油などで覆う方法と非接触で回す方法です。
    本研究室では磁石による非接触式が多いです。
  • センサー
    手動機なら人が見てやればいいですが、自動機の場合はセンサーで外部の情報を得る必要があります。
    超音波センサーやカメラ、加速度センサー、ジャイロセンサーを使います。
    ブイタッチやゲートくぐりなどのタスクが多いため、カメラで目標を認識することが多いです。
    減衰の関係で画像だけではなく、深度を測るRealSense(出来た)や減衰の少ない音波を用いたソナー(実験中)で補助します。

    カメラの水中画像 真ん中に青い風船があり、上はより水深が深い領域になる
    深度画像 風船の部分が青(近い)に、水深が深い部分が赤(遠い)になっている

    制御にも絡んできますが、壁や床が常に使えるわけではないので真面目に自己位置を取ろうとすると大変です。

  • 機体設計
    船や水底走行機ならともかく、水中ロボットは三次元的に動くため、いろいろ考えることがあります。
    例えば、機体の重心は下に、浮力と重力が釣り合うようにして、静止状態が安定になるようにすること、目的に合うスラスターの位置および個数を決めることがあります。
    水の抵抗の影響を考え、進行方向に垂直な面を減らしたり、横や上から見たときに滑らかな楕円形なるようにしたりもします。

今年度の活動について

コロナの関係で前期は機体製作が難しく、構想、設計や家でできる作業をしていました。
水中ロボコンが12月に延期になったので、現在はそれを目指して機体制作に取り組んでいます。
今年は2チーム参加します。結果が出次第ブログにも報告します。