Docker+IPython Notebook으로 Pepper군 원격 제어 환경 구축
Pepper 군으로 프로그램을 동작시키기 위해서는 Choregraphe라는 비주얼 프로그래밍 환경을 사용하여 애플리케이션을 작성, Pepper 군에 배포하여 실행하는 방법 외에 NAOqi for Python 등을 사용하여 컴퓨터에서 원격으로 Pepper 군을 제어한다. 방법도 있습니다.
Choregraphe를 사용한 방법은 매우 직관적이지만 API를 직접 호출하는 등 시행착오적인 단계에서는 인터프리터적으로 함수를 순차적으로 실행할 수 있고, 이미지 등 비주얼 환경에서 확인할 수 있는 NAOqi for Python 환경이 있다면 편리 할 것입니다.
필요한 것
환경 구축
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 /
Pepper Tech Fes 2014에서 배포된 USB 메모리에 있는 파일을 복사해 둡니다.
run.sh
PYTHONPATH
에는 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의 카메라 화상의 처리 등, 실제로 얻어진 화상을 확인하면서 스크립트를 검토하거나도 가능.
머리카락으로 사진을 찍거나 심도 카메라의 사진을 찍거나. 재료가 있으면 붙여 갑니다.
Reference
이 문제에 관하여(Docker+IPython Notebook으로 Pepper군 원격 제어 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yacchin1205/items/976ba69a116cc500fe59
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
docker@boot2docker:/vagrant/pepper/ipython-pythonsdk$ docker run -d -p 8080:8080 -v /vagrant/notebook:/tmp/notebook test_dev/docker-ipython-notebook-pynaoqi
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)
Reference
이 문제에 관하여(Docker+IPython Notebook으로 Pepper군 원격 제어 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yacchin1205/items/976ba69a116cc500fe59텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)