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

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

投稿者: 
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)
最終更新日時: 
土, 2017-12-09 15:08

コメント

投稿者: 

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

投稿者: 

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

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

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

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

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

実機の"ユーザ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

ダウンロード

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.2.0-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1761
プロジェクト統計
RTコンポーネント292
RTミドルウエア23
ツール20
文書・仕様書1

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

モーションエディタ/シミュレータ

OpenHRI

対話制御コンポーネント群

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム