বিপরীতমুখী গণিতের জন্য জ্যাকবীয় ম্যাট্রিক্স গণনা করা


19

বিশ্লেষণাত্মকভাবে একটি বিপরীত কাইমেটিক সমাধানের জন্য জ্যাকবীয় ম্যাট্রিক্সের গণনা করার সময়, আমি অনেক জায়গা থেকে পড়েছি যে আমি জ্যাকবীয় ম্যাট্রিক্সে একটি যৌথের প্রতিটি কলাম তৈরি করতে এই সূত্রটি ব্যবহার করতে পারি:

Ji=eϕi=[[ai×(eposri)]T[ai]T]

এই ধরনের যে a বিশ্বের মহাকাশে ঘূর্ণন অক্ষ হয়, বিশ্বের মহাকাশে পিভট পয়েন্ট, এবং পি গুলি বিশ্বের মহাকাশে শেষ effector এর অবস্থান।repos

যাইহোক, আমি বুঝতে পারি না যখন জয়েন্টগুলিতে একাধিক ডিওএফ থাকে তখন এটি কীভাবে কাজ করতে পারে। নিম্নলিখিত হিসাবে একটি উদাহরণ হিসাবে নিন:

এখানে চিত্র বর্ণনা লিখুন

θ আবর্তনশীল ডেপথ অফ ফিল্ড আছে, e শেষ effector হয়, g শেষ effector লক্ষ্য হল, P1 , P2 এবং P3 জয়েন্টগুলোতে হয়।

প্রথমত, যদি আমি চিত্রের উপরের সূত্রের ভিত্তিতে জ্যাকবীয় ম্যাট্রিক্সটি গণনা করি তবে আমি এরকম কিছু পাব:

J=[((0,0,1)×e)x((0,0,1)×(eP1))x((0,0,1)×(eP2))x((0,0,1)×e)y((0,0,1)×(eP1))y((0,0,1)×(eP2))y((0,0,1)×e)z((0,0,1)×(eP1))z((0,0,1)×(eP2))z000000111]

এটি ধরে নেওয়া হয় যে সমস্ত ঘোরানো অক্ষ (0,0,1) এবং তাদের সকলের কেবল একটি ঘূর্ণন ডিওএফ রয়েছে। সুতরাং, আমি বিশ্বাস করি যে প্রতিটি কলাম একটি ডিওএফের জন্য, এই ক্ষেত্রে, θ#

এখন, সমস্যাটি এখানে: যদি সমস্ত জয়েন্টগুলিতে 6 ডিওএফ পূর্ণ থাকে? এখন বলুন, যে যৌথ জন্য, আমি সব অক্ষ মধ্যে আবর্তনশীল DOFs আছে θx , θy এবং θz সব অক্ষ মধ্যে, এবং এছাড়াও translational DOFs, tx , ty এবং tz

আমার প্রশ্নটি আরও পরিষ্কার করার জন্য, ধরুন আমি যদি সমস্ত জোড়ার সমস্ত ডিওএফ-র উপরের উপরের সূত্রটি "জোর করে" প্রয়োগ করতে পারি তবে আমি সম্ভবত এটির মতো জ্যাকবীয় ম্যাট্রিক্স পেয়ে যাব:

এখানে চিত্র বর্ণনা লিখুন

(পূর্ণ আকারের জন্য ক্লিক করুন)

তবে এটি অবিশ্বাস্যরকমই অদ্ভুত কারণ প্রতি যৌথের জন্য ডিওএফের সমস্ত 6 টি কলাম একই জিনিসটির পুনরাবৃত্তি করছে।

সমস্ত ডিওএফ দিয়ে জ্যাকবীয় ম্যাট্রিক্স তৈরি করতে আমি কীভাবে একই সূত্রটি ব্যবহার করতে পারি? এই ক্ষেত্রে জ্যাকবীয় ম্যাট্রিক্স কেমন হবে?


আসলে, আমি নিশ্চিত না যে আমার এখানে এই প্রশ্নটি ম্যাথ, গেমসডেভ, বা পদার্থবিজ্ঞানে পোস্ট করা উচিত ছিল কিনা। আমার অনুভূতি আছে যে আমি এই প্রশ্নটি ভুল জায়গায় পোস্ট করেছি।
জেনন

আমি মনে করি আপনার ভুলটি হ'ল আপনি প্রতিটি ডিএফের জন্য একটি 'পরিবর্তন করেন নি, সে কারণেই তারা সমস্ত একই দেখায়।

উত্তর:


11

আমাকে স্বীকার করতে হবে যে আমি সেই নির্দিষ্ট সূত্রটি প্রায়শই দেখিনি, তবে আমার ধারণা হতে পারে যে একাধিক ডিওএফের ক্ষেত্রে আপনি প্রতিটি কলামের প্রতিটি সংযুক্তির জন্য এটি মূল্যায়ন করবেন এবং তারপরে (সম্ভবত?) ফলাফলগুলি বহুগুণে বৃদ্ধি করবেন in প্রতিটি কলাম

