AndroidAgent

Images

../_images/android-front.png ../_images/android-side.png

Description

An android agent that can be controlled via torques supplied to its joints. See AndroidAgent for more details.

Control Schemes

Android Direct Torques (0)

A 94 dimensional vector of continuous values representing torques to be applied at each joint. See Android Joints below for a description of the joint indicies.

Android Max Scaled Torques (1)

A 94 dimensional vector of continuous values between [-1, 1] representing the scaled torques to be applied at each joint. See Android Joints below for a description of the joint indicies.

1 represents the maximum forward torque and -1 the maximum torque in the opposite direction.

Android Joints

The control scheme for the android and the JointRotationSensor use a 94 length vector refer to 48 joints.

To gain insight into these joints, refer to the table below, or use the joint_ind() helper method to convert a name (eg spine_02) to and index (6).

Note

Note that the index given is the start index for the joint, see the section header for how many values after this index each joint has.

Example: neck_01 starts at index 3, and has [swing1, swing2, twist] , so index 3 in the 94 length vector corresponds to swing1, 4 corresponds to swing2, and 5 corresponds to twist for neck_01.

Returned in the following order:

Head, Spine, and Arm joints

Each has [swing1, swing2, twist]

0

head

3

neck_01

6

spine_02

9

spine_01

12

upperarm_l

15

lowerarm_l

18

hand_l

21

upperarm_r

24

lowerarm_r

27

hand_r

Leg Joints

Each has [swing1, swing2, twist]

30

thigh_l

33

calf_l

36

foot_l

39

ball_l

42

thigh_r

45

calf_r

48

foot_r

51

ball_r

First joint of each finger

Has only [swing1, swing2]

54

thumb_01_l

56

index_01_l

58

middle_01_l

60

ring_01_l

62

pinky_01_l

64

thumb_01_r

66

index_01_r

68

middle_01_r

70

ring_01_r

72

pinky_01_r

Second joint of each finger

Has only [swing1]

74

thumb_02_l

75

index_02_l

76

middle_02_l

77

ring_02_l

78

pinky_02_l

79

thumb_02_r

80

index_02_r

81

middle_02_r

82

ring_02_r

83

pinky_02_r

Third joint of each finger

Has only [swing1]

84

thumb_03_l

85

index_03_l

86

middle_03_l

87

ring_03_l

88

pinky_03_l

89

thumb_03_r

90

index_03_r

91

middle_03_r

92

ring_03_r

93

pinky_03_r

AndroidAgent Bones

The RelativeSkeletalPositionSensor returns an array with four entries for each bone listed below.

Index

Bone Name

0

pelvis

4

spine_01

8

spine_02

12

spine_03

16

clavicle_l

20

upperarm_l

24

lowerarm_l

28

hand_l

32

index_01_l

36

index_02_l

40

index_03_l

44

middle_01_l

48

middle_02_l

52

middle_03_l

56

pinky_01_l

60

pinky_02_l

64

pinky_03_l

68

ring_01_l

72

ring_02_l

76

ring_03_l

80

thumb_01_l

84

thumb_02_l

88

thumb_03_l

92

lowerarm_twist_01_l

96

upperarm_twist_01_l

100

clavicle_r

104

upperarm_r

108

lowerarm_r

112

hand_r

116

index_01_r

120

index_02_r

124

index_03_r

128

middle_01_r

132

middle_02_r

136

middle_03_r

140

pinky_01_r

144

pinky_02_r

148

pinky_03_r

152

ring_01_r

156

ring_02_r

160

ring_03_r

164

thumb_01_r

168

thumb_02_r

172

thumb_03_r

176

lowerarm_twist_01_r

180

upperarm_twist_01_r

184

neck_01

188

head

192

thigh_l

196

calf_l

200

calf_twist_01_l

204

foot_l

208

ball_l

212

thigh_twist_01_l

216

thigh_r

220

calf_r

224

calf_twist_01_r

228

foot_r

232

ball_r

236

thigh_twist_01_r

Sockets

  • CameraSocket located in the middle of the android’s face

  • Viewport located behind the agent

  • All of the joints may be used as sockets. See Android Joints.