안녕하세요 알버트 관련해서 프로그램을 작성하고 있다가 질문이 있어 글을 씁니다.


알버트 내의 코드 중에 

mFinalOrientationDevice = mAction.findDeviceById(Action.Navigation.COMMAND_FINAL_ORIENTATION);

mFinalOrientationDevice.write(-90);

이 코드는 프로그램이 실행된 후 최종 위치를 변경해줄 때 선언되어 최종 방향을 -90도로 돌리는 코드인데요.


최종 위치 말고 코드 실행 도중에 방향을 전환시키는 방법은 없을까요?



아래의 코드는 제가 작성하려는 코드입니다. 

장애물을 만나면 회피하는 코드를 작성하려는 것인데 

장애물이 인식되면 일단 정지한 후 장애물로부터 90도 회전시키는 부분이 어려워 질문 남깁니다.



public void onExecute() {

mPadSizeDevice.write(0,108);

mPadSizeDevice.write(1,76);

int leftProximity = mLeftProximityDevice.read(); 

int rightProximity = mRightProximityDevice.read();


/* 장애물 회피 */

if (leftProximity > 50 || rightProximity > 50) { 


mLeftWheelDevice.write(0); //멈춤

mRightWheelDevice.write(0);

//이부분에서 장애물을 인식한 뒤 로봇을 멈추고 90도 회전시켜 장애물을 

//피하고 싶은데 어떻게 해야할지 모르겠어요..

x = mPositionDevice.read(0);

y = mPositionDevice.read(1);


orientation = mOrientationDevice.read();

} else {

mLeftWheelDevice.write(20);

mRightWheelDevice.write(20);

}

}