로봇 제작에 들어가는 요소

로봇을 프로그래밍하는 것만으로도 로봇이 무엇으로 만들어 졌는지 알면 도움이됩니다.

로봇에 관심이있는 개발자 또는 제작자라면 로봇을 프로그래밍하거나 수정하기 위해 더 이상 로봇을 제작 할 필요가 없기 때문에 요즘 운이 좋을 것입니다. 로봇 회사는 마침내 조립이 필요없는 고급 구성 요소와 기능을 갖춘 고성능 로봇을 생산하고 있습니다. 대신 상자에서 꺼내 자마자 그들을위한 기술과 액세서리를 만들 수 있습니다. 이 분야의 우리에게는 큰 일입니다.

그래도 로봇에 관심이 있으시다면 최소한 어떤 시점에서 간단한 로봇을 조합하는 것을 고려 하는 것이 좋습니다. 로봇이 최신 고급 기능을 모두 갖추지는 못할 수도 있지만 훌륭한 학습 경험입니다. 또한 나만의 로봇을 제작하면 상업용 로봇의 배후에서 진행되는 엔지니어링에 대한 좋은 평가를받을 수 있습니다.

다른 것이 없다면 나만의 로봇을 만드는 것은 지식의 공백이 어디에 있는지 쉽게 알아낼 수있는 방법입니다. 아무도 모든 것을 알지 못하므로 온라인 리소스 (많은 단계별 자습서가 있음)를 사용하거나 지역 모임에 참여하는 것이 좋습니다.

처음부터 시작하겠습니다. 여기서 자세히 설명하지 않습니다 . 목표는 단지 ​​세계지도를 제공하는 것입니다. 정확한 목적지를 선택하는 것은 귀하에게 달려 있습니다.

이동

대부분의 사람들은 로봇을 생각할 때 모바일 플랫폼을 생각하지만 모든 로봇이 움직이는 것은 아닙니다. 이동성은 필수 사항은 아니지만 로봇이 자신의 환경을 탐색 할 수 있다면 살아 있다고 느끼는 데 도움이됩니다.

선택할 수있는 많은 이동 시스템이 있습니다. 바퀴가 달린베이스가 있는데, 꽤 일반적이고 작업하기 쉽습니다. 헥사 포드와 같은 다 다리 시스템을 사용하면 로봇이 바퀴보다 거친 지형을 곤충처럼 걸을 수 있지만 구현하기가 더 어렵습니다. 물론, 일부 이륜 균형 로봇, 심지어 이족 보행 로봇과 같은 더 이국적인 이동 시스템이 있습니다.


어떤 종류의 이동 플랫폼을 원하십니까? 이 예에서는 기성 바퀴가 달린 플랫폼을 사용해 보겠습니다. 개인화하여 자신 만의 것으로 만들고 싶을 수 있으므로 여기에 옴니 휠을 던져 보겠습니다. 조종성이 훨씬 더 뛰어나며 스티어링 시스템에 대해 걱정할 필요가 없습니다. 이제 기지가 생겼습니다.

자동차

이전에 기계 프로젝트로 작업 한 적이 있다면 모터를 로봇에 연결하는 것이 그리 어렵지 않습니다. 어려운 것은 사용할 모터 유형과 모터의 성능을 파악하는 것입니다.

많은 기성 플랫폼에 모터가 포함되어 있지만 그렇지 않은 경우 적절한 것을 선택하기위한 몇 가지 간단한 도움말이 있습니다. 다음 기본 매개 변수를 고려해 보겠습니다.

이 숫자를 가지고 거의 모든 취미 웹 사이트를 방문하여 적절한 모터를 선택할 수 있습니다.


기어 박스는 어떻습니까? 걱정 마. 많은 모터에는 통합 기어 박스가 있습니다. 이것은 절대적으로 이와 같은 프로젝트를 진행하는 방법이며, 이러한 모터를 판매하는 웹 사이트에 인용 된 숫자는 이미 기어 박스를 고려하고 있습니다. 추가 계산이 필요하지 않습니다!

대략적으로 적절한 모터를 선택하고 플랫폼에 연결했으면 확실히 약간의 힘이 필요합니다. 물론, 로봇에 배터리를 약간 넣고 완료라고 할 수 있습니다. 하지만 어떤 종류입니까? 플랫폼에 추가하고 싶은 모든 것을 강화하려면 얼마나 강력해야합니까? 그것은 우리 로봇이 무엇을하기를 원하는지에 달려 있습니다.

