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