docker使って,mruby でロボット制御をシミュレーションする(TOPPERS/箱庭)
概要
mruby は,組み込みシステム向けの軽量なRuby言語処理系ですが,ロボットを動かすこともできます.
一方で,TOPPERSの箱庭WGでは,単体ロボットシミュレータをを提供しており,このシミュレータをmrubyで実行できるようになりましたので,ご紹介します.
なお,本実現にあたっては,yamanekkoさん,および軽量Rubyフォーラムさんの技術的なご支援が非常に大きく,大変感謝しております.
特に,以下の記事/gitリポジトリのREADMEが下支えになっております.
インストールおよびシミュレーション実行手順
これまで,箱庭/単体ロボットシミュレータは,Unityおよびマイコンシミュレータ Athrill を実行するようにしておりましたが,インストール手順が煩雑化してきましたので,docker化対応を始めています.docker化により,大分手順がシンプルになってきました.今回のmruby版のシミュレーション環境もdocker化しましたので是非おためしください.
インストール手順および実行方法は,以下で公開しております.
mruby の制御プログラム
mruby の制御プログラムはこんな感じです.
count = 0
flag = true
while flag
log("count:#{count}\r\n")
case count
when 0..200
leftMotor.power = 5
rightMotor.power = 5
when 201..400
leftMotor.power = -5
rightMotor.power = -5
when 401..600
leftMotor.stop
rightMotor.stop
armMotor.power = 4
when 601..800
leftMotor.stop
rightMotor.stop
armMotor.power = -4
else
flag=false
end
count+=1
EV3RT::Task.sleep(20)
end
log("mruby end\r\n")
時間経過に従って,ロボット前進⇒後進⇒ロボットアームの上げ下げをやってます.
※ロボットがたったこれだけのコードで制御できてしまうなんて,素敵です.
詳細は,こちらを参照ください.
デモ
では,実際にmrubyでシミュレーションしたデモをお見せします.
Author And Source
この問題について(docker使って,mruby でロボット制御をシミュレーションする(TOPPERS/箱庭)), 我々は、より多くの情報をここで見つけました https://qiita.com/kanetugu2018/items/feb75f999a8bdaef1f53著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .