앤디 블로그
  • 모두
  • 아키텍처
  • 기술
  • 자바
  • 스프링
  • 인프라
  • 카프카
  • 데이터베이스
  • 컨퍼런스
  • 개발 문화
책
짧은 글
  • 모두
  • ISOBUS
이력서
  • 모두
  • 아키텍처
  • 기술
  • 자바
  • 스프링
  • 인프라
  • 카프카
  • 데이터베이스
  • 컨퍼런스
  • 개발 문화
책
짧은 글
  • 모두
  • ISOBUS
이력서
  • 통신과 CAN 기초

    • 소개
    • CH1. 통신의 기초
    • CH2. CAN 통신 입문
    • CH3. CAN 물리 계층
    • CH4. CAN 데이터 프레임
    • CH5. CAN 중재와 우선순위
    • CH6. CAN 에러 처리
    • CH7. CAN FD
  • SAE J1939

    • CH8. J1939 입문
    • CH9. J1939 메시지 구조
    • CH10. J1939 주소 체계
    • CH11. J1939 Transport Protocol
  • ISOBUS (ISO 11783)

    • CH12. ISOBUS 개요
    • CH13. 네트워크 아키텍처
    • CH14. 네트워크 관리
  • Virtual Terminal (VT)

    • CH15. VT 기초
    • CH16. VT 오브젝트 풀
    • CH17. VT 명령어
  • Task Controller (TC)

    • CH18. TC 기초
      • 1. TC란 무엇인가
      • 2. TC의 역할
      • 3. TC-Client vs TC-Server
      • 4. Section Control과 Rate Control
        • Section Control
        • Rate Control
      • 5. GPS 연동과 위치 기반 제어
        • 위치 관련 PGN
        • 위치 기반 제어 흐름
        • NMEA와 ISOBUS
      • 다음 챕터
    • CH19. TC 프로세스 데이터
    • CH20. TC DDOP
  • 심화 및 실습

    • CH21. 기타 기능
    • CH22. 종합 실습
  • 부록

    • 용어 사전
    • PGN/SPN 목록
    • DDI 목록
    • 트러블슈팅
    • 참고 자료

Task Controller (TC) 기초

학습 목표

  • Task Controller(TC)가 정밀 농업에서 담당하는 역할을 설명할 수 있다.
  • TC-Server와 TC-Client의 차이를 구분하고 각각의 위치를 식별할 수 있다.
  • Section Control과 Rate Control의 목적과 동작 원리를 비교할 수 있다.
  • GPS 위치 데이터가 TC 제어에 어떻게 활용되는지 설명할 수 있다.

1. TC란 무엇인가

Task Controller(TC)는 ISO 11783-10에 정의된 정밀 농업의 핵심 컴포넌트이다.

ISO 11783 Part 10 — Task Controller and Management Information System Data Interchange

TC는 두 가지 핵심 기능을 수행한다.

  • 자동 제어: 작업 계획(처방 맵, Prescription Map)에 따라 작업기를 자동으로 제어한다. 밭의 위치별로 미리 지정된 살포량·파종량을 GPS 위치와 연동하여 자동으로 적용한다.
  • 작업 기록: 실제 작업 결과(As-Applied Data)를 수집하고 기록한다. 어느 위치에서 얼마나 살포했는지를 나중에 분석할 수 있도록 로그로 남긴다.

TC가 없던 시대에는 농민이 수동으로 살포량을 조절해야 했다. TC는 이 과정을 자동화하여 비료·농약 과용을 줄이고 생산성을 높이다.


2. TC의 역할

TC는 FMIS(Farm Management Information System, 농장관리시스템)와 작업기 사이를 연결하는 중간 다리이다.

flowchart TD
    FMIS["FMIS<br>(농장관리시스템)"]
    TC["TC<br>(Task Controller)"]
    ECU["작업기 ECU<br>(TC-Client)"]
    LOG["작업 로그<br>(As-Applied)"]

    FMIS -->|"처방 맵<br>(Prescription Map)"| TC
    TC -->|"설정값 전달<br>(Setpoint)"| ECU
    ECU -->|"측정값 보고<br>(Measurement)"| TC
    TC -->|"작업 결과 기록"| LOG
    LOG -->|"작업 데이터 업로드"| FMIS

각 단계의 의미는 다음과 같다.

단계방향내용
처방 맵 수신FMIS → TC밭의 구획별 목표 살포량·파종량이 담긴 계획 파일
Setpoint 전달TC → 작업기GPS 위치에 해당하는 목표 값을 작업기에 명령
Measurement 수집작업기 → TC실제 살포된 양, 속도 등 센서 측정값 보고
작업 로그 기록TC → 저장위치·시간·실제값을 묶어 As-Applied 파일로 저장

3. TC-Client vs TC-Server

ISOBUS에서 TC는 역할에 따라 두 가지로 구분된다.