전력 예산을 세우려면 미리 생각해야합니다. 원격 조종 자동차 만 원하지 않으니 라즈베리 파이를 추가하는 것은 어떻습니까? 매우 일반적이며 전력 요구 사항은 잘 알려져 있습니다.

전원을 공급하려면 그 밖에 무엇이 필요합니까? 글쎄, 당신은 로봇이 환경을 감지하기를 원하므로 센서를 전력 예산에 반영해야합니다. 그리고 사진이나 비디오를 보낼 수 있다는 것은 좋은 일이므로 웹캠을 부착 할 수 있습니다. (첫 번째 로봇의 환경을 조작 할 수 있는지에 대해서는 걱정하지 않습니다. 팔, 손, 그리퍼 및 기타 로봇 기기는 완전히 다른 주제입니다!)

배터리는 여러 유형이 있지만 일반적으로 기본 (AA, 일회용) 및 충전식 (리튬 이온 및 NiMH 등)의 두 가지 범주로 나뉩니다. 대부분의 로봇은 충전식 배터리를 사용하고 RC 자동차의 확산으로 리튬 폴리머 (LiPo) 배터리는 저렴하고 효과적이되었습니다. 참고 : LiPo 배터리는 잘못 취급하거나 충전하면 위험 할 수 있습니다! 지침에 따라 특별히 설계된 충전기로 충전하십시오. 로봇을 망치거나 더 나쁘게하는 것을 원하지 않습니다!




LiPo는 소형 로봇에서 매우 일반적이므로이 중 하나를 사용하여 중요한 매개 변수를 다시 확인하겠습니다.

센서

초음파 또는 비행 시간 센서와 같은 간단한 근접 센서로 시작하는 것이 좋습니다. 센서가 향하는 방향으로 거리 측정을 제공합니다.

초음파 센서는 Pi와 통신하기 위해 UART (Universal Asynchronous Receiver-Transmitter)를 사용합니다. 센서에 대한 일반적인 프로토콜이며 선택 및 구현이 매우 쉽습니다. 하지만 이미 사용법을 모른다면 조금 더 조사해야합니다. 다행히 Pi는 이미 UART를 지원하므로 연결 한 다음 소프트웨어를 작성하여 이들과 인터페이스하고 데이터를 기반으로 결정을 내리면됩니다. 해당 데이터로 수행하려는 작업에 따라 프로그래밍 측면이 원하는만큼 쉽고 복잡 할 수 있습니다.


SLAM 기능은 어떻습니까? SLAM은 동시 현지화 및 매핑을 의미합니다. 듀얼 카메라 솔루션부터 자율 주행 차에 사용되는 유형과 같은 값 비싼 LIDAR (Light Detection and Ranging) 패키지에 이르기까지 다양한 방법과 센서 유형이 있습니다. 이것은 로봇이 주변의 상세한지도를 만들고 주어진 시간에 어디에 있는지 알 수있게 해주는 것입니다.

실제로는 거리 센서와 IMU (관성 측정 장치)가있는 간단한 로봇을 사용하여지도를 만드는 SLAM 방법이 있습니다. 그다지 상세하지 않고 고양이와 오토만을 구별 할 수는 없지만 SLAM의 작동 방식을 배우는 좋은 방법입니다. 그러나 첫 번째 로봇에게는 매핑이 너무 복잡 할 수 있습니다. 로봇은 무언가가 가까워지면 감지하고 다시 자유롭게 움직일 수있을 때까지 회전해야합니다.

동영상?

로봇에 카메라를 장착하고 사진을 찍거나 동영상을 스트리밍하는 기능을 부여 할 수 있습니다. 앞서 전력 예산에 대해 이야기 할 때 웹캠에 대해 언급했습니다. 웹캠은 일반적으로 Pi에 곧바로 연결되기 때문에 로봇에 부착하기 가장 쉬운 도구 중 하나입니다.하지만 일단 연결되면 웹캠으로 무엇을 할 수 있습니까?