তবে আমাকে অনেকগুলি ডিওএফের স্বেচ্ছাসেবী হিসাবে জ্যাকবীয়দের কাছে সহজ সরল পরামর্শ দেওয়ার পরামর্শ দেওয়া যাক: মূলত, জ্যাকবিয়ান আপনাকে জানায়, প্রতিটি যৌথ যে কতটা দূরে সরে যায়, যদি আপনি কিছুটা স্বেচ্ছাকৃতভাবে বেছে নেওয়া দিকের শেষ ফ্রেম ফ্রেমটি সরান। যাক এগিয়ে গতিবিদ্যা, যেখানে হতে θ = [ θ 1 , , Θ এন ] জয়েন্টগুলোতে হয়, পিওএস এগিয়ে গতিবিদ্যা এবং অবস্থানগত অংশ পচা আবর্তনশীল অংশ। তারপরে আপনি যৌথ ভেরিয়েবলের সাথে সামঞ্জস্য রেখে ফরোয়ার্ড গতিবিজ্ঞানকে আলাদা করে জ্যাকবীয়ান অর্জন করতে পারেন : f(θ)θ=[θ1,...,θn]fposfrot হ'ল আপনার ম্যানিপুলেটারের জ্যাকবিয়ান। এটিকে বিপরীত করা আপনাকেগতিবেগেরসাথে রিসেটের সাথে বিপরীত গতিবিদ্যা দিতে পারে। এটা এখনও, দরকারী যদিও হতে পারে আপনি কতদূর প্রতিটি যৌথ যদি আপনি কিছু করে আপনার শেষ effector স্থানান্তর করতে চান সরাতে হয়েছে জানতে চাইছোটপরিমাণΔxকোন দিক (কারণ অবস্থানে স্তরের উপর, এই কার্যকরভাবে একটি একরৈখিকরণ হবে): Δθ=জে-1Δx

J=fθ=[fposθ1,fposθ2...,fposθnfrotθ1,frotθ2...,frotθn]
Δx
Δθ=J1Δx

আশা করি এটি সাহায্য করবে।


Thanks for replying! But this would mean that I will have to compute the values numerically? Actually, I saw this analytical example from graphics.cs.cmu.edu/nsp/course/15-464/Fall09/handouts/IK.pdf from Slide 19 and graphics.ucsd.edu/courses/cse169_w05/CSE169_13.ppt on Slide 78. From the slides, it seem that I may not have to go through the numerical methods. In situations when I don't have the actual functions to differentiate, I can use this formula. But the problem is what happens when I have more DOFs for each joint.
xenon

আমি যদি স্লাইডগুলি সঠিকভাবে বুঝতে পারি তবে আপনি সেই সমস্ত জোড়গুলির জন্য ভেক্টর নির্ধারণ করে স্বেচ্ছাসেবী অনেক (ঘূর্ণন) ডিওএফগুলির কেস পরিচালনা করবেন , যেখানে পি i যুগ্মের অবস্থান। সুতরাং, যদি আপনার 46 টি জয়েন্টগুলি থাকে তবে আপনি 46 টি কলাম এবং 6 টি সারি সহ একটি জ্যাকবীয় পাবেন (অথবা 3, যদি আপনি শেষের তদন্তের দিকটি অবহেলা করেন)। দীর্ঘ গল্প সংক্ষিপ্ত: আপনি যে কোনও সংখ্যক জয়েন্টের জন্য সেই সূত্রটি প্রয়োগ করতে পারেন এবং অন্যান্য জয়েন্টগুলির সাথে এটি "সংযুক্ত" করতে হবে না। (eiPi)Pi
ড্যানিয়েল এবার্টস

কিন্তু কি কিছু ঘটে তাহলে একটি যৌথ মত অনেক DOFs হয়েছে , θ Y , θ z- র , এবং translational DOFs মত টি এক্স , টি Y , টি z- র ? এখন, প্রতিটি যৌথ 6 টি ডিওএফ রয়েছে। আই কে এর জন্য জ্যাকবীয় ম্যাট্রিক্স কীভাবে কাজ করে তা আমার বুঝতে থেকে, প্রথম 6 টি কলামগুলি 6 টি বিভিন্ন ডিওএফ-এর সাথে সমাপ্তি-প্রভাবকের ডেরিভেটিভস হবে এবং এই প্রথম 6 টি কলামটি প্রথম জয়েন্টটি বর্ণনা করবে। পরবর্তী পরবর্তী 6 টি কলামগুলি 6 ডিওএফ এবং এর সাথে সম্পর্কিত দ্বিতীয় যৌথকে বর্ণনা করবে। সমীকরণটি ব্যবহার করে ( e i - P i )θxθyθztxtytz(eiPi), এর অর্থ কি প্রতিটি যৌথের 6 টি কলাম স্বয়ংক্রিয়ভাবে একটি কলামে প্যাক হয়ে গেছে?
জেনন

