丸いロボットがゲコゲコ跳ねる!?スフィロで挑む「カエル化」プログラミング

サイエンストレーナーの桑子研です。毎日が実験。

机の上に置かれた真っ白で丸いロボット。一見するとただの球体ですが、そこに「魔法の言葉(プログラム)」を吹き込むと、まるで命を宿したかのように生き生きと動き出します。今回は、そんな教育用ロボットの決定版 スフィロ(Sphero) を使って、自然界のジャンパー「カエル」を再現するプロジェクトに挑戦してみました!

試行錯誤で再現!カエルの「ジャンプ」のメカニズム

ボール型ロボット、スフィロ(Sphero)を使ってカエルの動きをプログラミングしています。

本物のカエルは、後ろ足の筋肉に蓄えたエネルギーを一気に解放して跳躍します。これをスフィロで表現するために、「前に数回転して前進」し、着地の反動をイメージして「後ろに数回転して少し戻る」という動きを組み合わせてみました。

この一連の動きを1セットとして、ジャンプした回数を記録するために 「カウント」という変数を1ずつ増やしながらループ(繰り返し) させています。

数学が「鳴き声」と「色」をコントロールする

ただジャンプするだけでは面白くありません。そこで、「カウントが偶数の時だけゲコゲコと鳴き、奇数の時には体が緑色に点滅する」というルールを加えてみました。

動いているときの様子はこちらです。

これを実現させるには、プログラムの中で 「ある整数を2で割った時のあまり(剰余)」 が出るか出ないかを判定する必要があります。

例えば、ジャンプ1回目(1÷2)は「あまり1」なので奇数、ジャンプ2回目(2÷2)は「あまり0」なので偶数といった具合です。スフィロのプログラミングでは、こうした 数学的な思考 が自然と身につくのが大きな魅力ですね。

科学者のように考え、クリエイターのように遊ぶ

プログラミングの素晴らしいところは、頭の中で考えた仮説をすぐに試せる 「PDCAサイクル」の速さ にあります。「もう少し高く跳ばせるには?」「もっとカエルらしく見せるには?」と、やってみては改善する流れが止まりません。作っているうちにどんどんアイデアが湧いてきて、最後は池に「ぽちゃん!」と飛び込む演出も追加してみました。試行錯誤の末、かなりカエルの生態に近いユニークな動きが完成しました!

科学の視点で観察し、数学の力で制御し、プログラミングで表現する。スフィロを使えば、リビングが小さな研究所に早変わりします。

スフィロ(Sphero)(amazon)

お問い合わせ・ご依頼について

科学の不思議やおもしろさをもっと身近に!自宅でできる楽しい科学実験や、そのコツをわかりやすくまとめています。いろいろ検索してみてください!
・科学のネタ帳の内容が本になりました。詳しくはこちら
・運営者の桑子研についてはこちら
・各種ご依頼(執筆・講演・実験教室・TV監修・出演など)はこちら
・記事の更新情報はXで配信中

科学のネタチャンネルでは実験動画を配信中!