実機とシミュレータを併用するロボットプログラミング教材のための支援ツール
実機とシミュレータを併用するロボットプログラミング教材のための支援ツール
投稿日時:
月, 2017-10-30 15:14
概要・特徴
ロボットプログラミングの学習では実機とシミュレータを切り替えることのできる教材が有用である.大阪電気通信大学では,RTミドルウェアとChoreonoidを利用してそのような教材を構成し授業を行っている.しかし,それらの標準のソフトウェアだけでは,操作が煩雑で学習の妨げになりやすく,実機を複数人で共用する場合にトラブルが起こりがちであった.そこで,rtctreeとTkinterを利用したGUIの支援ツールを開発し授業で活用した.本発表では,それを発展させ,設定ファイルを書き換えることによって様々な実機とシミュレータの組み合わせに利用できるように汎用化したツール,ロボットプログラミングマネージャ(RPM)を紹介する.
仕様
- 言語: Python
- OS: Windows7/8.1/10 / ubuntu
- RTミドルウェア:OpenRTM-aist-1.1.2
RPM
事例1
事例1で使うロボットとシミュレーション図事例2
事例2で使うロボットとシミュレーション図ソースコードおよびマニュアル
ソースコードに加えて実際にRPMを試すための事例1と事例2を用意.ライセンス
LGPL
動画
RPMの紹介動画
問合先(メールアドレス):
mt16a002<at>oecu.jp
最終更新日時:
土, 2017-12-09 15:08
コメント
CRANE+の事例の図のRTCがkobukiRTCとなっていますが、これは合っていますでしょうか?
返信遅くなり申し訳ありません。
正しいものに変更しました。
内容を確認させていただきました.
分かりやすいGUIを用いており,実授業にも利用されたとのことで実用性が高いできる作品と感じました.
何点かコメント&質問させていただきます.
コメントありがとうございます.
対応できるものは対応します.
実機の"ユーザRTC起動"ボタンの処理でもし他の同名RTCが起動していた場合はそのRTCまでのツリー(例 /192.168.11.100/○○.host_cxt/○○.rtc)を表示しています.動画をご覧になるとその処理を紹介しています.
上記のコメントは
の質問の回答です.
コメントについて返答します.
グローバル変数やマジックナンバーを多用しているようですので,メンテナンス性や拡張性を考えると整理されるとより良いと感じました.
マジックナンバーについてですが,私の主観ではGUIの設計(ボタンの配置など)の部分が多いと思います.この理由ですがTkInterでウィジットの配置方法としてpack, grid, placeがありますが,packやgridを使うとOSの違いや各PCの解像度によって綺麗な配置にすることができませんでした.のでplaceで決め打ちな値が必要でしたのでマジックナンバーが多くなっています.
返信いただきありがとうございました.
実装制約について承知致しました.確かにTkInterを使って見た目の良い画面を作成すると,どうしてもコードが煩雑になるというのは理解できました.
細かい話で恐縮なのですが,今後授業等のフィードバックを受けて改善されていくと思いますので,コーディング方法を統一するとさらに可読性が上がり,長く利用できるソフトウェアになると感じました. 静的解析の結果を下記にアップロードしていますので,ぜひ参考にしてください.
https://takahasi.github.io/RTM_Contest/2017/report_20171217