구분위치역할
TC-Server트랙터(또는 별도 단말기)처방 맵을 읽고 TC-Client에 명령을 내림
TC-Client작업기 ECU명령을 받아 실제 작업을 수행하고 결과를 보고
flowchart LR
    subgraph 트랙터
        TCS["TC-Server<br>(ISO 11783-10)"]
        GNSS["GNSS 수신기"]
    end

    subgraph 작업기
        TCC["TC-Client<br>(작업기 ECU)"]
        VALVE["밸브 / 액추에이터"]
        SENSOR["유량 센서"]
    end

    GNSS -->|"GPS 위치"| TCS
    TCS -->|"Value Command<br>(Setpoint)"| TCC
    TCC -->|"Process Data Value<br>(Measurement)"| TCS
    TCC --> VALVE
    SENSOR --> TCC
  • TC-Server는 처방 맵에서 현재 GPS 위치에 해당하는 값을 조회하고, 그 값을 TC-Client에 전달한다.
  • TC-Client는 수신한 Setpoint에 맞게 밸브나 모터를 조절하고, 유량 센서 등으로 실제 값을 측정하여 TC-Server에 보고한다.

4. Section Control과 Rate Control

TC의 두 가지 핵심 제어 기능이다.

Section Control

작업기를 여러 구획(Section)으로 나누어 각 구획을 독립적으로 ON/OFF하는 기능이다. 이미 작업한 영역이나 작업이 필요 없는 영역의 구획을 자동으로 끈다.

목적: 중복 살포(Overlap) 방지 → 비료·농약·씨앗 절감

graph TD
    subgraph "살포기 (9m 폭, 3구획)"
        S1["Section 1<br>3m — ON"]
        S2["Section 2<br>3m — ON"]
        S3["Section 3<br>3m — OFF<br>(이미 살포된 구역)"]
    end

    GPS["GPS 위치"] --> TC["TC-Server"]
    TC -->|"Section 3 OFF"| S3
    TC -->|"Section 1, 2 ON"| S1
    TC -->|"Section 1, 2 ON"| S2

Rate Control

GPS 위치에 따라 살포량(Rate)을 가변적으로 제어하는 기능이다. 처방 맵에 지정된 위치별 목표량을 실시간으로 반영한다.

목적: 토양 조건(양분 상태, 수분 함량)에 맞는 정밀 시비·시약

구분설명제어 단위
Section Control구획별 ON/OFF논리 값(켜짐/꺼짐)
Rate Control살포량 가변 조절연속 수치(L/ha, kg/ha)

두 기능은 함께 사용할 수 있다. 예를 들어, 밭의 경계에서 외부 구획은 OFF(Section Control)하면서 내부 구획의 살포량은 위치별로 조절(Rate Control)할 수 있다.


5. GPS 연동과 위치 기반 제어

TC는 GPS 위치 데이터를 이용해 현재 위치에 해당하는 처방 맵의 값을 조회한다.

위치 관련 PGN

ISOBUS에서 GPS 정보는 다음 PGN으로 전달된다.

PGN이름주요 데이터
65267 (0xFF13)Vehicle Position위도(Latitude), 경도(Longitude)
65256 (0xFF08)Vehicle Direction방위각(Heading), 피치, 롤
65265 (0xFF11)Wheel-based Vehicle Speed차속(km/h)

위치 기반 제어 흐름

flowchart LR
    GNSS["GNSS 수신기<br>(NMEA 2000 / NMEA 0183)"]
    PGN["PGN 65267<br>(위도/경도)"]
    TC["TC-Server"]
    MAP["처방 맵<br>(Prescription Map)"]
    CMD["Value Command<br>(Setpoint 전달)"]
    ECU["TC-Client<br>(작업기 ECU)"]

    GNSS -->|"위치 데이터"| PGN
    PGN --> TC
    MAP -->|"위치별 목표값 조회"| TC
    TC -->|"해당 위치 목표값"| CMD
    CMD --> ECU

처방 맵은 일반적으로 격자(Grid) 또는 폴리곤(Polygon) 형태로 밭을 구획하고, 각 구획에 목표 값을 지정해 놓다. TC는 현재 GPS 위치가 어느 구획에 속하는지 계산하고, 해당 구획의 목표 값을 TC-Client에 전달한다.

NMEA와 ISOBUS

GPS 수신기는 NMEA 0183(시리얼) 또는 NMEA 2000(CAN 기반) 프로토콜로 데이터를 제공한다. ISOBUS 네트워크에서는 NMEA 2000과 ISOBUS가 같은 CAN 버스를 공유하거나, 브리지를 통해 연결될 수 있다.


핵심 정리

  • TC(Task Controller)는 ISO 11783-10에 정의된 정밀 농업 컴포넌트로, 처방 맵 기반 자동 제어와 작업 로그 기록을 담당한다.
  • TC-Server는 트랙터 측에서 처방 맵을 읽고 명령하며, TC-Client는 작업기 ECU로 명령을 실행한다.
  • Section Control은 구획별 ON/OFF로 중복 살포를 방지하고, Rate Control은 위치별 살포량을 가변 조절한다.
  • GPS 위치(PGN 65267)를 처방 맵과 대조하여 해당 위치의 Setpoint를 실시간으로 TC-Client에 전달한다.

다음 챕터

  • 다음 : TC 프로세스 데이터
Prev
VT 명령어와 상호작용
Next
TC 프로세스 데이터