Changes between Version 25 and Version 26 of UserGuideGit
- Timestamp:
- Apr 21, 2016, 2:37:46 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UserGuideGit
v25 v26 17 17 The main parts of the framwork are: 18 18 19 * the robot itself; 20 * the gait sequencer; 21 * some remote controllers. 19 * the '''robot''' itself; 20 * the '''gait sequencer'''; 21 * one or more '''remote controllers'''. 22 23 Each of these parts runs as separate thread. For now, the robot does nothing in its main loop, ans so, can be used for further devs (automatic stabilization...). 22 24 23 25 == Geometry definition == … … 64 66 ''Todo: improve drawing'' 65 67 66 === Gait coordinates system ===68 === Feet coordinates system === 67 69 68 ''Or feet coordinates system?'' 70 They are the last coordinates systems used in this framework, and they are used by the gaits, to make to robot walk. 69 71 70 The re is the last coordinates system, which is used by the gaits, to make to robot walk. They are defined from the robot coordinates system:72 They are defined from the robot coordinates system: 71 73 72 74 * the origins are at the center of the feet, in the ground plane … … 81 83 The Inverse kinematic is the the kinematic equations of a robot to determine the joints parameters that provide a desired position of leg (foot). 82 84 83 Here are the angles involved .85 Here are the angles involved: 84 86 85 87 ==== 3 DoF legs ==== … … 99 101 == Robot == 100 102 101 == Drivers == 103 The '''robot''' is responsible for all static computation, ie implements the '''inverse Kinematic'''. It also manages the body position, which can move along the 3 axes, and rotate arround 3 axes. 104 105 As shown in the [[Tutorials|tutorials], to implement a custom robot, you need to write a new class which inherits from {{{Robot}}}, and overload several methods: 106 107 * {{{_createBody(self)}}} 108 * {{{_createLegs(self)}}} 109 * {{{_createActuatorPool(self)}}} 110 111 This is where you choose how many legs your robot has, and how many degrees of freedon (Dof) each leg has. 112 113 The {{{Robot}}} object has some usefull methods you will have to use in order to make your robot do smart things: 114 115 * {{{setBodyPosition(self, x=None, y=None, z=None, yaw=None, pitch=None, roll=None)}}} 116 117 This method can only be called when the robot is in ''idle'' state. 118 119 It translates/rotates the body, and the new position is kept. 120 121 * {{{incBodyPosition(self, dx=0., dy=0., dz=0., dyaw=0., dpitch=0., droll=0.)}}} 122 123 This methods can be called in any robot state. 124 125 Like the previous method, you can adjust the body position, by little steps. 126 127 * {{{setBodyExtraPosition(self, x=None, y=None, z=None, yaw=None, pitch=None, roll=None)}}} 128 129 This method can only be called when the robot is in ''idle'' state. 130 131 Like the first method, you can translate/rotate the body. The resulting position of the body is the combination of the bodyPosition and the bodyExtraPosition. 132 133 The {{{setBodyPosition()}}} is mainly use at startup, to set a pre-defined position of the body. The {{{setBodyExtraPosition()}}}, however, can be usefull to move the body arround its default position, without loosing it. 134 135 * incFeetNeutral(self, dneutral) 136 137 This method can only be called when the robot is in ''idle'' state. 138 139 It allow you to extend/reduce the ''length'' of the legs. Each time this method is called, the robot will do a ''static walk'', in order to put all feet to there new neutral position. 140 141 == Pools and drivers == 102 142 103 143 === Servos calibration === … … 108 148 109 149 If you launch this tool in the dir. containing your '''{{{settings.py}}}''' config file with a previous {{{SERVOS_CALIBRATION}}} dict., it will be used as default values. 110 == Gaits ==111 150 112 == Controllers == 151 == Gaits and gait sequencer == 152 153 The gaits and gait sequencer implement the dynamic part of the movements, ie the gait itself. It computes the successive feet positions in order to make the robot walk. 154 155 == Remote controllers == 156 157 A remote controller translate user orders to robot/gait sequencer methods calls. 158 159 === Using mappers === 160 113 161 114 162 === Add a new Frontend ===
