본문으로 건너뛰기
버전: 3.2.x

모듈 타입과 Mime

TeamGRIT Agent의 모듈 타입은 총 6가지의 타입이 존재합니다.

  • VIDEO
  • LIDAR
  • CONTROL
  • SENSOR
  • MICROPHONE
  • SPEAKER

각각의 Type에 따라 CoBiz 웹페이지에서 데이터를 처리하는 방식이 달라지기 때문에 데이터 식별을 위해 Mime 데이터를 작성해야 합니다.

아래는 각각의 Type에 대한 설명 및 Type별로 Mime 데이터를 작성하는 방법에 대한 설명입니다.

VIDEO

영상 데이터를 통합하기 위한 타입입니다. 로봇이 보고있는 화면이 될 수도 있고, 캡쳐한 이미지가 될 수도 있습니다. 아래는 CoBiz 웹페이지에서 지원하는 형식에 따라 Mime 데이터가 어떻게 정의되는지를 나타냅니다. (편의상 데이터의 해상도는 VGA 640*480 30fps로 가정하겠습니다.)

  • 이미지 형식
    • JPEG
      • mime: image/jpeg;width=640;height=480;framerate=30;codecs=jpeg
    • PNG
      • mime: image/png;width=640;height=480;framerate=30;codecs=png
  • 비디오 형식
    • H.264
      • mime: video/h264;width=640;height=480;framerate=30;codecs=avc1.42002A
    • H.265
      • mime: video/h265;width=640;height=480;framerate=30;codecs=hvc1.1.6.L123.00
    • VP8
      • mime: video/vp8;width=640;height=480;framerate=30;codecs=vp8
    • VP9
      • mime: video/vp9;width=640;height=480;framerate=30;codecs=vp09.00.31.08
    • AV1
      • mime: video/av1;width=640;height=480;framerate=30;codecs=av01.0.08M.10.0.110.09

LIDAR

라이다 데이터를 통합하기 위한 타입입니다. CoBiz 웹페이지에서는 Google의 Draco 압축 방식(PointCloud2 -> Draco)을 지원합니다.

  • mime: lidar/draco

CONTROL

GamePad에서 나오는 데이터를 활용하여 로봇을 조종하기 위해 정의된 타입입니다. 주로 JSON으로 파싱된 데이터 형식을 지원합니다.

{ "channel": [...] //20 바이트 배열 }
  • mime: text/json

SENSOR

사용자가 필요한 로봇의 센서값을 JSON 형식으로 파싱하여 쓸 수 있습니다. JSON 데이터는 2종류가 있으며 1개의 데이터 깊이만을 지원합니다. 다음은 센서 데이터 예시입니다.

{
"data": {
"motor_left_1": 123,
...
},
"type": "anything you want (low_level, high_level, imu …)"
}
  • mime: text/json

MICROPHONE

로봇에서 송신하는 음성 데이터를 통합하기 위한 타입입니다. CoBiz에서는 Opus 코덱을 사용한 압축 방식을 지원합니다.

  • mime: audio/opus;bitrate=64000;numberOfChannels=1;sampleRate=48000;codecs=opus

SPEAKER

로봇에서 수신하는 음성 데이터를 통합하기 위한 타입입니다.

  • mime: audio/opus;bitrate=64000;numberOfChannels=1;sampleRate=48000;codecs=opus