Skip to content

업데이트 ​

허브의 업데이트 타일이나 로고 메뉴의 업데이트로 엽니다. 탭이 둘입니다. 소프트웨어 업데이트는 로봇에서 돌고 있는 소프트웨어와 이 앱 자체를, 펌웨어 업데이트는 로봇 안의 보드를 업데이트합니다(펌웨어 업데이트 참고). 타일은 로봇이 연결되지 않아도 열리며, 관전 중에는 잠깁니다. 타일에 점이 있으면 자동 업데이트가 받아 둔 로봇 패키지가 설치를 기다리고 있거나, 펌웨어를 올려야 하는 보드가 있다는 뜻입니다.

소프트웨어 업데이트 섹션

로봇 소프트웨어 ​

패널 상단에 카드 두 개가 있습니다.

  • 현재 로봇 · Motion — 로봇이 보고한 버전, Branch, Commit, Build.
  • 업데이트 파일 — 보낼 패키지: 선택됨 파일 이름, 버전, 크기, 대상, 그리고 대상 PC 의 시스템 — 우분투 버전과 프로세서입니다(예: u24-x86_64). — 이면 이 기기가 아직 그 로봇에 연결한 적이 없는 것입니다. 구형 (RBQ-*) 이면 시스템을 알리지 않는 구형 로봇 소프트웨어입니다.

패키지 고르기 ​

기기에 패키지를 가져오는 방법은 두 가지입니다.

온라인 — 카드 아래 목록에 이 앱의 배포 채널에 발행된 버전이 표시됩니다(온라인 업데이트 · 인터넷 필요). 버전 확인(또는 새로 고침)으로 목록을 받아온 뒤, 원하는 버전의 다운로드를 누릅니다. 다운로드하면 로봇 패키지(리눅스 데스크탑 앱에서는 앱 빌드도 함께)가 이 기기에 저장되고, 해당 줄에 패키지 크기와 최신 / 사용 중 배지가 표시됩니다. 로봇 패키지는 시스템마다 따로 있습니다. 앱은 로봇에 연결할 때마다 그 로봇의 시스템을 알아내고, 앱이나 기기를 다시 켜도 로봇별로 기억합니다. 다운로드는 허브에서 지금 고른 로봇용이므로, 인터넷 망에서 받은 뒤 로봇 망으로 바꿔 전송하면 됩니다. 이 기기가 그 로봇에 한 번도 연결한 적이 없으면 앱은 모든 시스템용 패키지를 받고(약 네 배 크기), 전송할 때 로봇에 맞는 것을 보냅니다. 구형 (RBQ-*)으로 표시되는 로봇은 대신 옛 RBQ-* 패키지를 받습니다. 로봇은 지금 쓰는 버전보다 옛 버전도 받지 않습니다. 제거는 받아 둔 패키지를 지웁니다. 선택한 버전(선택이 없으면 로봇이 지금 쓰는 버전)의 출시 노트는 목록 아래에 표시됩니다. 다운로드가 끊기면 다운로드를 다시 누르세요. 받은 데부터 이어 받습니다.

USB 또는 파일에서 — USB·파일에서 불러오기를 누릅니다. 시스템 파일 피커가 열리며, USB OTG 드라이브도 다른 저장소와 같이 나타납니다. 스팀덱 게이밍 모드에서는 앱 안의 파일 고르기 창이 대신 열립니다. 홈·다운로드·음악·문서·바탕화면 바로가기와 꽂힌 SD카드·USB가 보이고, 위로로 상위 폴더로 갑니다. 패키지 파일을 고르세요. 그 로봇의 시스템용 패키지여야 하며 이름은 core-<version>-<system>.rbq 형식입니다. 시스템이 표시되지 않는 구형 로봇 소프트웨어는 대신 RBQ-<version>.zip 또는 RBQ-<version>.tar.gz를 받습니다. 업데이트 파일 카드에 파일 이름·버전·크기가 채워집니다.

대상 ​

대상은 패키지를 받을 로봇 PC를 고릅니다: Motion(지금 연결된 로봇 IP) 또는 Vision. Vision은 비전 PC가 따로 있는 구형 로봇에서만 의미가 있습니다. 로봇에 비전 IP가 설정되어 있지 않으면(허브 로봇 프로필의 Vision IP 칸, 또는 주소로 추가할 때의 Vision PC IP (선택) — 둘 다 개발자 모드) 기본 비전 주소로 보내며, 그 사실을 안내 문구로 알려 줍니다.

