|
ScanRadar(CorpusYaw) ;в переменной CorpusYaw у нас содержится текущий угол бота по оси У If (obstacle>0) And (obstacle<400) turn_c=20 ; наша переменная принимает значение если расстояние меньше 40 метров, назовем ее счетчик oba=ObsAngle ; в переменную oba запоминаем угол с этим препятствием относительно бота EndIf ;----------------------выполняем маневр If turn_c>0 ; если счетчик больше 0 turn_c=turn_c-1 ; уменьшаем счетчик TurnCorpus=oba ;бот будет поворачиваться соответственно с углом между препятствием и ботом EndIf Move = 1 ; двигаем бота |
|
If CollidedObstacle% <> 0 ; если есть столкновение If (turn_b1 = 0) And (turn_b2 = 0) ; если маневр еще не начат turn_b1 = 60 ; включаем первый счетчик маневра EndIf EndIf |
|
If turn_b1 > 0 ; если счетчик включен turn_b1 = turn_b1 - 1 If turn_b1 = 0 ; если счетчик отработал turn_b2 = 50 ; запускаем второй счетчик EndIf Move = -1 ;двигаем бота назад If turn_b1 < 40 ; если счетчик меньше 40 TurnCorpus = -1 ; поворачиваем влево EndIf EndIf If turn_b2 > 0 ;если второй счетчик включен turn_b2 = turn_b2 - 1 Move = 1 ;двигаем бота вперед TurnCorpus = 1 ;поворачиваем вправо EndIf |
|
ScanRadar(CorpusYaw) ;в переменной CorpusYaw у нас содержится текущий угол бота по оси У If (obstacle>0) And (obstacle<400) turn_c=20 ; наша переменная принимает значение если расстояние меньше 40 метров, назовем ее счетчик oba=ObsAngle ; в переменную oba запоминаем угол с этим препятствием относительно бота EndIf ;----------------------выполняем маневр If turn_c>0 ; если счетчик больше 0 turn_c=turn_c-1 ; уменьшаем счетчик TurnCorpus=oba ;бот будет поворачиваться соответственно с углом между препятствием и ботом EndIf Move = 1 ; двигаем бота If CollidedObstacle% <> 0 ; если есть столкновение If (turn_b1 = 0) And (turn_b2 = 0) ; если маневр еще не начат turn_b1 = 60 ; включаем первый счетчик маневра EndIf EndIf If turn_b1 > 0 ; если счетчик включен turn_b1 = turn_b1 - 1 If turn_b1 = 0 ; если счетчик отработал turn_b2 = 50 ; запускаем второй счетчик EndIf Move = -1 ;двигаем бота назад If turn_b1 < 40 ; если счетчик меньше 40 TurnCorpus = -1 ; поворачиваем влево EndIf EndIf If turn_b2 > 0 ;если второй счетчик включен turn_b2 = turn_b2 - 1 Move = 1 ;двигаем бота вперед TurnCorpus = 1 ;поворачиваем вправо EndIf |