Download SAPHIRA MANUAL

Transcript
void sfInitInterpretationProcs (void)
Starts up processes for interpretation of sonar results.
Table 8-4.
Function
Name
occgrid_proc
side_segment_proc
test_wall_proc
test_wall_break_proc
occupancy grid
side segs
test wall
test wall break
Description
Computes an occupancy grid
Forms linear artifacts robot motion
Performs wall recognition
door and junction recognition
These processes must be started to have results deposited in sfLeftWallHyp and
sfRightWallHyp.
void sfInitRegistrationProcs (void)
Starts up position registration processes useful for navigation in an office environment.
Table 8-5.
Function
Name
test_match_proc
test_environment_proc
test matching
test where
Description
matching of linear and point artifacts
identification of current situation
void sfRunEvaluator (void)
This micro-task starts up the Colbert evaluator, which is the executive for activities. The evaluator also
accepts input from the interaction window. The basic client bin/saphira.c starts this process. If you
define a stand-alone client, and want to run Colbert, then start this micro-task (using sfInitProcess) in
your start-up callback.
4.3 State Reflection
State reflection is a way of isolating client programs from the work involved in send control commands
and gathering sensory information from the robot. The state reflector is a set of data structures in the client
that reflects the sensor and motor state of the robot. The client can examine sensor information by looking
at the reflector data, and can control the robot by setting reflector control values. It is the responsibility of
the Saphira OS to maintain the state reflector by communicating with the robot server, receiving
information packets and parsing them into the state reflector, and sending command packets to implement
the state reflector control values. The micro-tasks started by sfInitBasicProcs are the relevant ones:
You must invoke this function for the state reflector to function.
The state reflector has three important data structures.
The sfRobot structure holds motion and position integration information, as well as some sensor
readings (motor stall sensors, digital I/O ports).
The sonar buffers hold information about current and past sonar returns.
The control structures command robot motions.
This section describes the robot and sonar information structures; the next one, the direct motion
commands that affect the control structures.
9