ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ROS] Asulada Ver. 1
    Engineer/Robotic 2016. 9. 29. 22:51


    Asulada Ver. 1


    Created date  : 2016.09.29

    Last updated : 2016.11.05


    안녕하세요. 꿈꾸는 개발자 몽키준입니다.

    Maker Fair 2016 에 출품하게 될 Asulada Project 를 준비하면서 Asulada Ver.1 을 소개하려고 합니다.


    1. 프로젝트 소개 및 행사 내용

    네이버 카페 '오로카' 에서 2016년 3월부터 진행한 수요모임 중 하나인 일명 '아슬하다'란 프로젝트로 진행했습니다. 2016년 10월 15~16일 양일간 열리는 'Maker fair 2016' 에 참여했습니다. 네트워크가 불안정하고 많은 사람들이 오가는 열악(?)한 상황이라 준비한 모든 기능을 전시하지 못했지만 프로젝트의 최종 목표를 달성하는데 의의를 두었습니다.

    아슬하다 프로젝트 하드웨어 중에 1호기는 일본 만화 '아수라다' 를 모티브로 한 디자인에 ROS(Robotic Operating System) 를 활용하여 영상인식(OpenCV) 및 모터,LED 를 제어하여 얼굴 트래킹 기능을 수행합니다. 아직은 ROS의 기본 기능만을 이용한 것으로 앞으로 진행할 프로젝트에서 보다 다양한 기능을 추가할 예정입니다.


    2. 주요기능 

    얼굴 인식(OpenCV), HRI(모터제어, LED 제어), 3D 모델링 및 프린팅 


    3. 주요활동

    2016.4월 ~ 5월 ROS 로봇 프로그래밍 강의 by 표윤석

    2016.7.5 5th ROS meet up @Robotis 

    - http://www.ros.org/news/2016/07/5th-ros-meetup-in-korea.html

    2016.10.8~9 RosCon2016@Conrad Hotel 

    - http://roscon.ros.org/2016/

    2016.10.15~16 MakerFair2016 @서울혁신파크

    - http://korean.visitkorea.or.kr/kor/bz15/where/festival/festival.jsp?cid=2034306


    4. HW 사양

    라즈베리파이 3, 로지테크 USB 카메라, Dynamixel EX-106, USB 스피커, USB 마이크(제외)


    5. SW 구현부

    5-1. 구조도


    5-2. SW 버전 정보(설치방법)

    OS : 우분투 mate 16.04

    ROS : Kinetic 

    5-3. 설치 및 동작 방법

    5-3-1 opencv 를 설치하고 haarcascades설치경로를 확인한다.

    $> sudo apt-get install ros-kenetic-opencv

           $> find / -name haarcascade_frontalface_alt.xml

    : 제 PC에서는 "/opt/ros/kinetic/share/OpenCV-3.1.0-dev/haarcascades/" 에서 설치되며 asulada_core/src/Vision.cpp 에서 경로를 맞게 수정한다. 참고로 opencv_app 에서는 "/usr/share/opencv/haarcascades/"로 되어 있습니다.

    5-3-2 asulada 코드를 /home/{user}/catkin_ws/src 에 설치한다.

    $> cd /home/{user}/catkin_ws/src; git clone http://github.com/JuneKim/asulada

    $> cd ../

    $> catkin_make

    5-3-3 Dynamixel SDK 를 설치한다.

    http://cafe.naver.com/openrt/14927

    5-3-4 roscore 를 실행한다.

    $> roscore &

    5-3-5 모터 제어 노드 실행(설치 방법)

            파일 위치  : dynamixel_position_controller/include/dynamixel_position_controller/dynamixel_position_controller.h

    $> sudo chmod a+rw /dev/ttyUSB0

    만약 UART2RS485 모듈을 사용하는 경우에는 "/dev/ttyAMA0" 의 권한을 변경하면 된다.

    //#define DEVICENAME                      "/dev/ttyUSB0"      // Check which port is being used on your controller
     #define DEVICENAME                      "/dev/ttyAMA0"      // Check which port is being used on your controller
    


    5-3-6 camera device 경로를 자신의 디바이스 환경에 맞게 camera node 의 장치를 설정해 수정해 줍니다.

    : 제 경우 라즈베리파이 카메라가 문제가 생겨 시중에서 판매하고 있는 저렴한 usb cam 를 사용하였습니다. "universal usb camera driver" 를 지원하는 모델로 연결시 /dev/usb0 로 잡히게 됩니다.

    5-3-7 asulada_core, dynamixel node, usb_cam 노드 실행

    $> roslaunch asulada_core asulada.launch

    4-3-8 이젠 고개를 좌우로 움직이면서 모터의 움직임을 확인한다. 만약 얼굴인식이 되지 않는다면 가까이 있는 라이트를 치우거나 정면샷을 찍히도록 고개를 움직여 본다.

     

    5-4. 코드

    http://github.com/JuneKim/asulada


    6. 기구부

    [1호기]


    [2호기]

    https://cad.onshape.com/documents/b65c867094b986e836936564/w/d695637d0a02eb3107cb77f2/e/3d0df87391fcb6e20f5d472d


    7. 주요사진

    [도색작업]  차량용 락카 사용


    [메이커페어]


    이상 Asulada 프로젝트 소개를 마치겠습니다.


    'Engineer > Robotic' 카테고리의 다른 글

    [ROS] rosserial 사용하기  (0) 2017.05.24
    [ROS] 아두이노 dot matrix with MAX7219  (0) 2017.02.19
    [ROS] install roscore  (0) 2016.09.22
    [ROS] run node with gdb  (0) 2016.08.23
    [ROS] 노드 리매핑  (0) 2016.06.01

    댓글

Designed by Tistory.