X,y,z new coordinate calculation for joint rotations in CoppeliaSimEdu

Click For Summary
SUMMARY

The discussion focuses on calculating joint rotations for a 3D manipulator in CoppeliaSimEdu, specifically addressing issues with x and y coordinate calculations. The user initially provided a transformation matrix but encountered problems with the movement of a Dummy object. A key correction was identified: the sine term in the matrix should be sin(a1+a2) instead of sin(a2-a1). The final equations for x and y coordinates were clarified as x = l1*cos(teta1) + l2*cos(teta1 + teta2) and y = l1*sin(teta1) + l2*sin(teta1 + teta2), where l1 and l2 are constants.

PREREQUISITES
  • Understanding of CoppeliaSimEdu software
  • Familiarity with 3D kinematics and transformation matrices
  • Knowledge of trigonometric functions and their application in robotics
  • Basic programming skills in Python for implementing calculations
NEXT STEPS
  • Explore CoppeliaSimEdu documentation for joint manipulation techniques
  • Learn about transformation matrices in robotics
  • Study the application of trigonometric functions in 3D coordinate systems
  • Investigate examples of 3D manipulators to understand practical implementations
USEFUL FOR

Robotics engineers, students working with CoppeliaSimEdu, and anyone involved in 3D manipulator design and kinematics calculations.

dis
Messages
3
Reaction score
0
TL;DR
I have problems with kinematic- > Rot(z,a1)Rot(z,a2)Trans(0,0,d) a1 and a2 angles d projection. My function was x = (d3+const)*math.cos(a1)*math.sin(a2) y = (d3*const)*math.const(a1)*math.sin(a2) but it not working.
I have created a 3D manipulator joint in CoppeliaSimEdu, I have the following joint rotation along the z axis, a second rotation joint raised in height and shifted along the x axis and further along the x axis is a directions joint. Or Rot(z,a1)Rot(z,a2)Trans(0,0,d) a1 and a2 angles d projection. But I have added a Dummy object to CoppeliaSim with which I set the x,y,z coordinates according to the kinematics calculations. But as far as I understand, I have a problem with the calculation of x and y coordinates, because the z coordinate is as it should be.

By connecting all the joints I got the matrix: [[cos(a1+a2), -sin(a1+a2),0,0],[sin(a2-a1),cos(a1+a2),0,0],[0,0,1,d ],[0,0,0,1]]

thus thinking that x = cos(a1+a2) + sin(a2-a1) y = -sin(a1+a2)+cos(a1+a2) z = d but the Dummy object doesn't move as it should, so I believe my x,y coordinates are wrong. How could I fix it?
 
Engineering news on Phys.org
:welcome:

I am not familiar with CoppeliaSimEdu, but for some interpretations of your initial description your 4x4 matrix seems correct except for ##\sin(a2-a1)## which should be ##\sin(a1+a2)##. Note that two sequential rotations around any axis is equivalent to a single rotation about the exact same axis with the sum of the two angles.

I am not sure what you are saying next. Is (1, 1, 1) the position of your dummy object? And you expect it to shift around when you change your two angles and the offset? If so, it sounds like its more an issue with use of the program you use, so perhaps you can find an example that works and then try transform it to be applicable to your problem?
 
  • Like
Likes   Reactions: dis
Thanks. Found answer.
x = l1*math.cos(teta1)+l2*math.cos(teta1 + teta2)
y = l1*math.sin(teta1)+l2*math.sin(teta1+ teta2)

where l1 and l2 are constant
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 28 ·
Replies
28
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 25 ·
Replies
25
Views
3K
  • · Replies 9 ·
Replies
9
Views
1K
  • · Replies 11 ·
Replies
11
Views
1K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K