Choreonoid 1.0 基本チュートリアル

Choreonoid でモデルファイルを開き、Scene画面上に配置する手順を記します。

Choreonoid の起動

~/src/choreonoid-1.0.0 にインストールした場合、端末から

 % cd ~/src/choreonoid-1.0.0
 % bin/choreonoid

とすると、Choreonoid が起動します。

Choreonoid_1.png
本テキストでは、五段あるツールバーのうち、主に二段めのシーンビューバー、三段めのキネマティクスバー、四段めのプランナーバー、左ペインのItemsタブを使用して、画面右側のSceneタブに表示されるモデルを操作します。(各ボタンの機能はあとで解説します)
シーンビューバー
SceneViewBar.png
キネマティクスバー
KinematicsBar.png
プランナーバー
PlannerBar.png

画面下のMessageタブにも、さまざまなメッセージが表示されます。

ツールバーの詳細についてはChoreonoid 1.0 ヘルプを参照してください。

モデルファイルを開く

graspPlugin で利用するモデルは、File メニューで、Open - OpenHRP model file を使って開きます。
OpenHRPModelMenu_0.png
モデルを開くと、Items タブにチェックボックスとモデル名が表示されます。
チェックボックスをオンにすると、Scene画面上の原点に3Dモデルが表示されます。

モデルファイルは、extplugin/graspPlugin/Grasp 以下に配置されています。

PA10 ディレクトリ
ハンドロボット PA10 のモデル PA10.yaml があります。
Object ディレクトリ
さまざまなモデルファイル(拡張子 .wrl)があります。よく似た名前のファイルが二つ三つありますが、graspPlugin で使用できるのは末尾に hrp がつくファイルです。

例えば ahiru.wrl と ahiruhrp.wrl があった場合、開くことができるのは arihuhrp.wrl ということです。

OpenHRP_model_files.png
ahiru.wrl を読み込んでも、以下のようなメッセージが出るだけで何も起こりません。

 Loading OpenHRP model file "/home/asa/workspace/Choreonoid/extplugin/graspPlugin/Grasp/Object/ahiru.wrl"
 Humanoid node is not found
  -> failed.

Object ディレクトリのモデル

モデル名で示します。ファイル名は、モデル名+hrp.wrl となります。

M0:直方体(大)
M1:直方体(中)
M2:直方体(小)
ahiru:あひるのおもちゃ
biscuit:ビスケットの箱(角柱)
box:物入れ
can200:ドリンクの缶
cap:小さなキャップ
chipstar2:ケース入りのポテトチップス(円柱)
cup2:把手のあるコップ
grcTemplate:片側の側面が開いた箱
greentea350:お茶のペットボトル
iemon:お茶のペットボトル(greentea350より少し小さい)
mug2:横倒しのマグカップ
packncho:角柱型の菓子パッケージ
packncho2:直方体の、片側の角を二つ取った形状の菓子パッケージ
petfruit:ペットボトル(横倒し)
phone2:ストレート型携帯電話(アンテナあり)
remote:テレビリモコン
souken:中心が凹んだ形状のペットボトル
table-can:テーブル

Items タブ

左ペインの Items タブには、開かれたモデル(アイテム)の一覧が表示されています。
左クリックでアイテムAを選択して、右クリックメニューで操作します。
ItemMenu_0.png
Cut
選択したアイテムを一覧から消して、クリップボードに送る。子アイテムも一緒に消える。
Copy
選択したアイテムだけ、一覧から消さずにクリップボードにコピーする
Copy with children
選択したアイテムを、子アイテムごとクリップボードにコピーする
Paste
クリップボード内のアイテムを、選択したアイテムの子アイテムとして追加する

また、アイテムAを選択したまま新しいモデルを開くと、新しいモデルはアイテムAの子アイテムBとして追加されます。
アイテムAの名前の頭の三角マークをクリックすると、子モデルリストを開閉できます。

Scene ビュー

