2P by GN⁺ | ★ favorite | 댓글 1개
  • Low-Cost Robot Arm 저장소는 약 $250로 만들고 제어할 수 있는 로봇 암 파일을 제공하며, 별도 leader arm을 추가하면 총 약 $430 구성으로 follower arm을 조작할 수 있음
  • follower arm은 Dynamixel XL430XL330 서보를 함께 쓰며, XL430은 처음 두 관절에 쓰이고 XL330은 18g으로 가벼워 암을 가볍고 빠르게 만드는 데 사용됨
  • Dynamixel의 U2D2 adapter는 비싸고 지연 시간이 높아, 이 빌드는 더 저렴한 Waveshare Serial Bus Servo Driver Board를 사용하며 Dynamixel SDK로 제어 가능함
  • 제작에는 3D 프린팅, 각 모터의 baudrate 1M 설정, servo ID 지정, 전압 감압기 조정이 필요하며 XL330 입력 전압은 Dynamixel Wizard에서 확인해 5V로 맞춤
  • leader arm은 5V 모터만 사용해 조립이 더 단순하고, teleoperation.py로 두 암을 테스트할 수 있으며 simulation.py로 기본 MuJoCo 시뮬레이션 환경을 실행할 수 있음

프로젝트 개요

  • Low-Cost Robot Arm 저장소는 저비용 로봇 암을 만들고 제어하기 위한 파일을 포함함
  • 기본 follower arm 비용은 약 $250이며, leader arm을 추가하면 약 $180가 더 들어 총 $430 구성임
  • 모든 부품을 한 패키지로 받기 위한 대기자 명단은 https://tau-robotics.com/robots에서 제공됨
  • leader arm 설계는 GELLO project에서 영감을 받았지만, 더 쉽게 만들 수 있도록 단순화됨
  • 이 로봇 암은 robot learning에 적합하며, 두 대를 사용하면 옷 접기도 가능함

서보와 제어 방식

  • follower arm은 Dynamixel XL430Dynamixel XL330 서보 모터를 사용함
    • XL430은 XL330보다 거의 두 배 강하며 첫 두 관절에 사용됨
    • XL330은 더 약하지만 각각 18g으로 가벼워 암을 가볍고 빠르게 만듦
  • Dynamixel은 서보를 컴퓨터에 연결하기 위해 U2D2 adapter를 판매하지만, 이 빌드는 비용과 지연 시간 문제 때문에 더 저렴한 어댑터 보드를 사용함
  • 로봇 암은 Dynamixel SDK로 제어할 수 있음
    • 설치 명령: pip install dynamixel-sdk

Follower Arm 구성

  • follower arm의 총 부품 비용은 $258로 정리되어 있음
  • 주요 부품은 다음과 같음
    • 2x Dynamixel XL430-W250: $100
    • 4x Dynamixel XL330-M288: $96
    • XL330 Idler Wheel: $10
    • XL430 Idler Wheel: $7
    • Waveshare Serial Bus Servo Driver Board: $10
    • Voltage Reducer: $10
    • 12V Power Supply: $12
    • Table Clamp: $6
    • Wires: $7
  • Robotis shop에는 보통 10% 할인 코드가 있음
  • 그리퍼에는 grip tape를 추가하는 것이 도움이 될 수 있음
  • servo driver board를 컴퓨터에 연결하려면 USB-C 케이블이 필요함

Follower Arm 조립 흐름

  • 조립 영상은 https://youtu.be/RckrXOEoWrk에서 제공됨
  • 모든 부품은 3D 프린터로 출력함
    • STL 파일은 hardware/follower/stl에 있음
    • 부품은 출력하기 쉽게 설계됐으며, 그리퍼의 움직이는 부품만 support가 필요함
  • 모터 스캔 단계는 다음과 같음
    • driver board를 컴퓨터에 연결하며 Linux와 MacOS에서 동작해야 함
    • MacOS 예시처럼 ls /dev/tty.*로 장치 이름을 확인함
    • Dynamixel Wizard로 각 모터를 개별 스캔함
    • 모든 모터의 baudrate를 1M으로 설정함
    • servo ID는 어깨부터 그리퍼까지 1에서 5로 설정하며, elbow-to-wrist extension을 쓰면 6까지 설정함
  • 조립 단계에서는 CAD와 같은 위치로 서보를 고정하고, servo horn은 나사로 고정할 때 기본 위치에 있어야 함
  • 전원 구성에서는 voltage reducer에 납땜하고, driver board와 base에 고정한 뒤 연결함
    • voltage reducer 입력은 driver board의 V와 G 포트에 연결함
    • 출력과 driver board의 남은 D 포트는 elbow servo에 연결함
    • XL330 servo에 연결한 뒤 Dynamixel Wizard에서 입력 전압을 확인하고, voltage reducer의 나사를 조정해 5V로 맞춤

