Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
DualCoding::Pilot Class ReferenceThe Pilot is the top-level navigation engine for Tekkotsu. More...
Inheritance diagram for DualCoding::Pilot:
Detailed DescriptionThe Pilot is the top-level navigation engine for Tekkotsu. The Pilot accepts and executes PilotRequest instances. Navigation involves a combination of path planning, odometry, and landmark-based localization. The Pilot uses the ShapeSpacePlannerXYTheta planner to find a path from the robot's current position to a target location that avoids collisions with worldShS shapes marked as obstacles. Once a path is found, the Pilot formulates a navigation plan consisting of a series of travel steps, turn steps, and localization steps. The navigation planner is somewhat clever about where it places localization steps in order to avoid slowing down the robot's progress too much, but additional optimizations are possible. Finally, the Pilot executes the navigation plan. Because both motion and odometry are subject to error, the robot can drift off course as it travels. When this is detected via a localization step, the execution engine attempts a correction by inserting a new turn step in the navigation plan and altering the travel step that follows. Definition at line 88 of file Pilot.h.
Member Typedef Documentation
Constructor & Destructor Documentation
copy constructor; do not call Member Function Documentation
Find the landmarks that should be visible from current location.
forces completion of a setVelocity operation Change velocity for walk or setVelocity requests. Compute bounds for random particle distribution based on world shapes.
Returns true if we have enough landmarks to localize. This could be much more sophisticated: taking landmark geometry into account so we don't settle for two adjacent landmarks if a more widely dispersed set is available.
Delegate function for event processing, the event itself is pointed to (only for the duration of the doEvent() call!) by event. Default implementation watches for 'private' text message events (those forwarded by a BehaviorSwitchControl from ControllerGUI input) and will publically rebroadcast them. The idea is that your own processEvent gets first dibs, but if the behavior doesn't handle the text message, it will be handed off for others. Reimplemented from BehaviorBase.
Delegate function for subclasses to be notified when the behavior starts up. Should be overridden by subclasses to subscribe to events, install motion commands, etc. doStart() is basically a hook to allow subclasses to jump in and do some customization of behavior parameters while the behavior is starting. If you are writing a behavior class and do not expect further derivation, just override doStart() yourself. However, if you do expect further derivation of your class, consider using preStart() or postStart() instead, and leave doStart() for the 'leaf' classes. Reimplemented from BehaviorBase.
Delegate function for subclasses to be notified when the behavior starts up. May be overridden to cleanup when the behavior is shutting down. However events will automatically be unsubscribed, and by using addMotion(), motions will automatically be removed by stop(), so you may not need any cleanup. Reimplemented from BehaviorBase.
Definition at line 145 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::FetchObj::doStart(), DualCoding::Pilot::PushObjectMachine::WalkForward::doStart(), DualCoding::Pilot::PushObjectMachine::WalkBackward::doStart(), DualCoding::Pilot::ExecutePlan::Turn::doStart(), DualCoding::Pilot::ExecutePlan::Walk::doStart(), DualCoding::Pilot::SetVelocityMachine::setup(), and DualCoding::Pilot::WalkMachine::setup().
Definition at line 146 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::AdjustPush::doStart(), DualCoding::Pilot::WaypointWalkMachine::setup(), and DualCoding::Pilot::LocalizationUtility::setup().
Randomize the particles before localization.
Referenced by DualCoding::Pilot::VisualSearchMachine::Check::doStart().
Pilot's setAgent is called by its RunMotionModel behavior. Or user can call directly.
Set world bounds to constrain the path planner.
Member Data Documentation
Definition at line 2255 of file Pilot.h. Referenced by DualCoding::Pilot::VisualSearchMachine::Rotate::doStart(), DualCoding::Pilot::VisualSearchMachine::Check::doStart(), DualCoding::Pilot::VisualSearchMachine::Search::doStart(), DualCoding::Pilot::PushObjectMachine::ChoosePathObjToDest::doStart(), DualCoding::Pilot::LookForTarget::doStart(), DualCoding::Pilot::LookForObject::doStart(), DualCoding::Pilot::LocalizationUtility::CheckEnoughLandmarks::doStart(), DualCoding::Pilot::LocalizationUtility::TakeInitialPicture::doStart(), DualCoding::Pilot::ExecutePlan::Turn::doStart(), and DualCoding::Pilot::ExecutePlan::Walk::doStart(). Definition at line 2264 of file Pilot.h. Referenced by getDefaultLandmarkExtractor().
Definition at line 2263 of file Pilot.h. Referenced by getDefaultLandmarks().
Definition at line 2266 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::SetUpExecute2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpInitToObj::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest2::doStart(), DualCoding::Pilot::GoToShapeMachine::SetUpPlanNode::doStart(), DualCoding::Pilot::ConstructNavPlan::doStart(), and DualCoding::Pilot::PlanPath::doStart().
Definition at line 2265 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::SetUpExecute2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpInitToObj::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest::doStart(), DualCoding::Pilot::GoToShapeMachine::SetUpPlanNode::doStart(), DualCoding::Pilot::ConstructNavPlan::doStart(), and DualCoding::Pilot::PlanPath::doStart().
Definition at line 2269 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::SetUpExecute2::doStart(), DualCoding::Pilot::PushObjectMachine::SetMaxTurn::doStart(), DualCoding::Pilot::GoToShapeMachine::SetMaxTurn::doStart(), and DualCoding::Pilot::LocalizationUtility::TakeInitialPicture::doStart().
Definition at line 2268 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::DisplayPathObjToDest::doStart(), DualCoding::Pilot::PushObjectMachine::DisplayPathInitToObj::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpExecute2::doStart(), DualCoding::Pilot::PushObjectMachine::ChoosePathObjToDest::doStart(), DualCoding::Pilot::PushObjectMachine::ChoosePathInitToObj::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpInitToObj::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest::doStart(), DualCoding::Pilot::ExecutePlan::ExecuteStep::doStart(), DualCoding::Pilot::ExecutePlan::AdjustHeading::doStart(), DualCoding::Pilot::ExecutePlan::NextTask::doStart(), DualCoding::Pilot::ConstructNavPlan::doStart(), and DualCoding::Pilot::PlanPath::doStart().
Definition at line 2267 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::SetUpExecute2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpInitToObj::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest::doStart(), DualCoding::Pilot::GoToShapeMachine::SetUpPlanNode::doStart(), DualCoding::Pilot::ConstructNavPlan::doStart(), and DualCoding::Pilot::PlanPath::doStart().
Definition at line 2270 of file Pilot.h. Referenced by DualCoding::Pilot::PushObjectMachine::SetUpExecute2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpInitToObj::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest2::doStart(), DualCoding::Pilot::PushObjectMachine::SetUpObjToDest::doStart(), DualCoding::Pilot::GoToShapeMachine::SetUpPlanNode::doStart(), and DualCoding::Pilot::ExecutePlan::ExecuteStep::doStart().
Definition at line 2252 of file Pilot.h. Referenced by getVerbosity(), and setVerbosity(). Definition at line 2257 of file Pilot.h. Referenced by getWalk_id(), setup(), DualCoding::Pilot::VisualSearchMachine::setup(), and DualCoding::Pilot::ExecutePlan::setup(). Definition at line 2258 of file Pilot.h. Referenced by getWaypointwalk_id(), setup(), and DualCoding::Pilot::PushObjectMachine::setup(). The documentation for this class was generated from the following file: |
Tekkotsu v5.1CVS |
Generated Mon May 9 04:59:20 2016 by Doxygen 1.6.3 |