File size: 1,178 Bytes
3aea7c6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import type IUrdfLink from "./IUrdfLink"

export default interface IUrdfJoint {
  name?: string
  type?: 'revolute' | 'continuous' | 'prismatic' | 'fixed' | 'floating' | 'planar'
  // rpy = roll, pitch, yaw (values between -pi and +pi)
  origin_rpy: [roll: number, pitch: number, yaw: number]
  origin_xyz: [x: number, y: number, z: number]
  // calculated rotation for non-fixed joints based on origin_rpy and axis_xyz
  rotation: [x: number, y: number, z: number]
  parent: IUrdfLink
  child: IUrdfLink
  // axis for revolute and continuous joints defaults to (1,0,0)
  axis_xyz?: [x: number, y: number, z: number]
  calibration?: {
    rising?: number,  // Calibration rising value in radians
    falling?: number  // Calibration falling value in radians
  }
  dynamics?: {
    damping?: number
    friction?: number
  }
  // only for revolute joints
  limit?: {
    lower?: number
    upper?: number
    effort: number
    velocity: number
  }
  mimic?: {
    joint: string
    multiplier?: number
    offset?: number
  }
  safety_controller?: {
    soft_lower_limit?: number
    soft_upper_limit?: number
    k_position?: number
    k_velocity: number
  }
  elem: Element
}