Nvidia Jetson Nano Jetbot 만들기
목차
-
이동 로봇 세팅
- 1.1 SD 카드와 카드-리더기
- 1.2 Jetbot 부팅
- 1.3 모니터와 키보드 연결
- 1.4 Wi-Fi 동글 구성
- 1.5 IP 주소 수집 및 SSH 연결
-
파워 소스 및 카메라 연결
-
모터 드라이버 연결
- 3.1 PCA9685 연결
- 3.2 H-Bridge 모터 드라이버 연결
- 3.3 모터 연결
-
코딩 부분
- 4.1 명령어 확인
- 4.2 Jupyter Notebook 실행
- 4.3 모터 드라이버 I2C 주소 수정
이동 로봇 만들기 🤖
안녕하세요! 이번에는 NVIDIA Jetson Nano 개발키트를 사용하여 젯봇(Jetbot)을 만드는 방법에 대해 알아보겠습니다.
1. 이동 로봇 세팅
1.1 SD 카드와 카드-리더기
- 먼저, 젯봇의 이미지를 사용하기 위해 SD 카드와 카드-리더기가 필요합니다.
- SD 카드를 형식화하고, 이미지를 부팅하기 위해 준비합니다.
1.2 Jetbot 부팅
- SD 카드에 부팅 이미지를 설치한 후, 젯봇을 부팅합니다.
- 목표를 선택하고 이미지를 플래싱합니다.
1.3 모니터와 키보드 연결
- 젯봇을 설정하기 위해 모니터와 키보드를 연결합니다.
- 어떤 종류의 모니터를 사용해도 상관없습니다.
- 모니터가 작은 경우에는 미니 사이즈 모니터를 사용할 수 있습니다.
1.4 Wi-Fi 동글 구성
- Wi-Fi 동글을 사용하여 젯봇을 Wi-Fi 라우터에 연결합니다.
- 설정에 필요한 명령어를 확인할 수 있습니다.
1.5 IP 주소 수집 및 SSH 연결
- SSH 프로토콜을 통해 원격 데스크톱에서 젯봇에 연결하기 위해 IP 주소를 수집합니다.
- 명령어를 실행하여 IP 주소를 확인합니다.
- 수집한 IP 주소를 사용하여 SSH 연결을 설정합니다.
2. 파워 소스 및 카메라 연결
2.1 전원 연결
- 젯봇의 파워 소스를 연결합니다.
- 연결 전에 커넥터가 올바르게 연결되었는지 확인해야 합니다.
- USB2 또는 바렐 잭을 사용할 수 있습니다.
2.2 카메라 연결
- 카메라를 젯봇의 카메라 포트에 연결하여 기본 구조를 만듭니다.
- I2C 통신 기능을 갖춘 PCA9685를 사용합니다.
- 전원이 인가되기 전에 커넥터가 올바르게 연결되었는지 확인해야 합니다.
3. 모터 드라이버 연결
3.1 PCA9685 연결
- 젯슨 나노 핀맵을 참조하여 PCA9685를 젯봇에 연결합니다.
- GND 핀은 공통이며, Vcc 핀은 3V3에 연결합니다.
- SDA 핀은 핀 3에, SCL 핀은 핀 5에 연결합니다.
- 전원이 인가되면 PCA9685에 빨간색 LED가 켜집니다.
3.2 H-Bridge 모터 드라이버 연결
- H-Bridge 모터 드라이버를 젯봇에 연결합니다.
- 총 6개의 핀이 있으며, GND는 공통입니다.
- 배선 다이어그램은 화면에서 확인할 수 있습니다.
- ENA 핀은 핀 13, IN1은 핀 11, IN2은 핀 12, IN3은 핀 9, IN4은 핀 10, ENB는 핀 8에 연결합니다.
3.3 모터 연결
- 모터를 모터 드라이버에 연결합니다.
- 지정된 극성에 따라 모터의 회전이 결정됩니다.
- IN1을 HIGH로 설정하면, 모터의 양수 극성은 OUT1에 연결되며, IN2, IN3, IN4는 OUT2, OUT3, OUT4에 각각 연결됩니다.
- ENA 및 ENB 핀은 모터 속도 제어를 위한 PWM 신호이며, GND는 공통입니다.
4. 코딩 부분
4.1 명령어 확인
- 젯봇이 연결된 모터 드라이버의 I2C 주소를 확인하기 위해 명령어를 실행합니다.
4.2 Jupyter Notebook 실행
- Jupyter Notebook을 사용하여 코딩 부분을 실행합니다.
- 브라우저에서 젯봇의 IP 주소를 입력하고 로그인합니다.
- 기본 동작 부분을 확인합니다.
4.3 모터 드라이버 I2C 주소 수정
- Python 파일로 작성된 코드를 수정해야 합니다.
- Jupyter 터미널에서 원하는 디렉토리로 이동합니다.
- vim 명령어를 사용하여 파일을 엽니다.
- 고정된 I2C 주소의 위치를 찾아서 수정합니다.
- 편집 모드를 활성화한 후 수정한 후에는 저장 및 종료합니다.
요약
- 이동 로봇 제작을 위해 NVIDIA Jetson Nano 개발키트를 사용합니다.
- 필요한 하드웨어와 연결하는 단계를 거치면서 젯봇을 구성합니다.
- 모터 드라이버와 모터, 카메라 등을 연결합니다.
- 코딩 부분에서 명령어 확인과 Jupyter Notebook을 실행하며 모터 드라이버의 I2C 주소 수정 작업을 수행합니다.
만약 여러분들이 이동 로봇에 관심이 있다면, 이 프로젝트를 진행해보는 것을 추천합니다. 젯봇을 통해 다양한 실험과 제어를 진행할 수 있으며, 로봇 공학과 인공지능에 대한 이해도를 높일 수 있습니다. 젯봇은 학습과 진행 가능한 다양한 예제와 커뮤니티가 있어 다른 사람들과 경험을 나누고 발전시킬 수도 있습니다.
FAQ (자주 묻는 질문) 🙋♀️🙋♂️
Q: 이동 로봇을 만들기 위해 필요한 기술적인 지식은 무엇인가요?
A: 이동 로봇을 만들기 위해 기본적인 전자 공학 지식과 프로그래밍 경험이 필요합니다. 또한 제공된 가이드와 예제 코드를 읽고 이해하는 능력이 요구됩니다.
Q: 젯봇을 사용하여 어떤 작업을 수행할 수 있나요?
A: 젯봇을 사용하여 도로 따라가기, 충돌 회피 등 다양한 작업을 수행할 수 있습니다. 또한, 젯봇을 통해 자율 주행 로봇을 구현할 수도 있습니다.
Q: 이동 로봇을 만드는 데 얼마나 많은 시간이 소요되나요?
A: 개발자의 기술 수준과 경험에 따라 달라질 수 있지만, 보통 몇 시간에서 몇 일이 소요될 수 있습니다. 설치와 연결, 코딩 부분을 반복적으로 실행하면서 점차 고도화시킬 수 있습니다.
[자원]
- Jetbot 웹사이트: 링크
- Jetbot.org 홈페이지 가이드: 링크
- YouTube 채널 및 블로그: [링크] (제공된 텍스트에서 언급된 YouTube 채널 및 블로그 링크를 기입해주세요)