締切済み ※ ChatGPTを利用し、要約された質問です(原文:座標回転) 座標回転の方法とは? 2017/06/28 23:39 このQ&Aのポイント 座標回転についてファナックとオークマでの座標回転の違い座標回転の使い方と注意点 座標回転 ファナックでの座標回転はG68で、オークマではG11ですが、例えば G68X0Y0R180. M98P100 G69 ですと、 G68をG11に、M98P100をCAll O100に、G69をG10に変えるだけでよいのでしょうか? よろしくお願いいたします。 質問の原文を閉じる 質問の原文を表示する みんなの回答 (1) 専門家の回答 みんなの回答 noname#230359 2017/06/29 13:23 回答No.1 OSP では 回転角度は「P」で指示しますので、 G11 X0 Y0 P180 です 質問者 お礼 2017/06/29 15:21 ありがとうございました。 通報する ありがとう 0 広告を見て他の回答を表示する(0) カテゴリ [技術者向] 製造業・ものづくり機械加工マシニングセンター 関連するQ&A 2点の座標がある座標を中心に回転した場合の座標は? ある2点の座標 P1(x1,y1), Q1(x2,y2) が ある座標(X,Y)を中心に回転し、点 P2(x3,y3) Q2(x4,y4) に移動した場合、回転の中心となった座標(X,Y)を求めるにはどうしたら良いでしょうか。 回転後の座標について 5軸加工機 今年中に、OKKの縦型マシニング機械(三菱Neomatic)に日研のNCインデックス(角度と回転ができる仕様)を載せる予定です。 使いやすくするため、テーブル回転後の座標を、変数で計算ができるプログラムを作っているのですが、うまくいかず頭をかかえてる毎日であります。 そこで、皆様の力をお願いしたく質問させていただきます。 私の希望としては、 #101=回転させたいG54からのX座標(+OR-) #102=回転させたいG54からのY座標(+OR-) #103=回転させたいG54からのZ座標(+OR-) #104=回転C(+OR-) #105=角度A(+OR-) 上記、G54座標中心からずれた数値(#101から#103)から、回転&角度(#104、#105)の数値を変更するだけで、ひねった後の座標を計算し、その答えをG55の座標系に入れるプログラムを作っているのですが、いくつか問題がある為うまくいきません。 ◎G54のワーク座標がテーブル回転中心ではない。 ◎G54のワーク座標の中心位置から、さらにずらした位置を回転させたい。 ◎X,Y,Z及び、回転軸C、角度軸A 共にプラス数値とマイナス数値があり計算が困難。 ◎回転軸C、角度軸A 共に90度以上回る。 この様な原因があり、電卓で計算した数値と変数で計算させた数値が違い、困った次第であります。 機械の特徴としては、 ◎機械座標はマイナス数値 ◎テーブル回転中心座標は#501=X #502=Y #503=Z に登録済み。 ★☆まとめ☆★ #5221=G54X座標 #5222=G54Y座標 #5223=G54X座標 を使い #101=回転させたいG54からのX座標(+OR-) #102=回転させたいG54からのY座標(+OR-) #103=回転させたいG54からのZ座標(+OR-) #104=回転C(+OR-) #105=角度A(+OR-) で移動させた数値の答えを #5221=G54X座標 #5222=G54Y座標 #5223=G54Z座標 に登録したい。 文章が下手で申し訳ありませんが、どなたか変数を使い回転後の座標が計算できるプログラムをお教え下さい。 不明な点等ございましたらお教え下さい。 大変困っているので宜しくお願いします。 まとめの部分を下記の様に修正いたします。 ★☆まとめ☆★ #5221=G54X座標 #5222=G54Y座標 #5223=G54X座標 を使い #101=回転させたいG54からのX座標(+OR-) #102=回転させたいG54からのY座標(+OR-) #103=回転させたいG54からのZ座標(+OR-) #104=回転C(+OR-) #105=角度A(+OR-) で移動させた数値の答えを #5241=G55X座標 #5242=G55Y座標 #5243=G55Z座標 に登録したい。 座標の回転 x,y座標で表されるある点を反時計回りにα°回転したX、Y座標に変換しました。 かつてこのサイトで教えていただいたとおり (x、y)=(rcosθ,rsinθ)とおき,αだけ回転した座標なので (X,Y)=(rcos(θ+α),rsin(θ+α)) 加法定理を使って X=xcosα-ysinα Y=xsinα+ycosα と計算しました。 ところが,ある本に同様の計算がついていたのですが, X=xcosα+ysinα Y=-xsinα+ycosα となっており正負が異なります。(私と同じように反時計回りの回転) 私の計算が違っているのでしょうか。それとも何かの仮定が異なっているのでしょうか。 (ちなみにある本は作図により上記の結果を求めています。) 分かりにくいかもしれませんが,適切な指摘をお願いいたします。 円周上の穴あけについて ファナックプログラムです。 初めての投稿をさせていただきます。 現在円周上の穴あけに対して 座標を打ち込む際は 例 PCDф100.0 3-ф5.0 G68X0Y0R0 X0Y-50.0 G68X0Y0R120.0 X0Y-50.0 G68X0Y0R240.0 X0Y-50.0 G69 上のプログラムみたいに作ってるのですが、 今回円周上に100か所の穴をあけるさいに 全てG68で3.6度ずつ回転させたプログラムを作ってもいいのですが、 これだと プログラムを凄く長くなってしまって困っております。 いろいろ調べてみたら、 OSP(オークマ)のプログラムでは 1行でそのプログラムを作ることも可能と聞いたのですが、 G300?を使ってか ファナックのプログラムでもできるのでしょうか 読みずらい文章ですが、よろしくお願いします エクセルで回転する座標の出し方 エクセルで回転する座標の出し方 (例) 座標X100、Y100の点から好きな角度を回したときのX、Yの座標の求め方 回転中心はX0、Y0 回転方向は反時計回り 例で言えば X141.421、Y0 が0度 X0、Y141.421 が90度 X-141.421、Y0 が180度 X0、Y-141.421 が270度 エクセルでの問題点は 1.角度計算がラジアンになる デグリも関数はあるけど書式がわからない 無理やり(PI()/180)などを使ってるがアークタンジェントでは書式がわからない 2.正と負の計算式・答えが負になるときの処理ができない 回転角度が270度とか 今電卓で打っているのは 100/100=ATAN ----------------------最初の角度 100*100+100*100の答えのルート--------回転中心からの直線距離 最初の角度+動かしたい角度------------求めたい座標の角度 SIN求めたい座標の角度*直線距離-------Y座標 答え COS求めたい座標の角度*直線距離-------X座標 答え 最初のX、Y座標と 動かしたい角度を入れると答えが出るような 物が作りたいです よろしくお願いします エクセル2000 WINXP OSP が解らない いつも大変お世話になっています OSP(オークマ)のマシニングにファナックの NCデータを読み込んだら動かないと言われました 『質問―(1)』 ファナック→OSPの変換ソフトがあり何時もはそれを使っているが 今回、私が固定サイクル入れたのがマズイみたいです。 G98G84X42000Y-129000R500Z-15000F139P0 のG98が嫌みたいです。何に変換すれば良いでしょうか? 『質問―(2)』 OSPのメインサブがよく解りません ファナックでは M98 P0001などですが OSPではPSELECT O0001.MINで呼んで仕事をしています OSPではメイン→サブ→サブ のように2段階の 呼び出しは出来ないといわれました そういう物なんでしょうか? 『質問―(3)』 OSPの説明を書いているサイトがあれば教えて欲しいです よろしくおねがいします。 回転行列が分かっているとき、基準座標に対してどれだ 回転行列が分かっているとき、基準座標に対してどれだけ動いたかどうやって調べる? 座標系0(基準座標系)と座標系1があります。 0から1へのZYXオイラー角回転行列1R0がわかっています。 このとき,座標系1であらわされた動き(加速度)a1x,a1y,a1zを座標系0で表わすにはどう計算すればいいですか? よろしくお願いします. G91による位置決め方法が知りたいです。 最近、オークマの機械(OSP)で加工する事になったのですが、ファナックで操作出来たプログラム機械が動きません。 ファナックの時のプログラムを書きますので、アドバイスお願いします。 メインプログラム(ファナックの時のプログラム) G91G28Z0T1 M16M6 G90G0G54X0Y0T2 G43Z2.H1 S2500M3M8 G81R2.Z-1.F160K0 M98P22 G91G28Z0T2 M16M6 G90G0G54X0Y0T3 G43Z10.H2 S600M3M8 G73R2.Q5.Z-20.F60K0 M98P22 G91G28Z0T3 M16M6 G90G0G54X0Y0T4 G43Z2.H3 S600M3M8 G81R2.Z-2.75F120K0 M98P22 G91G28Z0T4 M16M6 G90G0G54X0Y0T1 G43Z5.H4 M00 M29S200 G84R5.Z-15.F160K0 M98P22 G91G28Y0Z0T#100 M30 サブプログラム(問題の位置決め) G90X10Y-20 G91X10 X10 X20K5(このX20を5回繰り返すのも、出来ないです) Y-20K10 X-20K5 M99 G90G0G54X0Y0 → G15 H1にする G43Z5.H4 → G56 H1にするとか、何とかOSP用に覚え直す事が出来たのですが、サブで位置決め「G91」使用では、思い通りに動きません。 面倒でも「G90」で座標を入力すると思い通りに動きます 単品の部品加工が主なので、G90でXY座標も入力出来るのですが、 出来ればG91を使用し、簡単に組みたいです。 G52使用・不使用の判断 エンドミルで円弧加工させる際に、G52を使用して座標移動させて行っています。下のようなプログラムです。プログラム作成でG52を入れ忘れてしまった場合、座標移動されずに加工原点(X0.0Y0.0)で加工してしまいます。 それを防ぐために、サブプロ(O1000)内でG52が使われていなかったらアラームで止まるようにしたいのですが、G52を使用しているかしていないかの判断はカスタムマクロで可能でしょうか? M98P1000はG52とセットで使用しています。O1000を呼び出すときにG52を使わないときはありません。 知恵を貸していただきたいです。よろしくお願いします。 O10(MAIN) G52X10.0Y10.0 M98P1000 G52X-10.0Y10.0 M98P1000 G52X0.0Y0.0 M30 O1000(SUB) X0.0Y0.0 G01Z-2.0F10. G41G01Y-3.0F5. G03J3.0 G03J3.0F10. G40G01Y0F50 G00Z10.0 M99 すいません。書き忘れたのですが、NCはファナック(21i)です。 オイラー角回転後座標系の回転について オイラー角で回転させた座標系を作成。 その座標系を更に回転させた場合の、 オイラー角を求めたいのですが、上手く行きません。 そこで質問させて下さい。 【やりたい事】 (1)まずは、右手系座標系AをZYXオイラー角(φ,θ,ψ)で回転した座標系A'を作成する。 1.最初にZ軸周りにφ回転 2.Y'軸(Y軸をZ軸周りにφ回転したもの)周りにθ回転 3.X''軸(X軸をY'軸周りにθ回転したもの)周りにψ回転 (2)次に回転後座標系A'を回転前座標系AのX軸周りにβ回転したモノを座標系A''とする。 座標系A’’のZYXオイラー角を求めたい。 (AをA''に一致する様に回転した時のZYXオイラー角を求めたいです。) 上記の様な角度は算出できるのでしょうか? 説明が分かりづらく申し訳御座いませんが、 ご回答何卒よろしくお願い致します。 ワールド座標系で回転 こんにちは。3Dプログラムの仕事の指示を受けました。 3Dプログラムは無知でして見よう見まねで行っています。 現在回転行列について困っています。 正方形のモデルをY軸に45度、X軸に45度回転させようとしています。 現在はモデルのローカル座標系で回転するのでY軸の回転でローカル座標系が変わった後にX軸で回転します。これを相対変換と言えばよろしいのでしょうか。 WorldMatrix = RotationX(AngleX) ; WorldMatrix *= RotationY(AngleY) ; WorldMatrix *= RotationZ(AngleZ) ; 上記の回転ではなく、ワールド座標系で回転させたいのですが、このときの回転行列はどのようにして求めればよろしいのでしょうか? Y軸に45度回転させても座標系はそのまま。そしてX軸で45度させるためにはどのようにすればよろしいのでしょうか? わかりづらいですが添付した図のようになればと思っています。 座標の変換 座標の変換 に関して質問があります。 質問1 ある矩形をr度回転した時の矩形の座標を簡単に求める関数はありますか? 質問2 支点(x0, y0)から座標(x1, y1)をr度回転した時の座標(x2, y2)を求める場合、 何クラスの何メソッドを使うのが一番簡潔ですか? 詳しい方がいましたら教えて下さい。宜しくお願い致します。 座標軸の回転と楕円の方程式 原点Oを中心に回転した座標系で、元の座標系で楕円の方程式を表す方程式は、どう変わるかがわからないので質問します。 問題は、Oxy軸をOのまわりに120°回転して、Ox'y'軸が得られたとする。このときOxy系で楕円x^2/9+y^2/4=1を表す方程式は、Ox'y'系でどのような方程式になるか?です。 以下では、{}で行列を表し、(,,・・・)で一行分の要素を列挙し,左の()から1行、2行・・・とします。例えば、{(cos120°,-sin120°),(sin120°,cos120°)}の2行1列目の要素は、sin120°です。 自分は、{(x),(y)}={(cos120°,-sin120°),(sin120°,cos120°)}*{(x'),(y')}より、x=-1/2x'-√3/2y'とy=√3/2x'-1/2y'を得て、x^2/9+y^2/4=1に代入しました。そうして31x'^2-10√3x'y'+21y'^2=144を答えとしたのですが、 本の解答は、31x'^2-10√3x'y'-21y'^2=144でした。どなたか正しい答えを教えていただけませんかお願いします。 回転座標系と等速円運動 少し抽象的な質問です。 一般に、合力Fが働いている物体(質量m)を、等角速度ωで直行固定XY軸に対し時計回りに回転する直行xy座標で考えた時、 mx¨(←ツードットのつもりです)= Fx + 2mωy・(←ドット)+ mω^2 x …(式(1)), my¨= Fy + 2mωx・+ mω^2 y, 運動方程式は上のようになると思います。 一方、平面で半径rの等速円運動をする(角速度ω)物体について、回転の中心に向かってx軸が正方向になるように動く座標を設定した時、それを静止した観測者の立場から運動方程式を立てると、 mrω^2=Fx (x¨=rω^2 ←この式は回転座標系から導出されますよね…?) となると思います。(働いている力は簡単のためまとめてFとしました) これを、物体に乗った立場から考えると、 m×(←かける)0 = Fx - rω^2 …(式(2)) となり、遠心力が式のかたち上現れる、ということまでは分かるのです。 そこで、これらの式たちがどう関連しているか、ということを考えてみようと思ったのですが、混乱してしまいました。 式(1)の mω^2 x の x に r を代入すると式(2)の遠心力に等しくなるので、何か上手く対応しているのかと思ったのですが…。 回転座標系、慣性系、非慣性系、考えているうちに自分がどの立場で式を立てているのか混乱してしまいました。 曖昧な質問で申し訳ないですが、どうしても頭がすっきりしないので質問させて頂きました。 説明不足があったらまた書き足します。 何か関係があるのか、知っている方がいらっしゃいましたら、ご回答宜しくお願いします。 補足:高校生なので、コリオリの力についてはあまり分かりません。今回は関係ない…と思うのですが…。 3次元での回転による座標変換 3次元での回転による座標変換に関して質問があります. X軸,Y軸,Z軸の直交座標系があるとします. この座標系において,ある位置ベクトル(a1,b1,c1)がX軸,Y軸,Z軸と成す角度は,θx,θy,θzは,ベクトルの内積から算出可能だと思います. θx=a1/sqrt(a1^2+b1^2+c1^2) θy=b1/sqrt(a1^2+b1^2+c1^2) θz=c1/sqrt(a1^2+b1^2+c1^2) X,Y,Zの直交座標系を回転させて,この位置ベクトルの向きを基準としたX'軸,Y'軸,Z'軸による新しい直交座標系を設定するには,どのようにすればよいでしょうか? θx,θy,θzと各軸での回転角度は違うものという認識でいいのでしょうか? 元の座標系において,各軸回りに順番に回転させればいいかと思うのですが,どうもイメージがつかみきれません. よろしくお願い致します. G68 の三次元座標変換について YZ平面に2.8deg X軸を回転の中心軸にして座標を回転したくプログラムを作成したんですが、うまく回転しません。 作成したプログラムは G19G90G68X0Y-100.0Z0I1.J0K0R2.8 この後に位置決めで G19G90G0X0Y-100.0 を入れて確かめてみたんですが、前の座標からY-100.0しか動きません。(G68指令する前と同じ) たぶんG68指令した時に座標系が動いてないんだと思います。(何故なのかわかりません) 色々、本などで調べたんですが、うまくいきません。 アドバイスの程、宜しくおねがいします。 FANUC 16i 横型マシニングセンターを使用しています。 OSP言語について! 皆さんお疲れ様です!いつも参考にさせていただいています! 今度会社にオークマさんのマシニングが、導入が決まりそうなんですが、今までOSPは一度も操作したことがありません!ファナックさんしか経験がないのです。そこで質問なのですが、どのようなところに違いがあるのでしょうか? 過去の質問を検索したところ、固定サイクルのリファレンス点、ワーク座標系の設定、工具長補正、サブプロ、・・・など結構違いがあるようですが、たとえば、下記のプログラム(固定サイクル)をOSPに変換するとどうなるのでしょうか? % O0001 G80G40G17 G94 G91G28Z0 G28X0Y0 T03M06 M01 N0001(T03 DRL 10.0D H03 4-10.0 KIRI) G90G54G00X0.0Y0.0S955 G43Z50.0H03 M03M08 G98G90G83Z-10.0R2.0Q1.5F70K0 M98P0002 M05M09 G80 G90G00Z50.0 G91G28Z0 G28X0Y0 M01 M30 % O0002(SUB) G90 X10.0Y10.0 Y-10.0 X-10.0 Y10.0 M99 いつも初歩的な質問ばかりで大変恐縮ですが、宜しくお願いします。 NCデータでの座標定義について NCプログラムの初心者です。NCプログラムに詳しい方どうか教えてください。 下の方にNCデータのソースの一例を記入しております。 その中で、パートAを行1~5、パートBを行6~25と定義します。 ●パートAは、加工原点からみて機械原点の距離は(+100,+100)。加工原点を(0,0)と定義したい。 ●パートBは、加工原点を(?X,?Y)と定義したい。 (パートAとは相対的に(+?X,+?Y)ずらした位置で加工したい。) 上記のようにしたいのですが、パートBの冒頭でG91G00?X?Yとしても、その後、G90の絶対座標系で動いているので、 だめかな、と思います。それともG92で定義し直すのでしょうか。。 パートB部分全体をパートA部分で定義した加工原点からある値をずらした加工原点で加工するには、 ひとつのNCデータ内でどのように定義すればよろしいのでしょうか? #ちなみに座標定義は下記です。 ・水平方向:右→左をプラスX方向 ・垂直方向:下→上をプラスY方向 1 O1000 :メインプログラムO1000 2 G92X100.Y100.Z0. 3 G90G00Z10. 4 M98P4003 :サブプロO4003呼び出し 5 G90G00Z0. 6 G54G90 :ワーク座標系G54(現在オフセット値は0,0) 7 G17G40G00X140.Y42.S18M13 8 M11 9 G01Z-40.F6000 10 G64G43H27Z-63.F2000 11 G41D25X130. 12 X50.F3000 13 G42X80. 14 Y70. 15 G41Y42. 16 X-993. 17 Y22. 18 X-1360.F3000 19 G40X-1325.Y-10.F6000 20 M98P5555 :サブプロO5555呼び出し 21 G91G01G49Z63.F5000M92 22 M95 23 G91G28X0Y0M07 24 M31 25 M30 お手数ですが宜しくお願い申し上げます。 続、VB 座標軸の回転? 昨日 http://okwave.jp/qa/q7871613.html で質問したものです。 プログラムを作っていて上手に動かないので再度質問です。 xx = x0 - cx yy = y0 - cy x= xx * cosA - yy * sinA + cx y= xx * sinA + yy * cosA + cy x0 = x y0 = y xx:Xの中心からの相対座標 yy:Yの中心からの相対座標 x0:Xの現在地 y0:Yの現在地 cx:三角形の中心X cy:三角形の中心Y x:座標変換後のX y:座標変換後のY A:角度 このようにプログラムしたのですが、回転をさせると渦巻き状に広がってしまいます。 以下のようにプログラミングしたつもりなのですが、うまくいきません。 悪そうな部分を教えてくれるとありがたいです。 >> リーダーの座標を実座標を差し引いて原点(0,0)とし、メンバーの座標をリーダーからの相対座標(x1,y1)(x2,y2)・・・・とします 例えばメンバー(x1,y1)をリーダー中心に半時計周りへ10度回転させた場合の、移動先の座標を(xx1,yy1)とすると・・・ θ=10度(VBではラジアン単位へ変換してください) xx1=x1 * cosθ - y1 * sinθ yy1=x1 * sinθ + y1 * cosθ これで回転して移動した先xx1、yy1が求まります。 最初に差し引いた実座標を足して戻して完成です。 球座標の回転角の取り方について 極座標系の一種に、「球の半径 r 、 z 軸からの回転角(0からπ)、x 軸からの回転角(0から2π)」の3つを用いて座標を記述する、球座標というものがありますが、なぜ z 軸からの回転角なのでしょうか? 表現としては x - y 平面からの回転角(-π/2からπ/2)でもいいように思います。 (ほかに、もっといい例があるかもしれませんが一応) 個人的考えてみた結果、「z 軸からの」という表現になっている理由として (1)多次元への拡張を考慮したから(球座標系はもう使えませんが) (2)「x軸からの」という言い回しとの対応を図りたかったから (3)回転角の範囲が-π/2からπ/2、となって扱いにくいから(よく考えてないのでわかりませんが、場合によっては便利な場合もあるかもしれません) の3点が関係しているのかなと思いました。 定義だからそうなんだと言われればそれまでですが、皆さんはどのように考えますか? また、球座標に関して、z 軸からの回転角以外などの設定の仕方もあるのでしょうか?(先ほどの例のように) 信用はできないかもしれませんが、Wikipediaにはz軸設定でしか載っていませんでしたので。 回答よろしくお願いします。 注目のQ&A 「前置詞」が入った曲といえば? 新幹線で駅弁食べますか? ポテチを毎日3袋ずつ食べています。 優しいモラハラの見抜き方ってあるのか モテる女性の特徴は? 口蓋裂と結婚 らくになりたい 喪女の恋愛、結婚 炭酸水の使い道は キリスト教やユダヤ教は、人殺しは地獄行きですか? カテゴリ [技術者向] 製造業・ものづくり 機械加工 マシニングセンターワイヤーカット旋盤切削研削・研磨その他(機械加工) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど
お礼
ありがとうございました。