This shows you the differences between two versions of the page.
movement_planning [2008/07/22 13:55] hadrien created |
movement_planning [2008/08/18 12:37] (current) hadrien |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Description ===== | ===== Description ===== | ||
- | Ce module permet de maintenir la position du robot, et d'effectuer des déplacements suivis. Il se base sur le module de gestion de carte, et le module de déplacement du robot. | + | Ce module permet de maintenir la position du robot, et d'effectuer des déplacements suivis. Il se base sur le module de gestion de carte, et le module de déplacement du robot. Il fournit une classe Path, qui permet d'enregistrer une succession de MapPosition pour former un chemin. Path hérite d'un vecteur de position, pour faciliter son usage. |
+ | La classe MovementPlanning, construite à partir d'une structure de carte, d'un position courante, d'un angle, et d'une classe de mouvement de robot, offre la possibilité de se déplacer à un point donné (MovementPlanning::goTo), ou de suivre un chemin Path (MovementPlanning::followPath). MovementPlanning hérite de MapPosition, ce qui lui permet de fournir à tout moment (via la MovementPlanning::getPosition) la position du robot. | ||
+ | ===== Classes ===== | ||
+ | |||
+ | ==== Path ==== | ||
+ | |||
+ | <code> | ||
+ | class Path: protected vector<MapPosition*> { | ||
+ | public: | ||
+ | Path(MapStructure& map); | ||
+ | int addStep(MapPosition* step); | ||
+ | vector<MapPosition*> getStepList(); | ||
+ | private: | ||
+ | MapStructure& mapStruct; | ||
+ | }; | ||
+ | </code> | ||
+ | |||
+ | ==== MovementPlanning ==== | ||
+ | |||
+ | <code> | ||
+ | class MovementPlanning: private MapPosition { | ||
+ | public: | ||
+ | MovementPlanning(MapStructure& map, MapPosition& pos, RobotMove& move); | ||
+ | MovementPlanning(MapStructure& map, RobotMove& move); | ||
+ | int followPath(Path& path); | ||
+ | int goTo(MapPosition& dest); | ||
+ | int getAngle(); | ||
+ | MapPosition& getPosition(); | ||
+ | private: | ||
+ | MapStructure& mapStruct; | ||
+ | RobotMove& robotMove; | ||
+ | int robotAngle; | ||
+ | }; | ||
+ | </code> |