method(:sauce12_practice_complete) do
follow_pipe = sauce12_practice_pipeline
align_for_goto_buoy = align_and_move(:z => BUOY_SEARCH_Z,
:yaw => PRACTICE_BUOY_SEARCH_YAW)
buoy = sauce12_practice_buoy
goto_modem_pos = align_and_move(:speed => MODEM_GOTO_SPEED,
:z => MODEM_WAIT_Z,
:yaw => PRACTICE_MODEM_WAIT_POS_ANGLE,
:duration => MODEM_GOTO_DURATION)
wait_for_modem_command = simple_move(:z => MODEM_WAIT_Z,
:duration => MODEM_WAIT_FOR_COMMAND_TIME)
align_to_wall = align_and_move(:z => MODEM_WAIT_Z,
:yaw => PRACTICE_WALL_ALIGNMENT_ANGLE)
wall = sauce12_practice_wall
surface = simple_move(:z => 0)
#nav = navigate(:waypoint => Eigen::Vector3.new(0.0, 0.0, -2.2))
run = Planning::MissionRun.new(:timeout => 20.0 * 60.0)
run.design do
# Define start and end states
start(follow_pipe)
finish(surface)
transition(follow_pipe, :success => align_for_goto_buoy, :failed => surface)
transition(align_for_goto_buoy, :success => buoy, :failed => buoy)
transition(buoy, :success => goto_modem_pos, :failed => goto_modem_pos)
transition(goto_modem_pos, :success => wait_for_modem_command, :failed => wait_for_modem_command)
transition(wait_for_modem_command, :success => align_to_wall, :failed => align_to_wall)
transition(align_to_wall, :success => wall, :failed => surface)
transition(wall, :success => surface, :failed => surface)
end
end