digraph g {compound="true";bgcolor="";fontcolor="";fontname="";fontsize="";label="";margin="";nodesep="";rankdir="";ranksep="0.4";ratio="";size="";subgraph cluster_option{bgcolor="";color="";fillcolor="#F4F4F4";fontcolor="#005A9C";fontname="Arial";fontsize="12";label="option track-ball";labeljust="";labelloc="";style="filled";subgraph cluster_states{bgcolor="";color="#F4F4F4";fillcolor="#F4F4F4";fontcolor="";fontname="";fontsize="";label="";labeljust="";labelloc="";style="filled";node[label="ball\njust\nlost", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="filled",URL="option.track-ball.html#state_ball-just-lost",width="",] {state_ball_just_lost};node[label="ball\nlost", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="filled",URL="option.track-ball.html#state_ball-lost",width="",] {state_ball_lost};node[label="directed\nscan\naway\nfrom\nball", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="filled",URL="option.track-ball.html#state_directed-scan-away-from-ball",width="",] {state_directed_scan_away_from_ball};node[label="directed\nscan\naway\nfrom\nball", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="filled",URL="option.track-ball.html#state_directed-scan-away-from-ball",width="",] {state_directed_scan_away_from_ball};node[label="directed\nscan\naway\nfrom\nball", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="filled",URL="option.track-ball.html#state_directed-scan-away-from-ball",width="",] {state_directed_scan_away_from_ball};node[label="directed\nscan\naway\nfrom\nball", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="filled",URL="option.track-ball.html#state_directed-scan-away-from-ball",width="",] {state_directed_scan_away_from_ball};node[label="directed\nscan\naway\nfrom\nball", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="filled",URL="option.track-ball.html#state_directed-scan-away-from-ball",width="",] {state_directed_scan_away_from_ball};node[label="ball\nseen", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="dashed",URL="",width="",] {state_ball_seen};node[label="ball\nseen", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="#005A9C",fontname="Arial",fontsize="9",height="",shape="circle",style="dashed",URL="",width="",] {state_ball_seen};}subgraph cluster_decision_tree{bgcolor="";color="";fillcolor="#FFFFFF";fontcolor="#005A9C";fontname="Arial";fontsize="12";label="state ball-seen";labeljust="";labelloc="";style="filled";node[label="start", color="",fillcolor="",fixedsize="",fontcolor="",fontname="",fontsize="",height="",shape="point",style="",URL="",width="",] {start};node[shape="record",label="<start_0> if | <start_1> else if | <start_2> else if | <start_3> else",color="#FFFFFF",fillcolor="",fontcolor="",fontname="Arial Bold",fontsize="9",height="0.15",style="",URL="",width="",]{struct1};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start -> struct1:start_0;node[label="ball lost\nnear", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_0",width="",] {start_0_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct1:start_0 -> start_0_;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_0_ -> state_ball_just_lost;node[label="ball lost\nfar", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_1",width="",] {start_1_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct1:start_1 -> start_1_;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_1_ -> state_ball_lost;node[label="head control\nmode is\nsearchAuto", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_2",width="",] {start_2_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct1:start_2 -> start_2_;node[shape="record",label="<start_2__0> if | <start_2__2> else if | <start_2__3> else if | <start_2__4> else if | <start_2__5> else if | <start_2__6> else",color="#FFFFFF",fillcolor="",fontcolor="",fontname="Arial Bold",fontsize="9",height="0.15",style="",URL="",width="",]{struct2};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_2_ -> struct2:start_2__0;node[label="Ball was\nseen consecutively\nfor 500\nms", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_2_0",width="",] {start_2__0_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct2:start_2__0 -> start_2__0_;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_2__0_ -> state_directed_scan_away_from_ball;node[label="ball rolls\noff", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_2_1",width="",] {start_2__2_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct2:start_2__2 -> start_2__2_;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_2__2_ -> state_directed_scan_away_from_ball;node[label="ball is\nnear but\nroboter\nhasnt\nseen two\ndiffrent\nbeacons\nfor long", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_2_2",width="",] {start_2__3_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct2:start_2__3 -> start_2__3_;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_2__3_ -> state_directed_scan_away_from_ball;node[label="ball is\nnear but\nroboter\nhasnt\nseen any\nbeacon", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_2_3",width="",] {start_2__4_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct2:start_2__4 -> start_2__4_;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_2__4_ -> state_directed_scan_away_from_ball;node[label="ball is\nnear but\nroboter\nhasnt\nseen any\nbeacon\nfor long", color="",fillcolor="#FFFFFF",fixedsize="",fontcolor="",fontname="Arial",fontsize="9",height="",shape="box",style="filled",URL="option.track-ball.html#state_ball-seen_pseudo-code_2_4",width="",] {start_2__5_};edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="none",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct2:start_2__5 -> start_2__5_;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] start_2__5_ -> state_directed_scan_away_from_ball;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct2:start_2__6 -> state_ball_seen;edge[arrowhead="",arrowsize="",arrowtail="",constraint="",color="",decorate="",dir="",fontcolor="",fontname="",fontsize="",headlabel="",headport="",label="",labeldistance="",labelfloat="",labelfontcolor="",labelfontname="",labelfontsize="",minlen="2",samehead="",sametail="",style="solid",taillabel="",tailport="",URL="",lhead="",ltail=""] struct1:start_3 -> state_ball_seen;}}}
                    
