Я запускаю рекурсивную функцию, которая ищет объект в комнате.Этот код работает в сочетании с другим процессом, по сути выполняющим тот же код.Первое, что делает код, это проверяет, нашел ли другой объект объект и, если это так, он должен выйти из функции.Когда я делаю проверку, чтобы увидеть, нашел ли другой процесс объект, если он имеет, я использую «возврат», чтобы выйти из этой функции, в это время он должен перейти на другие строки кода ... Однако для некоторыхпричина, по которой он не срабатывает полностью, а просто запускает функцию снова и снова.
Любые идеи о том, как я могу заставить его вспыхнуть?
Я бы и мог предоставить код, ноэто довольно длинный
РЕДАКТИРОВАТЬ
Родительский скрипт
!matlab -r "zz_Mock_ROB2_Find" & distT = 0.3;
Rob1_ObjFound = 0;
matrix = search_TEST_cam(rob, vid, 0.3, XYpos, 'north', stack, matrix, 0);
disp('I"M OUT')
Рекурсивный код
function matrix = search_TEST_cam(rob1, vid, distT, startingPos, currentDir, stack, matrix, bT)
Rob1_ObjFound = 0;
Rob2_ObjFound = 0;
try
load('Rob2_ObjFound.mat', 'Rob2_ObjFound');
catch
end
if(Rob2_ObjFound == 1)
setDriveWheelsCreate(rob1, 0, 0);
disp('ROB_2 FOUND THE OBJECT')
pause(0.5)
BeepRoomba(rob1)
pause(0.5)
setDriveWheelsCreate(rob1, 0, 0);
return
end