안녕하십니까? 청운대학교 융합 클러스터 연구원 김만기입니다.
다름이아니라 현재 Windows 기반으로 SDK를 활용하여 프로그램을 제작중에 있습니다.
구동제어까지는 구현을 하였으나, Kobuki로봇내의 범퍼센서, 절벽감지 등 센서와의 연동과 관련하여 궁금한 사항이 있습니다.
현재 EventManager.cpp파일을 통하여 연동이 되는 것으로 추정되는데
kobuki::CoreSensors::Data new_state;
new_state.buttons = 1;
new_state.bumper = 1;
new_state.cliff = 1;
new_state.wheel_drop = 1;
new_state.charger = 1;
new_state.battery = 100;
kobuki::EventManager EM;
EM.init("/kobuki");
위와같이 선언 후 초기화를 하였습니다.
그 후 절벽감지 벡터 매개변수를 없앤 생성자를 별도로 생성하여
while (!shutdown_req){
EM.update(new_state);
sleep();
}
이와 같이 동작하도록 구현하였습니다.
또한, EventManager.cpp파일 내부의 조건문에 printf문을 삽입하여 이벤트 발생을 확인할 수 있도록 제작하였습니다,
하지만 처음의 초기 상태만 비교하여, 값을 출력한 후 더이상 이벤트 발생을 확인하지 못합니다.(범퍼 센서로 테스트)
EventManager에 대한 제 이해가 다소 부족한것으로 느껴지는데 어떠한 방법으로 코드를 작성해야 할지 방법 혹은 조언 부탁드립니다.!!
계절이 바뀌는 가을 감기 조심하시고, 수고하십시오.