전송 ​

  1. 로봇 소프트웨어 전송을 누릅니다.
  2. 로봇으로 전송하시겠습니까? 대화상자에 파일·크기·대상이 표시됩니다. 파일이 로봇 패키지이면 전송이 끝나는 즉시 로봇이 압축을 풀고 배포해 실행 중인 소프트웨어가 교체된다고 경고합니다. 대화상자는 다른 이름의 파일이 로봇에 저장만 된다고 안내하지만, 현재 로봇 소프트웨어는 그런 이름을 아예 거부합니다("Rejected file name" 오류). 규격에 맞는 이름의 패키지만 보내세요. 패키지의 시스템이 로봇과 다르거나 로봇이 더는 RBQ-* 패키지를 받지 않으면, 앱은 보내지 않고 로봇을 연결한 채 다시 받으라고 안내합니다.
  3. 전송을 누릅니다. 진행 막대에 퍼센트가 표시되며, 취소로 전송을 중단할 수 있습니다. 연결이 끊기면(망이 잠깐 끊기거나 앱을 내렸다 돌아오면) 카드에 다시 연결 중이 표시되고, 로봇이 받은 데부터 이어서 보냅니다. 파일이 로봇에 다 가면 로봇이 압축을 풀고 설치하는 동안 로봇에서 설치 중이 표시됩니다. 이 단계에는 취소가 없습니다. 연결이 끊겨도 로봇은 설치를 끝까지 하고, 앱이 다시 붙어 결과를 확인합니다. 설치에 실패하면 로봇이 이전 버전으로 되돌리고 앱이 사유를 보여 줍니다.
  4. 성공하면 패널에 ✓ 전송 완료가 표시되고 배포 전송 완료 — 재부팅할까요?를 묻습니다. 대상이 Vision이면 비전 PC는 앱에서 재부팅할 수 없다는 안내만 표시되고 확인으로 닫힙니다.

재부팅 ​

로봇 소프트웨어는 로봇 서비스를 재시작하거나 로봇 PC를 재부팅해야 적용됩니다. 대상이 Motion이면 재부팅 안내에 로봇 서비스 재시작과 로봇 PC 재부팅 버튼이 있고, 그 아래에 나중에가 있습니다. 로봇 서비스 재시작은 PC를 켜 둔 채 로봇 소프트웨어만 다시 시작하며, 업데이트 반영에는 이것으로 충분합니다. 그 서비스 없이 설치된 로봇에서는 재시작 요청 실패가 뜨니 로봇 PC 재부팅을 쓰세요.

WARNING

재부팅하면 모터 전원이 끊겨 로봇이 주저앉습니다. 재부팅 전에 로봇이 앉은 상태여야 합니다 — 먼저 앉히고 바닥에 앉아 있는지 확인한 뒤, 재부팅 중에는 로봇을 움직이지 마세요. 로봇이 서 있으면 로봇 서비스 재시작은 거부되어 재시작 요청 실패가 뜨고, 로봇 PC 재부팅은 오류 없이 무시됩니다. 로봇이 재시작하는 동안 앱 연결이 끊깁니다. 이후 다시 연결해 현재 로봇에 새 버전이 표시되는지 확인하세요.

비전 PC는 앱에서 재부팅할 수 없습니다. 대상이 Vision이었다면 해당 PC를 직접 재부팅하세요.

이 앱 ​

GUI Version 줄에 실행 중인 앱의 버전과 배지가 표시됩니다.

  • 배지 없음 — 정식 빌드,
  • NIGHTLY — 나이틀리 빌드(목록에 정식 목록 대신 나이틀리 빌드 · 최근 10일치 보관이 표시됩니다),
  • LOCAL — 배포 채널이 없는 로컬 빌드로, 업데이트를 확인하지 않습니다.

그 옆의 로봇과 일치(체크 표시 포함) 또는 로봇과 다름은 앱 버전과 로봇 버전을 비교한 결과입니다. 두 버전을 같게 맞춰 두는 것이 정상 조합입니다.

버전 목록을 받아온 뒤 더 새로운 앱이 있으면 업데이트 버튼이 나타납니다.

  • 스토어에서 업데이트 — 스토어 설치본(Google Play / App Store). 스토어 앱이 열리므로 거기서 설치합니다.
  • <version> 업데이트 — APK·데스크탑 설치본. 앱이 빌드를 받아 설치합니다. 안드로이드는 시스템 설치기로 넘기고, 리눅스 데스크탑 앱은 새 빌드로 전환하며, 윈도우 앱은 설치기를 실행합니다 — 앱이 바로 닫혔다가 새 버전으로 다시 열리므로 로봇 연결이 끊깁니다. 윈도우에서는 먼저 확인 창(앱 업데이트)을 띄우고, 연결된 로봇이 서 있으면 로봇이 서 있습니다 — 업데이트하면 앱이 닫혀 연결이 끊깁니다. 로봇을 앉힌 뒤 다시 누르세요로 막습니다. 설치기를 실행하기 전에 받은 파일을 배포된 체크섬과 대조해, 다르면 멈춥니다. 더 새로운 버전이 없으면 최신 버전입니다가 표시됩니다.

