/*!

\page CDSK9 Domain Description

<hr>

\section CDS-K9 Domain     CDS/K9 Domain Introduction

\subsection SecenarioDescriptoin  CDS Scenario Description

\li CDS aims to demonstrate a host of technologies that could support 
human and robotic exploration of a planetary surface.  
\li CDS intends 
to demonstrate a scheme for coordinating astronauts conducting 
Extra-Vehicular Activity (EVA) and rovers for geologic investigations.  


\subsection AstronautRoles  Astronaut Roles in the CDS Scenario

\li The demonstration scenario centers around a mock habitat, three human 
crew and two robots.  
\li A habcom or habitat communicator, is the 
principal communicator to the astronaut in EVA and will operate from 
inside the habitat.  
\li A rover operator oversees the operation of the 
two rovers and will also have a console position in the habitat.
\li The third astronaut will be in a mock pressure suit and helmet, 
outside the habitat and will perform local coordination of rock 
inspections.   
\li K9 is a rover used for detailed scientific inspection. In physical makeup,
it is very similar to the MER rovers currently operating on Mars. 
\li A second robot, Gromit, is a faster robot that will be sent on 
circuits for photo taking, and will help the controllers to direct 
K9 to the most promising targets.  This document mainly concerns K9.

\subsection K9Architecture  K9 Software Architecture

\li To control K9, CDS will employ four major software systems: the 
Rover Science? Interface (RSI), the PlanManager, the K9Executive, and the 
functional-level K9 software.  
\li The RSI is the interface between the 
rover operator and the highest-level control software.  It comprises a 
database of information that will be used for planning missions for K9, 
a user interface to display rover current state relative to local terrain, 
plan information, and execution status among other data.  
\li The PlanManager is 
an autonomous planner that, given human-selected target points on rocks, 
will solve for plans that achieve all goals within allotted time and 
resource limits.  The PlanManager is one of two IDEA agents in the K9 
control architecture.  
\li The K9Executive utilizes a second IDEA Agent.  It receives plans 
generated by the PlanManager and executes them according to the same 
models used to develop the plan.  It is also capable of responding to 
a limited set of off-nominal scenarios (plan suspension, abort during 
navigation, anticipation of late completion of goals, etc).  
\li The K9Executive 
translates plan parameters into the format understood by the K9ClientAPI, 
an interface that 
allows simple commanding of the K9 robot itself.  
\li The K9 functional 
software receives commands and performs all rover functionality, and 
returns telemetry and status messages back to the K9Executive.

\section GenDescr Vehicle General Description

\li K9 is a six-wheeled rocker-bogie configuration vehicle, and is designed as 
a prototype for Mars rover research.  
\li Each of its six wheels are driven 
and can be steered independently, allowing straight-line motion, point 
turning, crabbing and rotations about arbitrary points.  
\li K9 is controlled by a body-mounted laptop.  
\li It has a robotic arm for deploying instruments 

and a mast with a pan-tilt assembly for mounting cameras or other instruments 
that benefit from higher elevation and active pointing.
	
\subsection Vehcapab  Vehicle Capabilities and Limitations



\li As with other rocker-bogie vehicles, K9 is capable of negotiating rough 
terrain and surmounting obstacles of greater height than the wheel radius.  
\li However, the drive motor gear ratio prevents K9 from driving fast  its top 
speed is on the order of 10 cm/s.

\subsection K9Instruments    Instruments on K9 Vehicle   
  

\li K9 has a number of cameras and can be outfitted with other instruments.  
\li The hazcams are pairs of cameras mounted on the body just below the level 
of the rover solar array, and serve for obstacle detection with a wide field 
of view.  There are two hazcam pairs, one front mounted, the other aft mounted.  
\li The navcams are a pair of cameras mounted on the pan-tilt head of K9s mast.  
Mounted roughly at the height of a standing human, these are used for terrain 
evaluation and for human selection of paths through rock fields. 
\li  The scicams are a pair of science cameras also mounted on the mast pan-tilt 
head.  
\li Finally, the CHAMP instrument is a variable focal length imaging 
instrument mounted on K9s instrument arm.  Using a stepper motor, CHAMP 
can adjust the focal plane of images.  By taking images of rocks at 
varying focal depths, scientists can image irregular surfaces and ensure 
focus at all depths over a range of images.

\subsection Owner  K9 Rover Owner

\li K9 is owned by NASA

<hr>

\section VehActivities Vehicle Activities

\li Motion:  K9 performs navigation actions between pre-designated points.  
Navigation can either be conducted blind, that is, without the use of cameras 
for obstacle avoidance, or with cameras for autonomous rock detection, evaluation 
and avoidance.  
\li Position Estimation: The experiment has baselined GPS as the primary 
instrument for position estimation.
\li Scientific Instruments:  K9s principal scientific payload is the 
CHAMP imager.  CHAMP will collect geologic data for the astronauts 
in the simulated planetary scenario. CHAMP imaging is the primary step 
in an activity referred to as Single-Cycle Instrument Placement (SCIP).  
\li Astronauts will designate targets in images taken by K9.  With 
the help of the PlanManager and K9Executive, K9 is able to plan and 
execute a sequence for target approach, arm deployment, CHAMP operation 
and arm stowage in a single command cycle.
\li K9 must also return telemetry to allow human operators to 
track progress of plans and to obtain initial state data for generating 
new plans.  The K9Executive periodically polls K9 for position and 
battery energy data and transmits that data, via shared IDEA 
timelines, to the PlanManager.  The PlanManager relays received 
telemetry to the RSI.

<hr>



*/