Docker+IPython Notebook으로 Pepper군 원격 제어 환경 구축

다양한 순회가있어 Pepper 군을 만날 수있는 기회가 증가했습니다.
Pepper 군으로 프로그램을 동작시키기 위해서는 Choregraphe라는 비주얼 프로그래밍 환경을 사용하여 애플리케이션을 작성, Pepper 군에 배포하여 실행하는 방법 외에 NAOqi for Python 등을 사용하여 컴퓨터에서 원격으로 Pepper 군을 제어한다. 방법도 있습니다.

Choregraphe를 사용한 방법은 매우 직관적이지만 API를 직접 호출하는 등 시행착오적인 단계에서는 인터프리터적으로 함수를 순차적으로 실행할 수 있고, 이미지 등 비주얼 환경에서 확인할 수 있는 NAOqi for Python 환경이 있다면 편리 할 것입니다.

필요한 것


  • NAOqi for Python ... Pepper Tech Fes 2014에서 배포 된 것 (pynaoqi-python2.7-2.0.5.3-linux64.tar.gz)
  • Docker 환경 ... 여기서 로컬로 구축 된 Vagrant + boot2docker 환경 사용 (boot2docker로 IPython Notebook 환경 구축 참조)
  • NAOqi for Python은 Pepper-kun의 TCP 9559 포트를 사용하여 연결되므로 Pepper-kun에 네트워크적으로 도달 할 수있는 환경을 구축해야합니다


  • 환경 구축



    NAOqi for Python은 Python 2.7에서 작동하므로 Python 2.7.6이 포함 된 IPython Notebook 이미지 htps : // 레기 스트리. 후 b. 도 c r. 코 m / u / 흠 후 r ban ks / 드 c r py 쵸노 테보오 k /를 기반으로 이미지를 빌드하려고합니다.

    준비할 파일



    다음 파일을 Docker 환경의 적절한 디렉토리에 준비하십시오.

  • Dockerfile
    다음 내용을 Dockerfile로 저장합니다. NAOqi 문서에서는 PIL을 사용한 예를 소개하고 있기 때문에 Pillow도 pip install 한다.

    Dockerfile
    FROM unfairbanks/docker-ipython-notebook
    MAINTAINER yacchin1205 <http://twitter.com/yacchin1205/>
    
    RUN apt-get update
    RUN apt-get install -y libjpeg-dev zlib1g-dev
    RUN pip install Pillow
    
    RUN mkdir /pynaoqi
    ADD ./pynaoqi-python2.7-2.0.5.3-linux64.tar.gz /pynaoqi/
    
    ADD ./run.sh /
    

  • pynaoqi-python2.7-2.0.5.3-linux64.tar.gz
    Pepper Tech Fes 2014에서 배포된 USB 메모리에 있는 파일을 복사해 둡니다.

  • run.shPYTHONPATH에는 NAOqi for Python이 배포 된 디렉토리를 포함하는 run.sh가 있습니다.

    run.sh
    #! /bin/bash
    export PYTHONPATH=$PYTHONPATH:/pynaoqi/pynaoqi-python2.7-2.0.5.3-linux64
    
    ipython notebook --no-browser --ip=0.0.0.0 --port=8080 --notebook-dir=/tmp/notebook
    


  • 빌드



    다음 명령으로 빌드할 수 있습니다.
    docker@boot2docker:/vagrant/pepper/ipython-pythonsdk$ docker build -t test_dev/docker-ipython-notebook-pynaoqi .
    

    빌드 성공하면 test_dev/docker-ipython-notebook-pynaoqi 라는 이미지가 생긴다.

    또한 boot2docker 환경에서 build 중에 archive.ubuntu.com을 해결할 수 없거나 오류가 발생했으므로 htps : // 기주 b. 코 m / 보오 t2 드 c r / 보오 t2 드 c r ぃ / 이스에 s / 102을 참조하여 resolv.conf를 수정하여 대응.

    사용해보기



    컨테이너 실행



    작성한 이미지는 이하의 커멘드로 실행할 수 있다.
    docker@boot2docker:/vagrant/pepper/ipython-pythonsdk$ docker run -d -p 8080:8080 -v /vagrant/notebook:/tmp/notebook test_dev/docker-ipython-notebook-pynaoqi
    

    여기서는 /vagrant/notebook (Windows 호스트의 C:\test\boot2docker-vboxsf\notebook ) 를 컨테이너내에서 /tmp/notebook 디렉토리로서 보이도록 하고 있다.

    시작된 IPython Notebook에서 재생



    실행 후 http://Docker環境:8080에 브라우저로 액세스하면 IPython Notebook을 열 수 있습니다.
    이 IPython Notebook 환경에는 NAOqi for Python이 설치된 상태이므로,
    from naoqi import ALProxy
    IP = "PepperのIPアドレス"
    PORT = 9559
    motion = ALProxy("ALMotion", IP, PORT)
    motion.angleInterpolation(["HeadYaw", "HeadPitch"], [-0.2, -0.2], [1, 1], False)
    

    어쨌든 목을 움직이거나,

    Notebook 환경이므로, 이런 느낌으로 Pepper의 카메라 화상의 처리 등, 실제로 얻어진 화상을 확인하면서 스크립트를 검토하거나도 가능.



    머리카락으로 사진을 찍거나 심도 카메라의 사진을 찍거나. 재료가 있으면 붙여 갑니다.

    좋은 웹페이지 즐겨찾기