urx
ロボットアームをコマンドで動かせるようにするライブラリ(urx)を以下のURLからダウンロード
パソコンとロボットアームをLANケーブルで接続する。ロボットアームのIPアドレスを192.168.0.10に設定し、PCのIPアドレスを192.168.0.100に設定する
table:ロボットアームとPCの設定の例
Robot IP 192.168.0.10
Subnet 255.255.255.0
GateWay 192.168.0.1
DNS Primary 192.168.0.1
DNS alter 0.0.0.0
PC
PC IP 192.168.0.100
SUBNET 255.255.255.0
Gateway 192.168.0.1
DNS primary 192.168.0.1
DNS alter 0.0.0.0
Finder or Terminal で、exampleフォルダーにあるpythonファイルを1つ上の階層へ移動させる。
% python get_robot.py
上記のをターミナルで実行してみる。正常に作動すれば完了。
他のpythonファイルも動くはず
% python matrices.py
% python simple.py
% python test_all.py
% python test_movep.py
コマンド一覧
% robot.getl()
"robot tcp" 6*1の行列をreturn
x座標、y座標、z座標、rx=x軸、ry=y軸、zx=z軸?
% robot.get_pose
"transformation from base to tcp" orientation(3*3) と vector(3*1)を返す(vectorはrobot.getl()の最初の3つの値)
おそらく、3×3の行列で向き、vectorで座標を表している
% robot.getj()
"joint configuration" robotのconfigurationを返す。6*1の行列。何を表しているかは不明。
6軸の角度?
absolute move in base coordinate
座標で動かす
% robot.translate((a,b,c), acc, vel)
relative move in base coordinate
move tool and keep orientation (=向きを同じままx,y,zに動かすことができる(たとえばペンで何か書くとかできる)
この場合、aもbもcも変えても上手く動かすことができる
z方向に動かす場合は、movelを使ったほうがいいのかもしれない
% robot.translate_tool((a,b,c), acc, vel)
relative move back and forth in tool coordinate
robot.translateとの違いはよくわからない
toolの座標で動く
見たときろ、座標が通常のtranslate関数の座標と違う
robot.x_t += 0.0.1、robot.y_t += 0.01、robot.z_t += 0.01 を使っても同じように動かすことができる
% robot.rx += 0.1
rotate tool around X axis
movelでpos3pos4pos5いじるのと一緒 robot.movel()との違いがわからない→おそらくjoint一個ずつで指定するか、座標で指定するかの違い
% robot.set_pose(t, vel, acc)
これを使うときget_pose()と同じ形を入力とする
t.orient.rotate_zb(pi/4)でz軸を軸としてpi/4回転する
rotate_xbとrotate_ybはなぜか同じ挙動をした
% robot.movels(p1,p2, vel=v, acc=a, radius=r) "moveing through several points with a radius"
2地点を行き来する(=p1→p2→p1)
% robot.stopj()
ロボットをストップ
% pose.copy()
poseをコピーする
poseをcopyをするときはこの関数を使う
% robot.movej(via, to, acc=a, vel=v)
viaを通って、toへ行く