3
আহ আমি দেখি. না, সেক্ষেত্রে সূত্রটি কাজ করবে না কারণ এটি ঘূর্ণনের এক অক্ষ সহ ঘূর্ণন জোড়গুলির জন্য ডিজাইন করা হয়েছিল। আপনি যদি উদাহরণস্বরূপ গোলাকার জয়েন্টগুলিকে চিকিত্সা করতে চান তবে আপনার একটি আলাদা সূত্রের প্রয়োজন হবে যা সেই নির্দিষ্ট যৌথ ধরণের আচরণ করে বা আপনার রোবটের ফরোয়ার্ড গতিবিজ্ঞানের একটি বদ্ধ ফর্ম দরকার। আপনি যে থাকে, তাহলে আপনি এটি wrt জয়েন্টগুলোতে পার্থক্য করতে এবং Jacobian প্রাপ্ত। θ
ড্যানিয়েল এবার্টস

Thanks! :) Just curious though, is Slide 58 in graphics.ucsd.edu/courses/cse169_w05/CSE169_13.ppt hinting that it is possible to use the formula for rotational joints with 3 DOFs? Which means if a joint has no translational DOFs and have purely 3 rotational DOFs, it is still possible? Though I am not sure why it is taking (1,0,0,0) to multiply with various rotations to get the different DOFs.
xenon

2

Your formula for a 6 dof joint assumes that all 6 joints have the axis (0,0,1) in the world frame and that all joints are revolute. Since the 6 joints are thus identical, their columns in the Jacobian are also identical.

Starting over, suppose a joint has an axis a going through a point r. Let e be the position of the end-effector. The coordinates of a, r, and e are all given in the world frame and are being updated as the robot is being moved. The axis a has length 1.

If the joint is revolute, the column of the Jacobian for the joint is

Jθ(a,r)=[a×(er)a]

If the joint is prismatic, the column is

Jp(a)=[a0]

Suppose we have a 6 dof joint which is not only spherical but can translate in space too. Suppose the axes of the joint are ax, ay, and az and that each revolute and prismatic joint shares an axis, so that the Jacobian for the joint becomes

J=[Jp(ax)Jp(ay)Jp(az)Jθ(ax,r)Jθ(ay,r)Jθ(az,r)]

The axes ax, ay, and az depend on the forward kinematics of the robot. To illustrate, let the transformation of the kth joint in the world frame be given by

Fk=i=1kLiTi

where the transformations Li are constants, and the transformations Ti depend on the joint variables. Let Rc(q) and Pc(q) be the transformations that rotate and translate by q about the coordinate axis named c (either x, y, or z).

Let Δq=(Δpx,Δpy,Δpz,Δθx,Δθy,Δθz) be a displacement, computed by help of the Jacobian, for the ith joint. Let ΔT=Px(Δpx)Py(Δpy)Pz(Δpz)Rx(Δθx)Ry(Δθy)Rz(Δθz) and update the local transformation of the joint by:

TiTiΔT

In this formulation of the forward kinematics, the axes ax, ay, and az of joint i are exactly the columns of the rotation matrix of Fi. Also the position r is the translation vector of Fi.


0

As far as I understand your question that you want the Jacobian matrix for the 6 DOF joint.

Let me start with very basics of robotics. You are in the vary initial phase of robotics learning. You need to understand that each joint represent a single DOF either it would be revolute or prismatic joint.

As far as spherical joint is concern, it can be converted in to 3 revolute joint with three mutually perpendicular axis. So, now you have simplified your spherical joint.

Moving forward to Jacobian matrix. It contain 6 rows. First 3 rows represents orientation and last 3 rows indicated position with reference to a particular coordinate system. Each column in matrix indicate a single joint. So the number of joint/DOF you have the same number column you have in Jacobian matrix.

Here is the more clear view to your question: A single joint never fulfil more than one DOF, because it complicates the joint and precise control will never achieve. Even if we consider hypothetically a joint with more than one DOF, you need to convert that joint into multiple joints with 1 DOF each to simplify the mathematics and solution.

Ideally 6 DOF robot with 6 revolute joint works for majority on the real problems. But as per your question you considered 6 joint robot with each joint having 3 DOF that makes 18 DOF robot. This will give redundant DOF (i.e. 18-6= 12 redundant DOF). So, to reach robot end-effector to any location with any orientation you will have infinite different solutions (solution means rotation of each joint). So solve this kind of inverse kinematics problem you will require iterative method of inverse kinematics.

Hope, I have answered your question more clearly. To learn basic robotics you can refer John J. Craig - Introduction to Robotics Mechanics and Control -Pearson Education, Inc.

Regards, Manan Kalasariya

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.