現在、ロボット制御を行うにあたって2つ困っていることがあります。
ここでいうロボットとは、模型の道路上を自律走行することを目的(対象)としています。
1つ目は、ロボットを直進走行させる方法です。『ロボット工学』の本を読んだり、直進走行を行うコマンドがないかどうかをインターネットで調べたのですが、これというものが見つからなくて困っています。
2つ目は、直進走行を行うプログラムをロボットカーに出力する方法です。これを行うためには、TCPやUDPといったネットワークの知識を使い、プログラムとロボットカーの間で通信を行うべきなのでしょうか。
以上が、理解不足・知識不足でありわからない点ですので、ヒントなどのアドバイスがありましたら、ご教授お願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/12 11:24
回答1件
0
ベストアンサー
ロボットの制御に明るいわけではありませんが:
1つ目の回答
あらゆる種類のロボットを直進走行させる「コマンド」などと言うものは存在しません。それぞれのロボットで、直進させるようにプログラムを書くか、あらかじめ用意されているライブラリやフレームワークのようなものを利用します。
2つ目の回答
TCP, UDPを必ず使うわけではないし、それだけでもないです。無線でIPベースの通信経路を確保していて、それが使いやすければ無線LANのリモコンで使えるでしょうし、Bluetoothかもしれないし、IR(赤外線)コントロールかもしれないし、ラジコンのような無線コントロールかもしれないし、シリアルケーブルをつなげての有線コントロールかもしれません。要はロボット(制御対象)と設計次第ということです。
実際に簡単なライントレースの自律型ロボットカーを作ってみるとか、無線リモコンで動作するロボットを作ってみれば分かってくると思います。私自身詳しいわけではありませんが、ロボットを制御することを目的としたOS/フレームワークで、「ROS (Robot Operating System)」やロボット制御システム「V-Sido OS」と言うようなものもあります。ただ、これらも別に魔法ではなくて「直進せよ」と言うロボットへの抽象的な命令に対して、直進するようにマイコンや機械を動かすよう細かくプログラムを書いたものに過ぎません。(「直進せよ」と言う直接的なコマンドがそれらOSにあるかどうかも知りません)
質問者さんが例えばソフトウェアプログラムで、Run
と言う名前のメソッド/関数を書くとき、その中身を書かなければ何も動かないように、ロボットと言うハードウェアに対しても「このモーターを回転させて、10秒間回転させたら、止めて・・・」と言うような動作を行うよう、ロボットを制御するCPUボードに載せるソフトウェアプログラムを書く必要があります。
投稿2019/11/11 18:56
総合スコア9256
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/12 11:26
2019/11/12 15:51 編集
2019/11/14 12:39
2019/11/14 12:46
2019/11/14 12:50
2019/11/15 00:03
2019/11/15 00:24
2019/11/15 01:56
2019/11/15 02:11
2019/11/15 02:27
2019/11/15 02:40 編集
2019/11/15 02:53 編集
2019/11/15 03:46
2019/11/15 04:07
2019/11/15 09:19
2019/11/15 09:27
2019/11/15 09:45
2019/11/15 09:50
2019/11/15 09:58
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。