技術・家庭
中学生

至急です!技術 中2 プログラミングです。
レゴの車のプログラミングをやってるんですが、明日までに安全性、利便性がもっと高まるにはどうしたらいいを考えなければなりません。このレゴ車を使って無人配達をする事です。障害物(人も)をよけること、赤信号で止まることは、もともとあります。この他に三つ考えなければいけません。教えてください!お願いします!

技術 至急 プログラミング 安全 利便 中2 プログラム わからない レゴ 無人 配達

回答

先生の意図はわかるけど、具体的な答えがわかりませんね。
正解かどうか不安ですが、一応書いておきます。

①急ブレーキをかけない。
理由:コンピュータは、0と1の電気信号なので、止まると進むの信号なんですけど、単純にそれだけでは、急ブレーキになります。レゴの車くらいならそれで良いのですが、実際の配達では、中の荷物に負担がかかります。(揺らされて、荷崩れしたり、最悪、デリケートな荷物は壊れる)

②道の流れに乗ること。これも、障害物をよけるの一部ですよね。独立して言っていいのかが不安ですがね。
理由:道路だと、前の車と後ろの車と対向車に当たらず、スムーズに前進しないといけません。自分だけが安全に止まったり、曲がったりすると、まわりの車は迷惑です。

③複数の荷物を配達するのであれば、最短距離で一筆書きするルートを考える。
理由:利便性があがる。ルートの最短距離を考えるのは、プログラミングとしては、基礎基本の考えで、コンピュータは得意です。

この3つの答えが正解であるとも思えませんので、
もし良かったら、授業で先生が言う模範解答を後日教えていただけると、私も勉強になります。
よろしくお願いします。

プログラミング的思考 情報 思考力 創意 工夫 主体的・対話的深い学び

ありがとうございます。
あと、スタートからゴールまで進んだら、スタートに戻らないといけないんです。どういうプログラムでできますか?
あと、暗いとライトをつけるというのもどうやったらいいか分かりません。
ちなみに、レゴはマインドストームです。
道に沿って、進むのは、できます。
他に、利便性、安全性を高めることも教えてください。よろしくお願いします!

ひふみ

①単純に2つ考えられますね。Uターンか、逆走です。ただ、マインドストーンを具体的にいじったことないので、ホントにできるかは?です。

②Uターンは、左右の車輪を逆に回転させる(=戦車の超信地旋回(ちょうしんちせんかい))ができれば、あとは、もう一度ラインとレースができるように微調整したら、行きと同じプログラムで帰れるでしょうね。

③なるほど、暗くなると点灯させると安全ですよね。
暗いとライトを付ける場合は、明暗センサがあれば、周辺の明るさの度合いで、(点灯させたい暗さの数値がわかれば)分岐処理でライトのオンオフは簡単なはず。

④道に沿って進む=ライントレース。黒の線を2つの明暗センサがはさむことで、道に沿って走る基礎基本のプログラム。
最新の自動運転の自動車は、ライントレースでなく、カメラによる画像認識で、左右の道路の線を認識して走る。さらに、前方の車の画像から距離を割り出す。道に、ラインなんて書いてないし、マーキングを埋め込むのは現実的に予算的に難しいですからね。

⑤現実の自動車の安全対策を参考すると良いですよ。
いっそ、4WD(AWD)の四輪駆動にして、雪道やぬれた路上での走破性や安全性をあげるってのはどうでしょうか?
4輪の制御も機械式と電子式があったはずですからね。

雨や雪対策なら、センサ部分にワイパーを付けた方が良いですよね。

何度もありがとうございます!
もう一つ質問なんですが、ライントレース、障害物で止まる、赤で止まる、青で止まって音が鳴ってタッチセンサが押されたらぐるっと回って最初のライントレース、を同時にしたいです。どういうプログラミングだとできるでしょうか?私が考えたのは、青を感知したら止まるを最初に入れたんですが、青を感知しても止まりません。なぜでしょうか?

この回答にコメントする
疑問は解決しましたか?