리눅스 데스크탑 앱에서는 받아 두고 설치하지 않은 빌드를 온라인 설치로 등록할 수 있고, 목록의 받아 둔 빌드는 앱 설치로 전환할 수 있습니다.

나이틀리 빌드는 나이틀리 릴리스만, 정식 빌드는 정식 릴리스만 봅니다. 채널은 앱을 빌드할 때 정해집니다.

펌웨어 업데이트 ​

펌웨어 업데이트는 로봇 안에 있는 보드(다리 모터 16개, PDU, IF, SIDE_F, SIDE_H, TOP)의 펌웨어를 로봇에 들어 있는 최신 파일로 올립니다. 로봇 PC의 소프트웨어를 바꾸는 소프트웨어 업데이트와는 다른 탭입니다. 보드마다 어느 파일을 쓸지는 로봇이 그 보드의 hw를 읽고 정합니다. 로봇에 그 종류의 펌웨어 파일이 hw를 이름에 단 것으로 하나도 없으면 그 보드는 대상 아님으로 두고 건너뜁니다.

다리 모터 16개는 모두 같은 펌웨어여야 하므로 묶음 하나로 봅니다. 화면의 수와 목록에서도 모터는 한 항목(모터(n개))입니다. 버전이 같아도 파일과 내용이 다른 모터는 다시 굽고, 모터끼리 펌웨어가 다르면 위쪽에 배너가 뜹니다. 모터를 올리는 중에 한 장이라도 올릴 수 없으면(동의하지 않은 다운그레이드 등) 로봇은 모터를 하나도 굽지 않고 이유를 알려 줍니다.

행동작
상태보드 수를 업데이트 가능 · 최신 · 확인 필요로 나눠 보여 줍니다. 모터 묶음은 하나로 셉니다. 답하지 않는 보드는 응답 없음, 건너뛰는 보드는 대상 아님으로 따로 셉니다. 버전 확인을 누르면 로봇이 보드마다 버전과 hw를 다시 읽습니다. 로봇이 서 있거나 걷는 동안에는 누를 수 없습니다.
전체 업데이트올릴 보드를 PDU → IF → SIDE_F → SIDE_H → TOP → 다리 모터 순서로 하나씩 올립니다. 누르면 확인 창부터 뜹니다.

WARNING

전체 업데이트는 다리·팔 전원을 끄고 진행하며, 끝나도 다리·팔 전원은 꺼진 채로 남습니다. 끝나면 로봇을 다시 기동하세요. 다리 모터를 올릴 때만 다리 전원을 잠시 켭니다. PDU를 올리는 동안 UPC 전원이, TOP을 올리는 동안 12V 포트가 잠시 꺼집니다. 로봇이 앉아 있거나 제어가 꺼져 있을 때만 시작할 수 있고, 관절에 제어가 들어가 있으면 앉아 있을 때만 시작할 수 있습니다. 비상정지가 걸린 뒤라도 다리 전원이 꺼져 있으면 시작할 수 있습니다(hw 기록이 없는 TOP 은 비상정지를 걸어 둡니다).

전체 업데이트를 누를 수 없으면 그 행 아래에 이유가 나옵니다.

  • 구동 중입니다 — 로봇을 앉힌 뒤 다시 시도하세요 — 로봇이 서 있거나 걷고 있습니다. 관절에 제어가 들어가 있는데 로봇이 앉아 있지 않을 때(자동 기동 중 등)도 이 이유가 나옵니다.
  • 다른 기기가 조종 중입니다 — 다른 기기가 조종권을 쥐고 있습니다.
  • 확인이 필요한 보드가 있습니다 — 로봇에 그 보드에 맞는 파일이 없거나, 보드의 hw를 몰라 파일을 정할 수 없습니다. 보드 이름과 이유가 함께 나옵니다. 이런 보드가 하나라도 있으면 전체 업데이트를 하지 않습니다.
  • 업데이트할 보드가 없습니다 — 모든 보드가 최신이거나 대상 아님입니다.
  • 로봇이 펌웨어 작업을 하는 중입니다 — 끝난 뒤 다시 시도하세요 — 로봇이 다른 펌웨어 작업을 하고 있습니다.
  • 로봇 소프트웨어가 이 기능을 지원하지 않습니다 — 소프트웨어 업데이트를 먼저 하세요

