SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EdTechZineオンラインセミナーは、ICTで変わりつつある教育のさまざまな課題や動向にフォーカスし、最新情報をお届けしているWebメディア「EdTechZine(エドテックジン)」が主催する読者向けイベントです。現場の最前線で活躍されているゲストの方をお招きし、日々の教育実践のヒントとなるような内容を、講演とディスカッションを通してお伝えしていきます。

次回のオンラインセミナーは鋭意企画中です。準備が整い次第、お知らせいたします。

EdTechZineオンラインセミナー

EdTechZineオンラインセミナー

EdTechZineオンラインセミナーは、ICTで変わりつつある教育のさまざまな課題や動向にフォーカスし、最新情報をお届けしているWebメディア「EdTechZine(エドテックジン)」が主催する読者向けイベントです。現場の最前線で活躍されているゲストの方をお招きし、日々の教育実践のヒントとなるような内容を、講演とディスカッションを通してお伝えしていきます。

LEGOで始めるIoTプログラミング

LEGOの赤外線を使った自動走行で「曲がる」プログラミングに挑戦しよう

LEGOで始めるIoTプログラミング 第4回

 本連載では、筆者が小学生の娘と一緒に実際にLEGO MINDSTORMSを動かしてみた体験とともに、どんな楽しみ方があるのか紹介します。前回、赤外線センサーとビーコンを使って一定の距離を保って進む、戻るプログラミングまでできるようになりました。しかし、「進む」「戻る」ことはできても、「曲がる」ことはできませんでした。今回は、ビーコンがある方向に従って曲がることができるようにプログラミングを進めていきますが、同時に、より複雑なプログラミングにも挑戦しテクニックを学んでいきます。

読者対象

  • プログラミングについて学びたい人・教えたい人
  • プログラムが動く楽しさを知りたい人
  • プログラムでロボットを動かしたい人

目指すプログラムの概要

 前回の記事でも説明しましたが、改めて簡単に課題を説明します。

 商品を購入した時の箱に印刷されているルートを使って、図1のようにスタート地点から赤線内をゴールまで走行するプログラムを作成します。

 実際に走行するルートは、赤線内であればよく、任意のタイミングでバックしてもよいこととします。

 そして、今回のプログラミングでは、その課題を達成するために「赤外線センサーを人が持ち、ロボットがセンサーの後を追うようにし、ゴールまで導く」ことができるようにします。

図1:ロボットが走行する台紙画像
図1:ロボットが走行する台紙画像

曲がる仕組み

 プログラムで用意されている「ステアリング」ブロックを使うと簡単に曲がることができますが、ここで「曲がる」仕組みについて理解します。

 「曲がる」というと非常に簡単な操作に思えますが、実際には思ったよりも複雑です。例えば、自転車などの二輪車であれば、図2のようにハンドルを傾けると曲がります。

図2:ハンドルを使って自転車などが曲がる仕組み
図2:ハンドルを使って自転車などが曲がる仕組み

 しかし、今回のロボットは、4輪なので自動車と同じです。しかし、ハンドルのようにタイヤが傾くような仕組みはありません。そのため、左右の回転数を変えることで曲がります。

 例えば、右に曲がりたい場合には、左のタイヤが右のタイヤよりもより多く回転することで、進む距離が変わります。

 そのため、図3(左)のように左のタイヤの方がより前に進むことになります。しかし、左右のタイヤの位置はロボットに対して位置が変わらないので結果的に図3(右)のように曲がります。

図3:ロボットが右に曲がる仕組み
図3:ロボットが右に曲がる仕組み

 例えば、自動車のようにタイヤの向きを変えるハンドルがあっても、実は、このように左右のタイヤの回転数を変える機能も持っています。

 これは、2つのタイヤがある場合に、図4のように左右のタイヤが進む距離が違うためで、スムーズに曲がるには左右の回転数を変えない必要がある訳です。

図4:ロボットが回転する際の内輪と外輪の差
図4:ロボットが回転する際の内輪と外輪の差

曲がる動作とプログラミングを確認する

 続いて、「ステアリング」ブロックを使って、曲がる動作を確認します。今回のロボットは、モーターが逆に回転することで前に進む構造になってしまっています。それは、モーターのつける向きに原因があります。

 前回も、後ろに進む処理で前進する仕組みになっていました。こちらはまっすぐでしたので比較的容易でしたが、今回の曲がる動作についてはイメージがしづらい方もいると思います。筆者も直感的にはイメージできないので、ここで動作を確認します。

 その際にプログラムとロボットの動きを図5のように合わせて見るとわかりやすくなります。

★キャプションをお願いします★
図5:プログラムブロックとロボットの動く方向

Note:モーターの向きを変えるブロックについて

 モーターはつける向きによって、今回のように動作のルールが難解になります。そのために拡張ブロックの中に、モーター逆回転ブロックがあります。

 しかしこのブロックは、「ステアリング」や「タンク」などの2つのモーターをセットで使うブロックには残念ながら使えないので注意しましょう。

次のページ
赤外線ビーコンに合わせて曲がる

この記事は参考になりましたか?

LEGOで始めるIoTプログラミング連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

<WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。個人紹介主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしど...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です


山田 祥寛(ヤマダ ヨシヒロ)

 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。  主な著書に「入門シリーズ(サーバサイドAjax/XM...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です


この記事をシェア

EdTechZine(エドテックジン)
https://edtechzine.jp/article/detail/3383 2020/03/18 07:00

おすすめ

記事アクセスランキング

記事アクセスランキング

イベント

EdTechZineオンラインセミナーは、ICTで変わりつつある教育のさまざまな課題や動向にフォーカスし、最新情報をお届けしているWebメディア「EdTechZine(エドテックジン)」が主催する読者向けイベントです。現場の最前線で活躍されているゲストの方をお招きし、日々の教育実践のヒントとなるような内容を、講演とディスカッションを通してお伝えしていきます。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

記事アクセスランキング

記事アクセスランキング