얼굴 및 물체 감지 및 인식을 위해 컴퓨터 비전 소프트웨어에 연결할 수 있습니다. 이러한 능력은 훨씬 더 많은 처리 집약적이므로 꽤 좋은 온보드 컴퓨터가 필요합니다. 컴퓨터 비전을 수행하기 위해 비디오 스트림을 클라우드 서비스로 파이프 할 수 있지만 무선 연결을 관리해야합니다.

요점은 컴퓨터 비전이 상당히 복잡하다는 것입니다. OpenCV와 같이 더 쉽게 만드는 라이브러리가 있지만 여전히 그 자체로 전체 분야입니다. 로봇은 가끔씩 사진을 찍거나 동영상을 스트리밍하여 집 주변의 사물을 주시 할 수 있습니다.

두뇌!

그런 다음 로봇이 원하는 지능의 정도에 대한 질문이 있습니다. 모바일 플랫폼에서 많은 처리를하는 것은 상당히 에너지 집약적 일 수 있습니다. 로봇의 ‘뇌’는 모든 센서 입력을 하나로 묶어 결정을 내린 다음 이러한 결정에 따라 모터를 제어해야합니다.

솔직히 사람들이 합리적인 가격으로 구입하거나 제작할 수있는 많은 로봇은 기본적으로 일부 추가 장치가 장착 된 원격 제어 자동차입니다. 프로세서를 로봇에 구축하고 전력 예산에 추가해야 할뿐만 아니라 프로그래밍해야합니다. 그것은 당신이 소프트웨어 개발자이기 때문에 당신에게 재미있는 부분이거나 말 그대로 누구나 다른 사람이기 때문에 믿을 수 없을 정도로 힘든 작업입니다.

우리는 Raspberry Pi 사용에 대해 이야기했지만 모든 조각을 모으기 시작하면 이러한 모든 것을 Raspberry Pi에서 직접 구동 할 수 없다는 것을 알게 될 것입니다. 우선, 원하는 속도에 따라 모터에 올바른 전원을 공급하는 모터 컨트롤러가 필요합니다. 예, Pi는이를 제어하기 위해 모터 컨트롤러와 통신 할 수 있어야하지만 모터는 실제로 컨트롤러 자체를 통해 전원이 공급됩니다. 컨트롤러 보드를 직접 디자인하거나 미리 만들어진 보드를 선택할 수 있지만 여전히 Pi에 연결해야합니다.

그리고 프로그래밍이 있습니다. 컨트롤러를 제어하려면 뇌를 프로그래밍해야합니다. 이상적으로는 모든 센서 데이터를 가져 와서이를 기반으로 결정을 내리고 모터에 명령을 보내 모든 것이 작동하도록하는 소프트웨어를 작성하는 것입니다. 한 가지 옵션은 ROS (Robot Operating System)와 같은 오픈 소스 패키지를 사용하고 원하는 특정 동작을 코딩하는 것입니다. 고급 코더라면 모든 것을 직접 작성하는 것이 좋습니다. 그것은 모두 당신의 기술이 무엇인지, 그리고 로봇 프로젝트에서 무엇을 얻고 자 하는가에 달려 있습니다.

팀워크 (및 지속성)

마지막으로 새롭고 새로운 로봇의 모든 부품을 통합 한 후 사용하기 시작할 때 가장 큰 문제가 발생한다는 것을 알게 될 것입니다.

저를 믿으세요. 지침에 따라 정확하게 무언가를 만들 수 있지만 처음에는 제대로 작동하지 않을 수 있습니다. 수많은 일이 잘못 될 수 있으며, 그 중 하나가 자신의 전문 분야 인 만약 누군가가 쉽게 해결할 수 있습니다. 이것이 대기업이 기계, 전기 및 소프트웨어 엔지니어링 분야에서 매우 구체적인 배경을 가진 많은 사람들을 고용하는 이유입니다. 솔루션에 수반되는 것이 무엇인지 처음부터 알 가능성이 높을뿐만 아니라 무언가가 항상 제대로 작동하지 않을 때 문제를 해결하는 것이 더 쉽습니다.

애호가 제작자에게 가장 큰 자산은 근심, 겸손, 기꺼이 도움을 요청하는 것입니다. 계속 배우고, 계속 연락하고, 실험을 계속하고 문제를 해결하십시오. 로봇을 만드는 데 꼭 필요한 요소입니다.