Leader Arm과 시뮬레이션

  • leader arm의 총 부품 비용은 $183
  • 주요 부품은 다음과 같음
    • 6x Dynamixel XL330-M077: $144
    • XL330 Frame: $7
    • XL330 Idler Wheel: $10
    • Waveshare Serial Bus Servo Driver Board: $10
    • 5V Power Supply: $6
    • Table Clamp: $6
  • leader arm은 모든 모터가 5V를 사용해 조립이 더 단순함
  • 그리퍼는 handle과 trigger로 대체됨
  • 사용 중 trigger에 작은 torque를 적용하면 기본적으로 열리게 할 수 있음
    • GELLO 설계는 이를 위해 spring을 사용하지만, 조립이 훨씬 더 어려움
  • teleoperation.py 스크립트로 암을 테스트할 수 있음
    • 다만 장치 이름은 조정해야 할 수 있음
  • simulation.py를 실행하면 기본 MuJoCo 시뮬레이션 환경을 사용할 수 있음

댓글과 토론

Hacker News 의견들
  • 비슷한 크기의 로봇 팔을 만들기 시작했음. 유리공예가인 오랜 친구가 있어서, 다면 가공 유리 펜던트를 만드는 용도로 생각 중임
    친구에게 다면 가공 기계가 있긴 하지만 수동식임
    어려운 부분은 반복 정밀도임. 공차가 빡빡해야 하고, 팔의 각 관절은 베이스에서 멀어질수록 오차를 키움. 베이스가 1mm 흔들리면 20cm 팔 끝에서는 4mm 흔들리고, 그 뒤의 팔은 더 커짐
    다면 가공 용도라면 감속기 없는 서보보다 훨씬 더 미세한 해상도가 필요함. 감속은 까다로운데, 관절을 단단히 유지하려면 백래시가 필요하지만 움직일 때 마찰이 커질 정도면 안 됨. 웜기어는 느리고 지나치게 강성이 높아서 별로고, 팔 내부 기어에는 사이클로이드 감속기가 가장 나아 보임. 유리를 집는 건 꽤 위험하니 어느 정도 피드백이 있는 진짜 서보도 필요함
    제작비는 1~2천 달러 정도로 추산했고, 대부분은 감속기 비용임

    • 산업용 로봇의 놀라운 점 중 하나는 정지 상태에서 얼마나 강성이 높은지임. 속도와 하중이 커지면 제동 시스템도 어려운 과제가 됨
      하드웨어를 어떻게든 작동하게 만든 뒤에도, 운동학 해석기를 제대로 동작시키는 일이 엄청난 난제임. 예외 상황이 많고, 실시간 피드백을 처리해야 하며, 사용성과 신뢰성 사이의 균형도 맞춰야 함. 로봇 회사들이 비싼 값을 받는 지점이고, 그럴 만함
      로봇 팔을 만들지 않고 더 단순한 운동 구조로 대체할 수 있다면 그렇게 하는 편이 좋음. 그래도 그걸 만든다면 정말 대단함
    • 과거에 비슷한 프로젝트를 해봤고, 몇천 달러 범위에서 성능 한계를 밀어붙이는 로봇 팔이었음. 스테퍼 모터와 백래시가 충분히 낮은 감속기로 꽤 좋은 결과를 얻었음
      참고로 사람 팔을 어느 정도 모델링하려던 설계였고, 도달거리 약 80cm에서 2.5kg 하중으로 약 1mm 반복 정밀도까지 갔음
      구체적으로는 말단 장치 하중 요구사항에 따라 NEMA34, 24, 17을 섞어 쓸 수 있음. 앞쪽 관절에는 더 큰 모터를 씀. 예산이 있으면 사이클로이드나 하모닉 감속기를 쓰면 되고, 아니면 각 액추에이터(모터+드라이버+감속기+축 커플링)가 공급처와 요구사항에 따라 대략 100~200달러 정도임. 폐루프 시스템은 50달러쯤 추가됨. 가격 면에서 아주 나쁘진 않음. 베이스 관절에는 하중을 더 잘 분산하는 넓은 원통형 감속기가 필요함
      가공소와 협업할 수 있다면 꽤 고품질로 만들 수 있다고 봄. 설계 참고 예시는 아래와 같고, 일부는 취미 제작자로 내가 만들 수 있었던 것보다도 더 좋아 보임
      https://www.youtube.com/watch?v=7z6rZdYHYfc 이건 훌륭함. 더 작고 가벼운 버전을 천천히 움직이면 베이스 흔들림이 더 줄어들 것임
      https://www.youtube.com/shorts/II8gdIXPgaE 원글과 더 비슷함
      https://www.youtube.com/shorts/_x7P9eZCkVM
      https://www.youtube.com/watch?v=g9AfhqOd-_I 본 것 중 가장 전문적이고, 이 부품표도 거의 확실히 3천 달러 아래, 중국에서는 아마 1천 달러 아래일 것임. 너무 멋져서 이 회사에 더 작은 모델을 파는지 메일을 보내볼 생각임
      https://www.youtube.com/watch?v=iB2NAgfVjIs Chris Annin도 꼭 볼 만함. 저가형 오픈소스 스테퍼 모터 로봇을 가장 잘 만드는 미국 로봇공학자 중 한 명이라고 봄
    • 이걸 비싼 하드웨어 대신 소프트웨어로 해결할 수는 없을까?
      예전에 생각했던 아이디어는 큰 움직임은 싸고 “흔들리는” 부품으로 만든 팔이 담당하고, 끝부분에는 이동 범위는 작지만 매우 정밀하게 제어 가능한 스테이지를 추가하는 방식임
      마지막으로 도구의 실제 위치가 목표 위치에서 얼마나 벗어났는지 매우 정밀하게 추적하는 방법을 붙임. 예를 들면 도구에 장착한 카메라일 수 있음
      그러면 소프트웨어 피드백 루프가 도구의 편차를 추적하고, 끝부분의 “보정” 스테이지로 이를 상쇄할 수 있음
      다만 실제로 될지는 모르겠음. “상쇄”에 걸리는 시간도 문제임. 집어서 놓기처럼 경로 끝에서 결국 목표 위치에 도착하면 되는 경우와, 식각이나 용접처럼 전체 경로에서 최대 편차 이하를 유지해야 하는 경우는 다름
    • 이런 생각을 자주 하지만 시간을 못 내고 있음. Nvidia Omniverse 안에서 팔을 만들고, 저렴한 고해상도 거리/각도 센서 같은 피드백을 추가한 다음, 이를 보정하는 기계학습 모델을 훈련할 수 있지 않을까?
    • 하드웨어는 잘 모르고 주로 소프트웨어 쪽이라 완전히 틀릴 수도 있음
      이런 상황에서 스테퍼 모터를 사이클로이드 감속기로 크게 감속해서 쓰면 어떨까? 머릿속으로는 위치를 매우 제어 가능하고 반복 가능하게 만들고, 백래시는 주로 감속기가 처리해줄 것 같음
      내가 틀렸다면 알고 싶음. 말했듯 소프트웨어 쪽 사람이 하드웨어에 발을 들여보려는 중임
  • 저렴하고 고품질이며 어느 정도 표준화된 로봇 팔을 대량생산하는 회사가 아직 뚜렷이 없다는 게 놀라움. 3D 프린터나 CNC 기계 같은 것들은 소비자/아마추어 가격대로 내려왔는데, 이 영역은 아직 많이 개척되지 않은 듯함
    Arduino나 Raspberry Pi급 잠재력이 있어 보이지만, 그 정도로 유명한 이름이나 생태계는 아직 못 들어봄

    • 한동안 로봇 팔을 개발하는 스타트업에서 일했음. 알게 된 건, 합리적인 API가 있고 무료로 제공되는 로봇 팔을 누군가에게 줘도 별 도움이 안 된다는 점임. 어려운 부분은 쓸모 있는 자동화를 만드는 것이기 때문임
      대부분은 몇 시간 가지고 놀다가 선반 위에 올려둠
      사용 사례마다 완전히 다르고 작업량도 큼. 뭔가 작동하게 만들어도, 책상을 실수로 흔들거나 팔이 무언가에 부딪히면 좌표가 전부 깨져서 다시 시작해야 함
      실제 기계 구조도 정말 복잡함. 50cm 도달거리에서 의미 있는 하중을 들려면 베이스 관절에 매우 높은 토크가 걸리고, 동시에 초고정밀도 필요함. 그러려면 비싼 기어와 모터가 필요하고, 어느 것도 싸지 않음
      안전 문제도 있음. 쓸만한 하중을 드는 팔은 꽤 무겁고, 그 정도 질량이 휘둘러지면 안전 시스템이 필요함. 이것도 싸지 않음
      약간 하드웨어판 노코드 같음. 로봇 팔 프로그래밍은 본질적으로 어렵기 때문에 쉽게 쓸 수 있는 로봇 팔을 만들기 힘듦. 이걸 바꿀 수 있는 건 정말 좋은 AI뿐이라고 봄
    • 표준적인 취미용 로봇 팔이 없는 데는 이유가 있음
      사람들은 “진짜” 로봇 팔보다 싸게 직접 만들 수 있다고 생각하지만, 흔들림과 반복 정밀도를 계산에 넣지 않음
      HN에 RC 서보로 만든 로봇 팔 설계를 올린 사람에게는 존중을 표하지만, 반복 정밀도 측정값을 보고 싶음. 일주일 동안 매일 같은 패턴을 종이에 그려보게 하고, 7개의 선이 얼마나 겹치는지 보여달라는 것임. 그런 걸 그릴 수 있을지도 의심됨. 종이를 찢거나, 종이를 찢을 힘도 없이 걸려버릴 수 있음
      근거로는 1980년대부터 취미 로봇을 만들었고, 1990년대에는 석사 논문을 포함해 로봇을 연구했으며, 지난 10년 대부분을 로봇공학을 가르치며 보냈음
    • 이 스레드와 “로봇 팔의 쓸모를 찾은 사람이 있나?”라는 여러 질문에 대한 답을 훑어보면 왜 그런 회사가 없는지 알 수 있음. 단순히 소비자급 시장이 없음
    • 그런 제품은 있긴 한데, 현재 범용 로봇에서 도달거리 1.2m 정도면 “저렴”이 약 1만 유로임. 그 돈이면 고품질 기계와 소프트웨어를 받는 것임
      아주 좋은 운동학 소프트웨어가 없는 로봇은 거의 못 쓸 수준이라는 점도 중요함. 팔 외에도 전력과 명령을 실시간으로 안정적으로 전달하는 제어 박스가 필요하고, 이 비용도 꽤 붙음
    • 먼저 스스로에게 어떤 문제를 풀려는지 물어봐야 함
      정의하고 나면 거의 모든 경우에 6자유도 로봇 팔보다 훨씬 단순하고 저렴한 해법이 있다는 걸 금방 알게 됨
      실제로 그런 로봇 팔이 꼭 필요한 경우라면, 모든 요소를 감안했을 때 1만~2만 달러는 꽤 싼 편임
  • 야심을 조금 낮춰서, 사람을 따라다니고 물건을 실어 나르며 장애물을 피하는 저가형 로봇 플랫폼부터 시작하면 어떨까? 팔은 없어도 되고, 물건을 올리고 내리는 건 내 팔로 해도 괜찮음
    다리를 다쳐 목발을 썼을 때, 물건을 들고 다니는 게 갑자기 문제가 됐음. 이동이 불편한 사람은 많음. 꼭 그런 경우가 아니어도 물건을 자주 엉뚱한 곳에 두는데, 이런 데도 도움이 될 수 있음
    AliExpress에는 장난감 로봇 하부 플랫폼이 많지만, 가장 큰 치수가 20cm 미만이라 실용적이기엔 너무 작음

  • 아무도 이걸 가리키지 않은 게 놀라움
    https://github.com/peng-zhihui/Dummy-Robot
    다만 읽기는 좀 어려울 수 있음

  • 괴짜로서는 군침이 돌지만, 실제로 집에서 쓸 만한 로봇 팔 용도를 찾은 사람이 있을까? 해킹은 좋은 프로젝트가 있을 때 항상 더 재미있음

    • 부활절 긴 주말 뒤 아이들이 남긴 거대한 Lego 더미를 집어 분류하는 데 쓰고 싶음. 블록 데이터베이스 말뭉치 품질이 높으니 식별은 별로 어렵지 않아 보임
      아주 빠를 필요도 없음. 밤새 돌려두면 됨
      이상적인 분류 알고리즘에 관한 흥미로운 논문도 누군가 썼을 것 같음. 예를 들면 큰 것부터 작은 것 순서인지, 아니면 그냥 가장 가까운 걸 집어 옮기는 방식인지 같은 것임. 개인적으로는 기본 세트로 분류한 뒤 트레이를 제발 원래 서랍에 다시 넣게 만들고 싶음
    • 비실용적인 용도라면, 멀티 모니터 구성에서 모니터 암 몇 개를 로봇 팔로 대체하는 것임. 그러면 몇 가지 배치 사이를 빠르게 전환할 수 있음
      또 하나는 주방에서 파스타를 저어주는 팔임
    • 별로 없음. 책상 위에 UArm이 있는데, 이 제품과 꽤 비슷하지만 더 싼 서보를 씀. 정확도가 너무 낮아서 거의 아무 데도 못 썼음
      3D 마우스로 힘 피드백 센서도 만들어 붙였음. 아이디어는 괜찮았지만, 그 용도에는 충분히 단단하지 않았음
    • 이 스레드에서 일시적 장애를 겪었던 독자가 실용적인 용도 아이디어를 올렸음
      https://news.ycombinator.com/item?id=39903953
    • Roboexotica는 이런 팔 여러 개로 생산 라인을 만들라고 외치고 있음
      http://roboexotica.at/
  • 이게 흥미롭다면 이것도 좋아할 수 있음. DIY는 아니고 완제품으로 옴
    https://www.waveshare.com/roarm-m2-s.htm
    하나 가지고 있는데, 가격대를 생각하면 빌드 품질이 정말 인상적임

    • 한때 진지하게 구매를 고려했던 5자유도 버전도 있음. 다만 ROS 2 통합이 괜찮은지 판단하기가 정말 어려움: https://www.waveshare.com/product/robotics/roarm-m1.htm
      6자유도 버전이 없다는 게 정말 아쉬움. 팔 주변 반경 안에서 무언가를 제대로 잡으려면 그게 필요함
    • 전혀 필요는 없지만, 책상 위에는 꼭 하나 두고 싶은 물건임
    • Amazon 같은 곳에도 이런 게 있을까?
    • 소프트웨어 지원은 어떤가?
  • 이게 얼마나 무거운 걸 들 수 있는지 아는 사람이 있을까?
    홈짐에서 운동할 때 눈 추적으로 선풍기를 조작해서 얼굴에 바람이 오게 하고 싶은데, 선풍기가 몇 파운드 나감
    대안으로 이런 프로젝트에 쓸 하드웨어 모터 추천도 궁금함

    • 이런 로봇 대부분은 서보 모터를 씀. 기민한 동작은 가능하지만, 어떤 위치든 유지하려면 계속 유지 토크가 필요하다는 뜻이고, 하중이 제한되며 전력도 많이 낭비됨
      무거운 선풍기라면, 움직이는 공기의 반작용도 잊으면 안 됨. 팔에 달기보다 어떤 베어링 위에 올리고 모터로 회전만 시키는 편이 나음. 그러면 모터가 계속 중력과 싸우지 않아도 됨
      여기 링크된 로봇 팔은 Dynamixel 서보를 쓰는데, 그중 하나만 써서 회전 받침 위 선풍기를 돌릴 수도 있음. 훨씬 싸고 덜 복잡함
    • 대부분의 무게를 팔에서 빼면 어떨까? 베이스에 설치한 선풍기나 압축기를 쓰고, 팔로는 덕트만 연결하는 방식임. 그러면 무거운 모터가 아니라 덕트만 움직이면 됨
  • Thor 3D 프린트 팔을 만들고 있었는데, 이 프로젝트가 훨씬 좋아 보임. 방향을 바꿔야겠음
    덧붙이면, 이 서보들은 판을 바꾸는 물건임

    • 이 서보들이 SG90보다 나은가?
  • 오래된 Dynamixel 사용자로서, U2D2 어댑터가 다른 선택지에 비해 비싼 건 동의함. 다만 “지연이 매우 높다”는 주장에는 어느 정도 정량화가 필요해 보임
    여러 플랫폼에서 항상 낮은 지연, 대략 1ms 수준을 기대할 수 있는 안정적인 선택지라고 느꼈음

  • 서보 3개를 붙여놓고 로봇을 만들었다고 주장하는 건 이제 그만했으면 함 :D
    서보 움직임이 꽤 덜컥거리기 때문에 이 “로봇”이 작동하는 모습을 보여주는 영상이 없는 것임

    • 로봇이 움직이는 영상은 여기 있음: https://twitter.com/alexkoch_ai. 이 로봇 팔 설계의 장점은 매우 가볍다는 것임
      XL330 모터는 각각 18g밖에 안 됨. 그래서 원격 조작과 로봇 학습에 매우 적합함
    • 로봇공학을 더 깊게 해본 입장에서는 그 감정이 완전히 이해됨. 그래도 기본적인 내용을 공유하도록 장려하는 것도 좋다고 봄. 이 스레드에서도 많은 입문자가 흥미를 느끼고 더 파고들 수 있음
      괜찮은 제어 알고리즘을 쓰면 저가 서보 기반 로봇 팔을 얼마나 부드럽게 움직일 수 있을지 궁금함