blob: bf61a0fdc510294dae5110220ac974c09f87e8e2 [file] [log] [blame]
Austin Schuh88af0852016-12-04 20:31:32 -08001package y2015.actors;
Austin Schuh994d42c2015-03-01 00:02:17 -08002
3import "aos/common/actions/actions.q";
4
5// Parameters to send with start.
6// This action picks a right side up can from the claw.
7// It starts by lifting up, then moving the arm out, then lifting the can out of
8// the claw, and then ends with the can inside the bot.
9struct CanPickupParams {
Austin Schuh90f28542015-03-29 13:46:03 -070010 // X position for the fridge when picking up.
11 double pickup_x;
12 // Y position for the fridge when picking up.
13 double pickup_y;
Austin Schuh994d42c2015-03-01 00:02:17 -080014 // Height to move the elevator to to lift the can out of the claw.
15 double lift_height;
Austin Schuh90f28542015-03-29 13:46:03 -070016 // Height to use when lifting before moving it back.
17 double pickup_goal_before_move_height;
18 // The height at which to start pulling back.
19 double before_place_height;
Austin Schuh994d42c2015-03-01 00:02:17 -080020
Austin Schuh90f28542015-03-29 13:46:03 -070021 // X at which to start lowering the can.
22 double start_lowering_x;
Austin Schuh994d42c2015-03-01 00:02:17 -080023 // End position with the can.
24 double end_height;
25 double end_angle;
26};
27
28queue_group CanPickupActionQueueGroup {
29 implements aos.common.actions.ActionQueueGroup;
30
31 message Goal {
32 uint32_t run;
33 CanPickupParams params;
34 };
35
36 queue Goal goal;
37 queue aos.common.actions.Status status;
38};
39
40queue_group CanPickupActionQueueGroup can_pickup_action;