산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

자율 홈 어시스턴트 로봇 'O'nine' 제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드

부품 및 소모품

카테고리 부품 수량
메인 컨트롤러 아두이노 우노 (로봇 팔 컨트롤러) 1
Odroid XU4 (ROS 네비게이션/비전 처리) 1
Teensy 3.2/3.5 (베이스/리프트 펌웨어용) 2
로봇 팔 Arduino Braccio 로봇 팔 키트 1
스파크펀 EasyDriver (스테퍼 드라이버) 1
모빌리티 베이스 메카넘 휠 세트 1
DC 모터 (엔코더 내장) 4
L298 모터 드라이버 1
센서 GY-85 IMU (9축) 1
Microsoft Kinect v1 (깊이 카메라/포인트 클라우드) 1
리프트/구조물 스테퍼 모터 (수직 리프트용) 1
OpenBuilds V-Slot 리니어 레일 2
V-Slot 갠트리 플레이트 1
솔리드 V 휠 키트 4
0.8m ACME 리드스크류 + 커플러/베어링 1식
전원/기타 12V 5000mAh 충전지 1
5V BEC, 가변 DC-DC 컨버터 1식
리미트 스위치, 스프링 와이어 1식
5V USB 허브 1

소프트웨어 스택

프로젝트 개요

'O'nine'은 집안을 자율 주행하며 물체를 집어 옮기고, 알렉사 음성 명령으로 작업을 수행하는 홈 어시스턴트 로봇입니다. 메카넘 휠로 전방향 이동, 수직 리프트로 팔 작업 범위 확장, Kinect로 SLAM/내비게이션/물체 인식을 수행합니다.

자율 홈 어시스턴트 로봇  O nine  제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드
자율 홈 어시스턴트 로봇  O nine  제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드

고수준 아키텍처

  1. 아마존 에코 닷이 음성 명령 수신
  2. 커스텀 알렉사 스킬이 인텐트 파악
  3. AWS Lambda 함수가 PubNub MQTT 브로커로 명령 발행
  4. O'nine이 MQTT 구독 → 자율 작업 실행

하드웨어 서브시스템

3.1 로봇 베이스 (메카넘 드라이브)

4개 엔코더 DC 모터 + L298 + Teensy 펌웨어. ROS linorobot 패키지 사용. PID 속도 제어로 정밀 주행.

자율 홈 어시스턴트 로봇  O nine  제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드

3.2 수직 리프트 (팔 부모)

스테퍼 모터 + EasyDriver + Teensy. MoveIt에서 목표 높이 받으면 스텝 수로 변환해 오픈루프 제어. 시리얼로 팔 컨트롤러와 통신.

자율 홈 어시스턴트 로봇  O nine  제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드

3.3 로봇 팔 컨트롤러 (팔 자식)

아두이노 우노 + Braccio 쉴드. 리프트로부터 관절 각도 배열 수신 → 서보 구동.

자율 홈 어시스턴트 로봇  O nine  제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드

3.4 전체 통합 배선

자율 홈 어시스턴트 로봇  O nine  제작 – ROS, Alexa, MoveIt, 내비게이션 완전 가이드

소프트웨어 설치 (ROS 기반)

필수: 리눅스 머신 2대 (개발용 PC + 로봇 보드 Odroid XU4)

4.1 ROS 설치

git clone https://github.com/linorobot/rosme
cd rosme && ./install

4.2 패키지 설치


# 개발 머신
cd ~/catkin_ws/src
git clone https://github.com/linorobot/lino_pid
git clone https://github.com/linorobot/lino_msgs
git clone https://github.com/linorobot/lino_visualize
cd .. && catkin_make

# 로봇 보드 (베이스)
git clone https://github.com/linorobot/lino_install
cd lino_install && ./install mecanum kinect

# O'nine 패키지 (양쪽 모두)
git clone https://github.com/grassjelly/onine_install
cd onine_install && ./install

# 알렉스 태스커
cd ~/onine_ws/src
git clone https://github.com/grassjelly/onine_alexa
cd .. && catkin_make

알렉사 스킬 + Lambda + PubNub 설정

  1. 알렉사 개발자 콘솔에서 커스텀 스킬 생성 → 인텐트 스키마/발화문 복사 (GitHub 참조)
  2. AWS Lambda에서 Node.js 4.3 함수 생성 → 알렉사 스킬 트리거 연결 → PubNub 키 설정 → ZIP 업로드
  3. PubNub 계정 생성 → 앱 생성 → Publish/Subscribe 키 기록
  4. Pushover 계정/앱 생성 → User Key / API Token 기록 → O'nine 설정에 입력

펌웨어 업로드 및 udev 규칙


# udev 규칙 생성 (시리얼 포트 고정 이름 부여)
rosrun lino_udev lino_udev.py
# Teensy 베이스 → "linobase", Teensy 리프트 → "oninearm" 입력 후 Ctrl+C
sudo cp 58-lino.rules /etc/udev/rules.d/
sudo service udev reload && sudo service udev restart
ls /dev/linobase /dev/oninearm  # 확인

# 펌웨어 업로드 (PlatformIO 사용)
roscd linorobot/firmware/teensy && platformio run --target upload  # 베이스
cd <리프트_펌웨어_경로> && platformio run --target upload         # 리프트
cd <브라치오_펌웨어_경로> && platformio run --target upload       # 팔 (우노)

Linorobot 설정 수정 (O'nine 연동용)

물체 감지 (AR 태그 기반)

ar_track_alvar 패키지로 2cm×2cm AR 마커 인식 → 픽앤플레이스 대상 지정. 대체 가능: find_object_2d, tabletop_object_detector.

데모 실행 순서

  1. 맵 생성: roslaunch linorobot bringup.launch + slam.launch → 텔레옵으로 주행 → map_saver로 저장
  2. 목표 좌표 획득: RViz에서 move_base_simple/goal 클릭 → 좌표 복사 → fishtask.py에 입력
  3. 실행:
    • 터미널 1: roscore
    • 로봇 SSH 1: roslaunch linorobot bringup.launch
    • 로봇 SSH 2: roslaunch linorobot navigate.launch
    • 로봇 SSH 3: roslaunch onine_apps ar_tracker.launch
    • 개발 PC: roslaunch onine_moveit_config demo.launch
    • 개발 PC: rosrun onine_alexa alexa_tasker.py
  4. RViz에서 2D Pose Estimate로 로봇 위치 초기화
  5. 알렉사에 "O'nine, feed the fish" 등 명령

향후 개선 방향

참고 자료

제조공정

  1. 블루투스 제어 라즈베리 파이 로봇 만들기 - 오디오 피드백 포함
  2. JQR 4족 보행 자율 로봇: 자율 내비게이션·구조용 DIY 다리 로봇
  3. 심플 파이 로봇 – 라즈베리파이로 2WD 자율 로버 만들기
  4. 집에서 직접 만드는 DIY 숙제 작성 머신 (펜 플로터)
  5. 서보 모터 구동 장애물 회피 로봇: 아두이노 & HC-SR04로 제작하기
  6. 아두이노 우노로 자율 주행 라인 트레이서 로봇 만들기
  7. 아두이노 나노로 만드는 음성 제어 로봇 - 블루투스와 안드로이드 앱 활용
  8. 아두이노 메가 2560 종합 트레이닝 키트 – 커스텀 PCB로 만드는 올인원 학습 플랫폼
  9. DIY 손동작 제어 아두이노 로봇 팔 - 단계별 제작 가이드
  10. 아두이노 프로젝트를 위한 스마트 실내 내비게이션 로봇 키트