From 689d78b5d4a57456152420b0e3f490480ad32b8f Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Mon, 24 Mar 2008 22:29:22 +0100 Subject: Update the FSM for the getsamples. --- digital/io/src/ia.c | 110 +--------------------------------------------------- 1 file changed, 1 insertion(+), 109 deletions(-) (limited to 'digital/io/src/ia.c') diff --git a/digital/io/src/ia.c b/digital/io/src/ia.c index 7ede1888..954459bc 100644 --- a/digital/io/src/ia.c +++ b/digital/io/src/ia.c @@ -35,114 +35,6 @@ ia_init (void) { ia_global.sequence = false; ia_global.ice_status_our = false; + ia_global.team_color = TEAM_COLOR_RED; } -/** Load balls procedure from a distributor. - * - * 1. Rotate the arm to the desired position to allow the robot to load x - * balls. - * 2. Go backward, this will allow the robot to continue rotating the arm and - * load the balls. - * 3. Stop the arm and put it to its initial position to disallow the robot - * to take undesired balls. - * - * See trunk/digital/io/doc/loadballs.png (use the make command before) - * - * \param balls_nb the quantity of ball to load. - */ -void -ia_load_samples (uint8_t balls_nb) -{ - /* Start the rotation of the arm */ - asserv_move_arm (ASSERV_ARM_ROTATION_FULL , ASSERV_ARM_SPEED_HALF); - - /* Activate the classifier. */ - // TODO write the code to use the classifier. How to know when the - // quantity of desired samples are loaded ? - - /* At this moment the samples shall be loaded. */ - /* Go backaward */ - asserv_move_linearly (-10); - - /* Set the arm to the initial position. */ - asserv_move_arm (ASSERV_ARM_ROTATION_INIT, ASSERV_ARM_SPEED_FULL); -} - -/** Get samples procedure. Request the robot to go and get some sample of the - * team color or ice samples. - * - * 1. Go to the position in front of the distributor. - * 2. Prepare the arm to get samples. - * 3. Go forward with a controled speed to get the samples. - * 4. Prepare the classifier to classify the samples. - * 5. loadballs with the quantity of samples desired. - * 6. Continue classifier - * - * See trunk/digital/io/doc/getSamples.png and - * trunk/digital/io/doc/loadballs.png (use make to get the png files). - * - * \param blue the team color true if the robot is in the blue team. - */ -void -ia_get_samples (bool blue, bool ice) -{ - /* Set the ARM to the init position to avoid the robot to take samples on - * the distributor path. */ - asserv_move_arm (ASSERV_ARM_ROTATION_INIT, ASSERV_ARM_ROTATION_FULL); - - /* Go to the distributor. */ - - if (ice) - { - //TODO this will only work when the robot is in the red team, the need to - //know at which position the robot starts is necessary. - if (blue) - asserv_set_x_position (DISTRIBUTOR_SAMPLES_BLUE_X); - else - asserv_set_x_position (DISTRIBUTOR_SAMPLES_RED_X); - - asserv_set_y_position (DISTRIBUTRO_SAMPLES_Y - 100); - } - else - { - /* Go to the ice distributor. */ - if (ia_global.ice_status_our) - asserv_set_x_position (0); - else - asserv_set_x_position (TABLE_MAX_X); - - asser_set_y_position (DISTRIBUTOR_ICE_Y); - } - - - /* Set the classifier to the correct position. */ - /* TODO fill this part */ - - /* Poll for the position. */ - /* TODO A function for that ?? */ - - ia_load_samples (3 /* TODO change this value to the correct one.*/); -} - -/** Get ice. - */ -void -ia_get_ice (void) -{ - load_samples (true, true); -} - - -/** Depose the samples in the gutter. - */ -void -ia_depose_samples (void) -{ - asserv_go_to_gutter(); - - /*TODO open the collector. */ - - utils_delay_ms (4); - - /* TODO close the collector. */ -} -- cgit v1.2.3