부트 상태에 남은 보드는 hw를 몰라도 막지 않습니다. 업데이트하면 로봇이 그 보드를 앱으로 보내 hw를 다시 읽은 뒤 맞는 파일로 올립니다. 다리 전원이 꺼져 모터가 하나도 답하지 않을 때도 막지 않습니다. 이때는 로봇이 업데이트하면서 다리 전원을 켜고 모터를 확인합니다.

확인 창 하나에 올릴 보드와 동의할 내용이 모두 나옵니다. 다리나 팔에 제어가 들어가 있으면 전원을 내리고 진행한다는 문장이 붙고, 버튼이 전원 내리고 업데이트로 바뀝니다. 보드에 있는 것보다 낮은 버전으로 내려가는 보드가 있으면 그 보드와 두 버전이 적히고(모터는 한 줄로 묶어서), 다른 변형의 펌웨어가 돌던 보드는 맞는 변형으로 바꾼다는 문장이 붙습니다. 다리 전원이 꺼진 채 확인했다면 모터의 판정을 몰라 모터 다운그레이드에는 동의할 수 없습니다. 모터를 내려야 하면 다리 전원을 켠 채 버전 확인을 다시 누르세요. 창을 연 뒤 로봇의 확인 결과가 바뀌면 업데이트를 보내지 않고 바뀐 내용으로 다시 묻습니다.

진행하는 동안에는 같은 자리에 단계 목록(48V 끄기, 보드 이름, 다리 켜기, 모터, 다리 끄기)이 나옵니다. 지금 올리는 보드에는 진행 막대가 붙고, 다시 보내는 중이면 재시도 1/3처럼 횟수가 나옵니다. 중간에 멈추는 버튼은 없고, 이 화면을 닫아도 로봇에서 계속 진행됩니다. 끝나면 업데이트 완료 — 보드 n개와 함께 전원이 꺼진 채라는 안내가 나옵니다. 실패하면 이유가 나오고 로봇은 다리 전원을 끈 채 멈춥니다. 보드 전송이 실패하면 로봇은 처음 전송 뒤 세 번까지 다시 보내 보고, 그래도 안 되면 그 보드를 부트 상태로 두고 멈춥니다. 잠시 뒤 다시 업데이트하세요.

연구 화면에서 시작한 모터 부트 교체도 여기에 부트 교체와 모터 이름으로 나오고, 단계는 갱신 앱 확인 중, 부트 보내는 중, 부트 쓰는 중, 새 부트 확인 중으로 나옵니다. 도는 동안에는 전원을 끄지 마세요.

부트로더가 BOOT0 261027 보다 옛 판이거나 로봇이 부트로더 판을 읽지 못한 다리 모터에는 261028 이상의 모터 펌웨어를 올리지 않습니다. 이 펌웨어는 EEPROM 이 비어 있으면 데이터 구간을 3M 으로 시작하는데 옛 부트로더는 4M 으로만 말해서, 올리면 다음 업데이트에서 보드를 놓치기 때문입니다. 이때 업데이트는 HRP의 부트로더가 옛 판이라 이 펌웨어(261028 이상)를 올리지 않았습니다. 올리면 다음 업데이트에서 보드를 놓칩니다. 연구 화면에서 부트 교체(BOOT0 261027 이상)를 먼저 한 뒤 다시 업데이트하세요. 처럼 이유를 내고 멈춥니다. 부트로더를 먼저 바꾼 뒤 다시 업데이트하세요.

상단 배너 ​

허브와 다른 화면 위쪽에 다음 배너가 뜰 수 있습니다.

  • 펌웨어 업데이트가 필요한 보드가 있습니다 (IF) — 부트 상태에 남은 보드가 있거나, 그 보드의 hw를 지원하지 않는 펌웨어가 올라가 보드가 대기하고 있습니다. 열기를 누르면 이 섹션으로 옵니다.
  • 모터 펌웨어가 섞여 있습니다 — 펌웨어 업데이트를 하세요 — 모터끼리 펌웨어 버전이나 판정이 다릅니다. 열기를 누르면 이 섹션으로 옵니다.
  • hw 기록이 필요한 보드가 있습니다 — 관리자 문의 — 보드에 hw가 기록되어 있지 않아 대기하고 있습니다. 업데이트로는 풀리지 않습니다.
  • EEPROM이 응답하지 않아 대기 중인 보드가 있습니다 — 관리자 문의 — 보드가 hw를 읽지 못해 대기하고 있습니다. 업데이트로는 풀리지 않습니다.

배너 오른쪽의 X로 닫을 수 있습니다. 다른 보드가 걸리거나 로봇에 다시 연결하면 다시 뜹니다.

개발자 모드에서 더 나오는 것은 개발자 모드에 모아 두었습니다.

This user manual is intended for RBQ users.