Scene ビュー上のオブジェクトを操作するには、Scene ビューバーを使います。
ツールバー上の、下図の部分が Scene ビューバーです。
SceneViewBar.png
View: View Mode に切り替え
Edit: Edit Mode に切り替え
Look: モデルが見える位置にカメラを移動
O: Ortho View Mode(正射影)に切り替え
ワイヤーフレーム: モデル表示をポリゴンとワイヤーフレームに切り替え
コリジョン: コリジョンの表示の切り替え
C: Scene ビュー画面のキャプチャ
Setup: 床面のグリッドとハイプライオリティ・レンダリングの設定

先にも述べましたが、Items タブのチェックボックスをオンにすると、Scene ビュー上に3Dモデルが表示されます。
読み込んだばかりのモデルはみな原点に配置されます。このとき、小さなモデルは大きなモデルに埋まって見えないことがあります。
BuriedAhiru.png
例えばこの図では、PA10の基部にあひるが埋まっています。
このようなときは、まず Kinematics バーを FK か IK にセットしたあと、Scene ビューバーのEditボタンをクリックして、Edit Modeにしてください。
EditMode.png
Edit Mode では、モデルの周囲に赤い立方体が現れます。このモードでモデルにマウスカーソルを合わせると、モデルの輪郭が赤い線で囲まれます。
EditBuriedAhiru.png

見えないモデルを確認したら、モデルを左ボタンでドラッグすると、移動させることができます。
DugAhiruUp.png

Scene ビューバーのViewボタンでView Mode に戻ります。
(Scene ビュー上で、右クリックしたときに出るメニューでも、View Mode と Edit Mode の切り替えができます)

View Mode

Scene 画面ははじめ View Mode となっています。
Scene 画面にマウスカーソルを置くと、左ドラッグで原点を中心にグリッドを回転させたり、中央ドラッグで視点を平行移動できます。
また、ホイールで画面の中心点をズームできます。
左ボタンでドラッグ: 床面の中心点を基準に、フィールドを回転
中央ボタンでドラッグ: カメラを平行移動
ホイール: ズーム

MouseControl.png
オブジェクトを見失った時は、Scene ビューバーの Look ボタンを押すと、選択中のモデルがよく見える位置にカメラを移動します。

Edit Mode

Edit Mode では、モデルの周囲に赤い点が表示されます。

また、マウスカーソルをモデルに重ねると、モデルが赤線で囲まれて、選択状態になります。(モデルを選択していない状態での操作は、View Mode と同じです)

このとき、メニューバーのキネマティクスモードによって操作が変わります。
KinematicsBar.png
PK: Preset Kinematics Mode
FK: Forward kinematics mode
順運動学モード。人間の腕で例えれば、肩関節の角度、肘関節の角度を決めることで、手首の位置を決める。
IK: Inverse kinematics mode
逆運動学モード。動かした手首の位置をもとに、肘や肩の角度を逆算する。

FK または IKモードにしてモデル(ロボットの場合、モデルの土台)を左ドラッグすると、モデルを移動できます。
モデルの移動軸は視点によって変わるので、グリッドの回転と視点移動をうまく組み合わせて、好きな場所にモデルを移動してください。

モデルの向きの調整

モデルの向きを調整するには、IKモードで Enable Attitude Edit をオンにして、モデルをクリックします。
すると、モデルの周囲を赤青緑の三色のリングが囲みます。このリングを左ドラッグすると、それにつれてモデルの向きが変化します。
attitude.png

赤がロール(横揺れ)、青がヨー(偏揺れ)、緑がピッチ(縦揺れ)となります。

View Mode に戻す

シーンビューバーのViewを押すか、Scene 画面の右クリックメニューで、View Modeを選ぶと、View Mode に戻ります。

プロジェクトの保存と読み込み

Scene 画面上に配置したハンドロボットとモデルの状態をまとめて、プロジェクトファイル(拡張子 .cnoid)に保存できます。
File メニューの Save Project As を選ぶとファイルダイアログが出るので、好きなディレクトリに好きな名前でプロジェクトをセーブしてください。

同じく File メニューの Open Project からプロジェクトファイルを選択して、いつでも保存したときの状態に戻すことができます。

また、ファイルバーのO.P.(Overwriting Project)をクリックすると、現在の状態を即座にプロジェクトファイルに上書きします。