スタンドアロン(または可能)ロボットシミュレーター


13

私は若い女の子にテクノロジーを紹介する非営利団体でボランティアをするソフトウェアエンジニアです。私たちは最近、これらの子供たちをロボット工学の世界に紹介する方法について話してきましたが、どのようなタイプの低コストの選択肢があるのか​​興味があります。

非常に魅力的なアイデアの1つは、オンラインシミュレーター、または(より望ましい)オフラインスタンドアロンシミュレーターを使用して、単純なロボットを構築およびプログラミングできるようにすることです。おそらく、コンポーネントを一緒にドラッグし、それらのコンポーネント間の相互作用をプログラミングすること以上のものはありません。

私たちのアウトリーチで利用できるかもしれない解決策は何ですか?


私の経験では、動作していない平均的なロボットは、シミュレーターの本格的なクールなロボットよりも(ロボットとして)ずっと注目されています。それが現実的でない限り、それはすべての子供の世話のためのコンピュータゲームまたは漫画であったかもしれません。
シャーバズ

女の子が実際にプログラミングの概念を学び、それらを使用できるようにするには、シミュレータが必要です。シミュレーターはきれいである必要はありません-それは粗雑な幾何学的形状にすぎません。コードが重要です。
サンプソン

回答:


7

StageおよびGazeboは、それぞれオープンソースの2Dおよび3Dシミュレータです。これらは、Playerプロジェクトによって作成および管理されます。それらは非常に使いやすく、多くの事前作成されたマップとロボットを持っています。視聴者の経験に応じて、少し手間をかける必要があります(つまり、構成ファイルとメインクラスの構築)。

また、いくつかの追加の利点もあります。まず、プレーヤーのプラグインとしてメインコントロールコードを作成する限り、実際のロボットに簡単に適合させることができます。第二に、実際のハードウェアで動作するようにすでに構築された多数のプラグインがあります。第三に、彼らはROSで動作します。


4

少々高額かもしれませんが(CHF 75)、Colobotをお勧めします。これは、ロボットが人間が宇宙空間を居住可能にするのを支援する必要がある、すてきな、ほとんどゲームのような環境です。ますます複雑なタスクが実行されている間に、ロボットは子供によってプログラムされます。このプログラムは、プログラミングの基礎を目標指向の面白い方法で教えます。


3

マイクロソフトのロボット工学は無料で、シミュレータが含まれています。世界で最も簡単な環境ではありませんが、堅牢で実際のロボット工学に適しています。事前に何かを設定するために教師が関与していれば、それは役に立つかもしれません。LEGO、Neato、およびその他のロボット用のシミュレータ「パッケージ」があり、C#または視覚的なドラッグアンドドロップ言語でプログラムできます。

繰り返しになりますが、若者が使いやすいように事前の作業が必要になると思いますが、それほど難しくはなく、あなたの要件を考えれば私のアプローチになるでしょう。複雑さに関しては、この(ウィンドウ)対Gazebo / ROSを使用したLinux環境では、ウィンドウ環境はやや複雑ではありませんが、そのほとんどは準備作業で隠されていると思います。


2

RobotCにはシミュレーターが用意されていますが、両方とも多少の費用がかかります。しかし、彼らは若い学生と教育に非常に適しています。コストが阻止因子(でない場合、これは最も簡単な、最も適切な経路になるの周り$シングルユーザー用の両方のライセンスあたり100、$ 5人のユーザのための300、$ 26人のユーザのための600)。

LEGOMINDSTORMS NXTの学生版ROBOTCを購入した場合、価格はそれぞれ49 ドルまたは40ドル(20ライセンス以上)になります


2

V-Rep(仮想ロボット実験プラットフォーム)は、実行可能なシミュレーションの種類が非常に広いようです。教育目的で無料で、さまざまなツールが付属しています。デモについては、このYouTubeビデオご覧ください。


1

完全なロボットシミュレータではないかもしれませんが、3D CAD、Autodesk Inventorをシミュレーションにかなり使用しています。通常、CADへのインターフェイスは、ハードウェア用にしたいものに似ています。このようにして、CADモデルを仮想プロトタイプとして使用して、次のことができます。

  • 設計エラーを早期に発見します。衝突、ストローク不足など
  • また、アライメントエラーなどのエラーの補正を見つけるのにも役立ちました。CADを使用して、さまざまなエラーを1つずつモデリングし、補正をテストできます。既知の記号で大きなエラーを導入できると便利です。
  • CADは、慣性モーメントなどの事柄に関する回答も提供します。
  • また、CADモデルを使用して、機器のプログラムを生成します。

私が間違っているが、CADはハードウェアと物理の正確なモデリングに非常に焦点を当てており、ロボットのプログラミングにはあまり焦点を当てていない場合は修正してください。私は、CADシステムは、彼の問題を解決しないと思うので、OPは、教育のプログラミングではなく、工学に興味を持っている
ThomasH

@ThomasHのおかげで、CADのAPIに対するプログラミングが成功し、その方法で多くの開発を行うことができました。削除する必要がありますか?
ヨハンラーソン

1
削除する必要はありません。OPにはあまり向いていないからといって、それは悪い答えではありません。投票は通常、とにかくトップに最もふさわしい答えを推進し、OPは最も助けたものを受け入れます。しかし、あなたのはまだこの問題に出くわす同様の問題を持つ人に興味があるかもしれない
ThomasH

1

MindRover」をチェックアウトすることをお勧めします。元のウェブサイトは機能していないため、今では見つけるのが難しくなりましたが、EbayまたはAmazonで引き続き見つけることができます。ゲーム/ミッション指向ですが、ロボットコンポーネントのパレットから選択し、それらをシャーシに配置してから、それらを配線します。それはゲームにとって本当によくできていて、単純なものから中程度の概念までを探求するのに使用できました。ここではいくつかのスクリーンショット:http://images.google.com/images?q=mindrover

現実の機能でもう少し深刻なものを探している場合は、FlowStone for Educationをチェックしてください。私はそれを使ったことはありませんが、ロボティクス型の作業に理想的なビジュアルプログラミング環境だと思います。

最後に、ソフトウェアやシミュレーションではありませんが、最近、プログラミングを導入する手法に関するphbljのredditについてのコメントに出会いました。見積もり:

私が子供と一緒にしたコンピュータのすばらしい例:1人の子供が「プログラム」になり、ピーナッツバターとゼリーのサンドイッチの作り方を説明しましたが、彼らは私の行動を見ることができませんでした。私はコンピューターであり、指示に正確に従いました。陽気になりました。(ピーナッツバーの蓋を外すことはなく、箱から出してパンを入れることもありませんでした)。しばらくして、別の子供が現れて試しました。彼らはもう少し進んでいたが、それでもまだひるんでいた。「ピーナッツバターをパンに乗せた」と言うと、ジャーにローフなどが乗った。アシスタントがいる場合は、指示どおりに指示を書いて「プログラム」を作成してもらいます。

それから、説明に入ることができますが、本当に行き詰まったことは、子供たちがそれぞれ「コンピューターより賢い」ということでした。しかし、そのコンピューターは、指示に従うのが非常に高速でした。そのため、彼らは彼らのスマートとコンピューターの速度を使用する必要がありました...そしてプログラミング!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.