get_analog_input (자동 모드)

이 절에서는 자동(실행) 운전 중에 get_analog_input으로 센서나 외부 장치에 연결된 아날로그 입력(AI) 채널의 값을 읽는 방법을 설명합니다.

아날로그 입력은 주로 압력 센서, 거리 센서, 전위차계, 로드셀처럼 출력 전압/전류 수준이 변하는 장치를 모니터링하는 데 사용합니다.

일반적인 사용법

  • 파지하기 전에 압력이나 진공 수준을 모니터링합니다.

  • 정렬 작업 중에 아날로그 거리/높이 센서를 읽습니다.

  • 비례 액추에이터나 외부 컨트롤러에서 피드백을 받습니다.

  • 자동 모드에서 임계값 기반 판단 로직을 구현합니다.

참고

  • nIndex는 아날로그 입력 채널을 지정합니다.

  • set_mode_analog_input으로 아날로그 모드가 올바르게 설정되어 있는지 확인하세요.

  • 공학 단위로 스케일링하거나 변환해야 할 수 있습니다.

예제: 픽업 전 진공 수준 확인하기

// 압력이 목표 임계값에 도달할 때까지 대기
while (drfl.get_analog_input(GPIO_CTRLBOX_ANALOG_INDEX_1) < 4.0f) {   // 예: 임계 전압
    printf("Building vacuum...\n");
    std::this_thread::sleep_for(std::chrono::milliseconds(100));
}

printf("Vacuum level sufficient. Executing pick motion.\n");

float pick[6] = {250.f, 200.f, 180.f, 180.f, 0.f, 0.f};
float vel[2] = {80.f, 40.f}, acc[2] = {300.f, 120.f};
drfl.movel(pick, vel, acc);

이 예제에서는 로봇이 임계값을 만족할 때까지 아날로그 센서를 계속 모니터링해, 자동 모드의 픽업 동작이 안전하고 올바르게 이루어지도록 합니다.

팁

  • 센서와 공정 매개변수를 계속 모니터링하려면 AI 채널을 사용하세요.

  • 신호에 노이즈가 많으면 소프트웨어에서 필터링이나 평균 처리를 적용하세요.

  • AO와 함께 사용해 폐루프 공정 제어를 구현하세요.

  • 압력, 힘, 거리 센서에는 공학 단위 변환을 사용하세요.