센서 피드백을 사용하는 동안 로봇이 의도한 대로 작동하지 않는 경우 단계별 문제 해결 절차에 따라 문제를 찾아 해결할 수 있습니다. 이 문서에서는 문제 해결 프로세스의 단계를 설명하고 이러한 단계를 사용하는 방법에 대한 팁을 제공합니다.
이 프로세스의 단계는 다음과 같습니다.
- 문제 식별
- 하드웨어 확인
- 소프트웨어 확인
- 데이터 분석 및 적용
문제 식별
센서 문제 해결의 첫 번째 단계는 어떤 센서가 문제를 일으키는지 식별하는 것입니다. 관찰된 로봇 동작을 의도한 로봇 동작과 비교합니다. 문제의 동작이 센서로 인해 발생합니까? 그렇다면 어떤 센서입니까? 어떤 센서가 문제일 수 있는지 확인하기 위해 추가 정보가 필요한 경우 로봇의 센서와 관련된 아래 문서를 읽어보세요.
VEX IQ(1세대) 센서:
- VEX IQ(1세대) 자이로 센서 사용하기
- VEX IQ(1세대) 거리 센서 사용
- VEX IQ(1세대) 컬러 센서 사용
- VEX IQ 범퍼 스위치 사용하기
- VEX IQ 터치 LED 사용하기
어떤 센서가 의도하지 않은 동작을 일으키는지 확인하고 나면 프로세스를 진행할 수 있습니다.
하드웨어 확인
두 번째 단계는 로봇의 하드웨어를 확인하여 센서가 의도한 대로 작동할 수 있는지 확인하는 것입니다. 다음의 각 하드웨어 고려 사항은 센서 기능에 영향을 미칠 수 있습니다.
센서 배치 확인
먼저 로봇의 센서 위치를 살펴보세요. 센서가 로봇의 다른 부분과 같은 것에 의해 차단되고 있습니까? 센서가 의도한 대로 작동하는 데 필요한 공간이 있는지 확인하십시오.
여기에 표시된 것처럼 컬러 센서에는 감지하려는 물체에 대한 명확한 시야가 있습니다.
센서 연결 확인
VEX IQ(1세대) 브레인의 장치 메뉴에 보고된 데이터를 보고 센서의 기능을 테스트합니다. 이를 통해 센서가 연결되어 있고 작동하는지 확인할 수 있습니다.
장치 메뉴에 액세스하려면 이 문서의 단계를 따르 .
장치 화면이 열리면 센서가 데이터를 보고하는지 확인하세요.
그렇지 않은 경우 센서가 올바르게 연결되어 있는지 확인하십시오. 센서를 연결할 때 센서의 잠금 탭이 포트에 완전히 맞물리면 딸깍하는 소리가 들려야 합니다.
또한 사용 중인 센서를 다른 센서로 교체하여 문제가 해결되는지 확인할 수도 있습니다.
센서 배치나 센서 연결과 관련하여 변경한 사항이 있는 경우 프로젝트를 다시 테스트하여 문제가 해결되었는지 확인하세요. 센서 배치와 연결이 변경되지 않은 경우 다음 단계로 이동하여 문제 해결 프로세스를 계속하세요.
소프트웨어 확인
센서가 로봇에 성공적으로 배치되고 연결되었음을 확인했다면 다음으로 VEXcode IQ 프로젝트를 살펴볼 수 있습니다. 프로젝트를 반복하면 센서의 데이터가 프로젝트에서 효과적으로 사용되는지 확인하는 데 도움이 될 수 있습니다. 다음 전략은 센서 코딩에 도움이 될 수 있습니다.
VEXcode IQ 프로젝트에 이러한 전략을 적용하는 경우 프로젝트를 다시 테스트하여 문제가 해결되었는지 확인하세요.
펌웨어 및 구성 확인
IQ Brain의 펌웨어가 최신인지 확인하는 것부터 시작하세요.
이제 모든 장치가 Brain에 올바르게 연결되었는지 확인했으므로 VEXcode IQ에서 장치 구성을 확인하세요.
구성에 모든 센서가 있는지 확인하십시오. 그런 다음 각각이 올바른 포트에 연결되어 있는지 확인하십시오.
잘못된 장치 구성을 변경하십시오.
예제 프로젝트 실행
문제를 해결하려는 센서를 사용하는 예제 프로젝트를 엽니다. '센싱' 카테고리를 선택하여 예시 프로젝트를 필터링할 수 있습니다.
IQ 블록 예제 프로젝트 및 템플릿에 대한 자세한 내용은 이 문서참조 .
일단 열면 노트를 읽고 예제 프로젝트의 기능이 센서로 수행하려는 작업과 일치하는지 확인하십시오.
여기에 표시된 예제 프로젝트에서 메모는 이 프로젝트가 사용 가능한 모든 거리 센서 명령을 로봇과 함께 사용할 수 있는 방법에 대한 예제를 제공한다는 것을 나타냅니다.
예제 프로젝트를 실행하고 로봇 동작을 관찰하세요. 그런 다음 프로젝트를 살펴보고 관찰된 동작을 유발하기 위해 센서 데이터가 어떻게 사용되는지 확인하세요. 이를 돕기 위해 예제 프로젝트를 여러 번 실행할 수도 있습니다.
또한 예제 프로젝트에서 배운 내용을 작업에 적용하기 위해 자신만의 단순화된 프로젝트를 만들어 볼 수도 있습니다.
다른 VEXcode IQ 도구 사용
VEXcode IQ에서 센서 코딩에 대해 자세히 알아볼 때 도움이 되는 도구와 전략도 있습니다. 도움말을 사용하여 도구 상자의 블록이나 명령에 대해 개별적으로 알아볼 수 있습니다. 프로젝트가 실행되는 동안 센서 데이터를 보고 센서가 보고하는 내용에 대해 자세히 알아볼 수도 있습니다.
도움
사용되는 데이터, 명령이 보고하는 값 및 프로젝트에서 명령을 사용하는 방법의 예에 대해 알아보려면 예제 프로젝트 또는 프로젝트의 블록 또는 명령에 대한 도움말을 읽어보세요.
데이터 인쇄
또한 예제 프로젝트나 프로젝트가 실행 중일 때 센서의 데이터를 인쇄하여 센서가 실시간으로 보고하는 내용을 더 잘 이해할 수 있습니다. 이는 프로젝트에서 매개변수로 사용할 센서에서 보고된 값을 결정하는 데 도움이 될 수 있습니다.
블록 프로젝트에서는 별도의 {When started} 모자 블록을 사용하여 모든 인쇄 명령을 자체 스택에 정리할 수 있습니다.
VEXcode IQ 블록
위의 이미지를 선택하여 확대하세요.
VEX코드 IQ C++
int main() {
// 프로젝트 코드 시작
// IQ(2세대) Brain 화면에 맞게 글꼴 크기를 변경합니다.
Brain.Screen.setFont(mono12);
// 모든 거리 감지 값을 화면에 출력하는 루프
while (true) {
// 화면을 지우고 커서를 화면 왼쪽 상단 모서리로 설정합니다.
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("발견된 객체: %s", Distance.foundObject() ? "TRUE" : "FALSE");
Brain.Screen.newLine();
Brain.Screen.print("거리 - mm: %.0f", Distance.distance(mm));
Brain.Screen.newLine();
Brain.Screen.print("거리 - 인치: %.0f", Distance.distance(인치));
Brain.Screen.newLine();
// 텍스트가 왜곡되거나 찢어지지 않고 인쇄될 수 있도록 하는 짧은 지연
wait(0.2, 초);
}
}
IQ Brain 로 인쇄하는 것은 VEXcode IQ 프로젝트가 실행될 때 변경되는 값을 보고 싶을 때 유용합니다. 이는 프로젝트에서 매개변수로 사용할 센서에서 보고된 값을 결정하는 데 도움이 될 수 있습니다. 이러한 인쇄 명령은 이미 생성한 VEXcode IQ 프로젝트에 내장되어 로봇이 이동하는 동안 특정 시간에 센서 값이 변경되는 것을 볼 수 있습니다.
위의 예제 프로젝트는 거리 센서에서 IQ 두뇌로 값을 인쇄하는 방법을 보여줍니다. 각 프로젝트의 설명은 프로젝트의 흐름과 각 명령의 사용법을 설명합니다.
IQ Brain 의 장치 메뉴를 사용하면 로봇을 수동으로 조작하면서 센서 값을 보고 싶을 때 유용합니다. VEXcode IQ 프로젝트를 실행하지 않고도 장치 메뉴에 액세스하여 센서에서 감지한 값을 볼 수 있습니다.
X 버튼을 선택하여 Brain 설정에 액세스하고 장치 정보까지 아래로 스크롤한 다음 확인 표시 버튼을 눌러 장치 메뉴를 엽니다.
장치 메뉴에서 화살표 버튼을 사용하여 자세한 정보를 보려는 장치를 선택하십시오. 이 이미지에서는 컬러 센서가 선택되었습니다. (1세대) Brain에서 장치 정보를 보는 방법에 대한 자세한 내용은 이 문서를 참조 .
데이터 분석 및 적용
다음으로, 이전 단계에서 배운 내용을 사용하여 원본 프로젝트를 조정하세요. 도움말 및 데이터 인쇄와 같은 도구를 계속 사용하면 센서를 효과적으로 사용하여 목표를 달성할 수 있습니다.
프로젝트를 진행하는 데 도움이 되는 질문을 할 수도 있습니다. 다음과 같은 사항을 생각해 보세요.
- 프로젝트에서 < 보다 크거나 > 보다 작은 것을 사용하고 있습니까? 기호가 올바른 방향을 향하고 있나요? =와 같음을 사용하는 경우 이를 보다 크거나 작은 것으로 바꾸어 값 범위를 사용해 보세요.
- 매개변수가 정확합니까? 센서의 데이터를 사용하여 매개변수를 설정하고 있습니까? 필요한 드롭다운 옵션을 선택하셨나요?
- 조건을 여러 번 확인하시나요? 프로젝트가 실행될 때 조건이 반복적으로 확인되도록 프로젝트에 Forever 루프를 추가해 보십시오.
- 프로젝트가 중단되었나요? 조건이 올바르게 설정되어 있나요? 중첩 루프를 사용하는 경우 프로젝트를 단순화하여 개별 동작을 분리해 보세요.
- 환경 조건이 센서에 영향을 미치나요? 너무 밝거나 어둡나요? 방해가 되는 물체나 사람이 있습니까? 도움이 되는지 확인하려면 다른 위치에서 프로젝트를 실행해 보세요.
- 프로젝트의 최신 버전을 실행하고 있습니까? 업데이트된 프로젝트를 Brain에 다운로드하셨나요? 변경할 때마다 프로젝트를 다시 다운로드하십시오.
- 올바른 색상을 감지하고 있습니까? 센서가 프로젝트에 있는 색상과 다른 색상을 보고합니까? 색상 매개변수를 변경해 보세요.
- 센서 시야 내에 물체가 감지되고 있습니까? 로봇의 움직임에 따라 시야가 이동한다는 점을 기억하세요.
- 조건을 확인하면서 대기 블록을 사용하고 있습니까? 조건을 확인할 때는 반드시 프로젝트에서 대기하지 않는 블록을 사용하세요. VEXcode IQ의 대기 블록과 비대기 블록에 대해 자세히 알아보려면 이 기사를 참조하세요.
- 블록으로 코딩하는 경우 전체 스택이 {When started} 해트 블록에 연결되어 있습니까? 블록은 연결되어 있을 때만 실행됩니다. 블록을 드래그하여 연결하면 딸깍하는 소리를 들을 수 있습니다.
이러한 질문에 답하면서 프로젝트에서 한 번에 한 가지씩 변경하고 테스트한 다음 해당 변경 사항이 효과적인지 평가하십시오. 프로젝트를 자주 테스트하면 코드가 로봇의 동작과 어떻게 연결되는지 더 쉽게 확인할 수 있습니다. 문제를 해결하기 위해 문제 해결 프로세스의 단계를 여러 번 반복해야 할 수도 있지만 괜찮습니다. 각 반복은 사용 중인 센서와 VEXcode IQ에서 코딩하는 방법에 대해 자세히 배우는 데 도움이 됩니다.