実機とシミュレータを併用するロボットプログラミング教材のための支援ツール

実機とシミュレータを併用するロボットプログラミング教材のための支援ツール

Author: 
root

概要・特徴

ロボットプログラミングの学習では実機とシミュレータを切り替えることのできる教材が有用である.大阪電気通信大学では,RTミドルウェアとChoreonoidを利用してそのような教材を構成し授業を行っている.しかし,それらの標準のソフトウェアだけでは,操作が煩雑で学習の妨げになりやすく,実機を複数人で共用する場合にトラブルが起こりがちであった.そこで,rtctreeとTkinterを利用したGUIの支援ツールを開発し授業で活用した.本発表では,それを発展させ,設定ファイルを書き換えることによって様々な実機とシミュレータの組み合わせに利用できるように汎用化したツール,ロボットプログラミングマネージャ(RPM)を紹介する.

仕様

  • 言語: Python
  • OS: Windows7/8.1/10 / ubuntu
  • RTミドルウェア:OpenRTM-aist-1.1.2

RPM

システム概要
Windows版 RPM

事例1

事例1で使うロボットとシミュレーション図
kobuki
シミュレーション

事例2

事例2で使うロボットとシミュレーション図
CRANE+
シミュレーション

ソースコードおよびマニュアル

ソースコードに加えて実際にRPMを試すための事例1と事例2を用意.

ライセンス

LGPL

動画

RPMの紹介動画

問合先(メールアドレス): 
mt16a002<at>oecu.jp
Project Information
Average: 
4.5
Average: 4.5 (2 votes)
Last modified: 
Sat, 2017-12-09 15:08

Comments

Author: 

CRANE+の事例の図のRTCがkobukiRTCとなっていますが、これは合っていますでしょうか?

Author: 

返信遅くなり申し訳ありません。

正しいものに変更しました。

Author: 
産総研の高橋です.更新ありがとうございます.
内容を確認させていただきました.
分かりやすいGUIを用いており,実授業にも利用されたとのことで実用性が高いできる作品と感じました.
何点かコメント&質問させていただきます.
  • 実機を複数人で利用されるケースを想定されているのとのことですが,同時操作された場合のフェールセーフについて実機側RTCで何らかの対応が入っているのでしょうか.それとも運用上でカバーされているのでしょうか.
  • 本ページ中のREADMEのリンクが誤っている(仕様書と同じファイルを指している)ようです.
  • グローバル変数やマジックナンバーを多用しているようですので,メンテナンス性や拡張性を考えると整理されるとより良いと感じました.
  • サブプロセス呼び出しの失敗やコンポーネントが存在しない場合にボタン押下された場合にも,ターミナルだけでなくポップアップエラーメッセージが出る方がより初学者には分かりやすいと感じました(一部のエラーにはご対応されていると思います).
Author: 

コメントありがとうございます.

対応できるものは対応します.

実機の"ユーザRTC起動"ボタンの処理でもし他の同名RTCが起動していた場合はそのRTCまでのツリー(例 /192.168.11.100/○○.host_cxt/○○.rtc)を表示しています.動画をご覧になるとその処理を紹介しています.

Author: 

上記のコメントは

の質問の回答です.

Author: 

コメントについて返答します.

グローバル変数やマジックナンバーを多用しているようですので,メンテナンス性や拡張性を考えると整理されるとより良いと感じました.

マジックナンバーについてですが,私の主観ではGUIの設計(ボタンの配置など)の部分が多いと思います.この理由ですがTkInterでウィジットの配置方法としてpack, grid, placeがありますが,packやgridを使うとOSの違いや各PCの解像度によって綺麗な配置にすることができませんでした.のでplaceで決め打ちな値が必要でしたのでマジックナンバーが多くなっています.

Author: 

返信いただきありがとうございました.
実装制約について承知致しました.確かにTkInterを使って見た目の良い画面を作成すると,どうしてもコードが煩雑になるというのは理解できました.

細かい話で恐縮なのですが,今後授業等のフィードバックを受けて改善されていくと思いますので,コーディング方法を統一するとさらに可読性が上がり,長く利用できるソフトウェアになると感じました. 静的解析の結果を下記にアップロードしていますので,ぜひ参考にしてください.
https://takahasi.github.io/RTM_Contest/2017/report_20171217

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK