{
if(gi_2 == 3)
{
SubRoutine_4 (); /*灭火*/
gi_2 = 4 ; /*切换到回家*/
}
else
{
if(gi_2 == 4) /*进入回家模式*/
{
if(gi_3 == 1) /*从1号房间回家*/
{
SubRoutine_5 (); /*右手走*/
}
else
{
if(gi_3 == 3) /*从2号房间回家*/
{
if(rot_1 == 1) /*灭火后,从2号房间出来*/
{
SubRoutine_1 (); /*左手走*/
}
else
{
if(rot_1 == 2) /*到了通往3号房间的巷子*/
{
drive( 0 , 80); /*右转180度*/ /*程序中应 尽量避免这种强制的不接受外部反馈的硬性动作,应尽量采用柔性控制 */
wait( 0.650000 );
stop();
rot_1 = 3 ;
}

【