Research Institute
  • Instrument Cluster Simulator (ICSim) 소개 및 실습하기
    2024년 11월 02일 16시 40분 43초에 업로드 된 글입니다.
    작성자: IIIIIIIIIIIIIIIIIIIIl

    Instrument Cluster Simulator (ICSim)란?

    Instrument Cluster Simulator (ICSim)는 차량의 계기판(Instrument Cluster)을 가상으로 시뮬레이션하는 소프트웨어 도구입니다. 실제 차량의 계기판에 표시되는 다양한 정보와 기능을 테스트하고 개발하는 데 사용됩니다. 차량 내 다양한 전자 제어 장치(ECU) 간의 상호작용을 진행하여 CAN 버스 환경에서 시뮬레이션하는 데 사용되는 도구입니다. 계기판을 시뮬레이션할 수 있는 그래픽 인터페이스를 제공하여 사용자가 실시간으로 CAN 메시지를 시각화하고 상호작용할 수 있게 해줍니다.

    ICsim의 주요 기능:

    1. 시뮬레이션 환경: ICsim은 가상 CAN 버스 환경에 연결되어 사용자가 CAN 메시지를 송수신함으로써 다양한 차량 기능을 시뮬레이션할 수 있습니다.
    2. 계기판 디스플레이: CAN 메시지에 반응하는 계기판 디스플레이가 포함되어 있습니다. 이를 통해 속도, 방향 지시등, 문 열림 상태 등 각 신호에 따른 변화를 시각적으로 확인할 수 있습니다.
    3. 실시간 상호작용: 사용자는 CAN 메시지를 시뮬레이션된 환경에 전송하고 계기판에서 실시간으로 응답을 관찰할 수 있습니다.
    4. CAN 메시지 주입: Python-can과 같은 도구와 결합하여 커스텀 CAN 메시지를 주입하고 테스트 및 개발 용도로 사용할 수 있습니다.

     

    설치하기

    아래와 같이 설치를 진행하고 최종적으로 icsim 바이너리 생성과 ifconfig 명령어를 입력하면 vcan 인터페이스가 정상적으로 잡혀있는지 확인하면됩니다.

    sudo apt-get update
    sudo apt-get install libsdl2-dev libsdl2-image-dev
    sudo apt-get install can-utils meson
    git clone https://github.com/zombieCraig/ICSim
    cd ICSim && ./setup_vcan.sh
    make

     

    실행하기

    ./icsim vcan0 인터페이스를 입력하면 계기판 디스플레이가 나오고 ./controls vcan0을 입력하면 게임패드와 같이 차량을 제어할 수 있는 컨트롤러 디스플레이가 실행됩니다. 해당 컨트롤러를 이용해서 문을 열거나 차량을 후진/전진 등을 수행할 수 있습니다.

    CAN 도구 실습하기

    앞에서 설치한 can-utils은 다양한 CAN 분석에 필요한 도구들을 담고 있으며 해당 도구들을 이용하여 컨트롤러 -> 계기판으로 가는 CAN 프로토콜을 분석할 수 있습니다. 주요 도구별 사용 방법과 목적은 다음과 같습니다.

     

     

     

    참고자료

    https://github.com/zombieCraig/ICSim

     

    댓글