MAGIKS  1.1
Manipulator General Inverse Kinematic Solver
 All Classes Namespaces Files Functions Variables Pages
link_point.py
Go to the documentation of this file.
1 
2 # HEADER
3 '''
4 @file: link_point.py
5 @brief: This module provides a class representing the position of a point on a link
6  This point can be the proximal or distal joint centers or center of mass, or any other point on the local coordinate system of the link
7 @author: Nima Ramezani Taghiabadi
8  PhD Researcher
9  Faculty of Engineering and Information Technology
10  University of Technology Sydney
11  Broadway, Ultimo, NSW 2007
12  Room No.: CB10.03.512
13  Phone: 02 9514 4621
14  Mobile: 04 5027 4611
15  Email(1): Nima.RamezaniTaghiabadi@student.uts.edu.au
16  Email(2): nima.ramezani@gmail.com
17  Email(3): nima_ramezani@yahoo.com
18  Email(4): ramezanitn@alum.sharif.edu
19 @version: 0.3
20 Last Revision: 23 October 2011
21 '''
22 # BODY
23 
24 class Link_Point :
25  '''
26  A Link point is a point defined on a link or frame of any moving mechanism.
27  only a position reference
28 
29  This record should be defined in association with a Reference_Position
30  '''
31  def __init__(self, link_number, weight, position_vector):
32  '''
33  @param "ln" represents the number of link in a model on which the point is located
34  @param "pv" represents the position vector of the refered point in the local coordinate system of the specified link.
35  The local coordinates system is specified by DH standard:
36  Axis z (k): is the rotation axis of the proximal joint center.
37  Axis x (i) : is in the direction of the vector moving from proximal towards distal joint center
38  Axis y (j) : is generated by: j = k X i
39  The origin of the frame is located on the distal joint center
40 
41  i.e: For introducing the proximal joint center select: pv = [-a_i*cos(teta_i) , -a_i*sin(teta_i), -d_i]
42  where: "a_i" and "d_i" are read from DH parameters of link i, and "teta_i" is the initial joint angle of the proximal joint
43  i.e: For introducing the distal joint center, select: pv = [0, 0, 0]
44 
45  @param "w" is a weight coefficient. It is used when a reference position is defined as a linear combination of some link points
46  '''
47  self.ln = link_number
48  self.pv = position_vector
49  self.w = weight