Construction de l'environnement de contrôle à distance Pepper-kun avec Docker + IPython Notebook

Il y a eu diverses rencontres et les chances de toucher Pepper ont augmenté. Pour exécuter un programme avec Pepper, créez une application à l'aide d'un environnement de programmation visuelle appelé Choregraphe, déployez-la sur Pepper et exécutez-la, ou contrôlez Pepper à distance depuis un ordinateur en utilisant NAOqi pour Python, etc. Il existe également une méthode.

La méthode utilisant Choregraphe est très intuitive, mais dans la phase d'essai et d'erreur comme l'appel direct de l'API **, NAOqi peut exécuter des fonctions séquentiellement dans un interpréteur et peut être confirmé dans un environnement visuel tel qu'une image. Si vous avez un environnement pour Python **, cela devrait être utile ... J'ai donc essayé de créer un environnement NAOqi pour Python avec IPython Notebook, donc ce mémo.

Les choses nécessaires

Environnement

NAOqi for Python fonctionne sur Python 2.7, créez donc l'image basée sur l'image IPython Notebook https://registry.hub.docker.com/u/unfairbanks/docker-ipython-notebook/ qui contient Python 2.7.6. Je vais essayer.

Dossier à préparer

Préparez les fichiers suivants dans un répertoire approprié de l'environnement Docker.

  1. Dockerfile Enregistrez le contenu suivant sous Dockerfile. La documentation NAOqi montre un exemple utilisant PIL, donc Pillow s'installe également.

    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 /
    
  2. pynaoqi-python2.7-2.0.5.3-linux64.tar.gz Copiez les fichiers dans la mémoire USB distribuée par Pepper Tech Fes 2014.

  3. run.sh Préparez run.sh qui inclut le répertoire où NAOqi pour Python est développé dans PYTHONPATH.

    #! /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
    

Construire

Vous pouvez le créer avec la commande suivante.

docker@boot2docker:/vagrant/pepper/ipython-pythonsdk$ docker build -t test_dev/docker-ipython-notebook-pynaoqi .

Si la construction réussit, vous obtiendrez une image de test_dev / docker-ipython-notebook-pynaoqi.

De plus, étant donné que archive.ubuntu.com n'a pas pu être résolu ou qu'une erreur s'est produite lors de la construction dans l'environnement boot2docker, modifiez resolv.conf en vous référant à https://github.com/boot2docker/boot2docker-cli/issues/102. Et répondez.

Essayez d'utiliser

Exécuter le conteneur

L'image créée peut être exécutée avec la commande suivante.

docker@boot2docker:/vagrant/pepper/ipython-pythonsdk$ docker run -d -p 8080:8080 -v /vagrant/notebook:/tmp/notebook test_dev/docker-ipython-notebook-pynaoqi

Ici, / vagrant / notebook ( C: \ test \ boot2docker-vboxsf \ notebook sur l'hôte Windows) est rendu visible comme le répertoire / tmp / notebook à l'intérieur du conteneur.

Jouez sur le notebook IPython lancé

Après l'exécution, vous pouvez ouvrir le notebook IPython en accédant à http: // environnement Docker: 8080 avec un navigateur. Étant donné que NAOqi pour Python est déjà installé dans cet environnement IPython Notebook,

from naoqi import ALProxy
IP = "Adresse IP de Pepper"
PORT = 9559
motion = ALProxy("ALMotion", IP, PORT)
motion.angleInterpolation(["HeadYaw", "HeadPitch"], [-0.2, -0.2], [1, 1], False)

Ou bouge ton cou

Puisqu'il s'agit d'un environnement Notebook, il est possible d'examiner le script tout en vérifiant l'image réellement obtenue, comme le traitement de l'image de la caméra de Pepper comme ceci.

ipython-notebook.png

Prenez une image avec votre caméra frontale ou prenez une image avec une caméra de profondeur. S'il y a du matériel, je vais le coller.

Recommended Posts

Construction de l'environnement de contrôle à distance Pepper-kun avec Docker + IPython Notebook
Construire un environnement d'analyse avec Docker (jupyter notebook + PostgreSQL)
Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Créer un environnement de notebook IPython avec boot2docker
Construction d'un environnement d'oreiller - Pour Docker + iPython (et OpenCV)
Création d'un environnement R avec Jupyter (anciennement notebook IPython) (sous OS X El Capitan 10.11.3)
[Python] Construction de l'environnement OpenCV avec Docker (cv2.imshow () fonctionne également)
De Kafka à KSQL - Construction d'environnement facile avec docker
Approvisionnement EC2 avec Vagrant + Jupyter (IPython Notebook) sur Docker
Calcul parallèle avec le notebook iPython
Construction de l'environnement Docker + Django + React
Préparer l'environnement python3 avec Docker
Jouer avec Jupyter Notebook (IPython Notebook)
Exécutez Apache-Spark sur le notebook IPython
Exécutez IPython Notebook sur Docker
Dessin graphique avec IPython Notebook
Utilisation de Bokeh avec IPython Notebook
De la construction de l'environnement au déploiement pour flask + Heroku avec Docker
La vie de recherche et développement avec le notebook iPython
Commencez avec Python! ~ ① Construction de l'environnement ~
Construction de l'environnement Ruby avec AWS EC2
Construction d'un environnement Jupyter facile avec Cloud9
Comment utiliser Jupyter Notebook sans polluer votre environnement avec Docker
[MEMO] [Construction de l'environnement de développement] Jupyter Notebook
[Linux] Construction de l'environnement Docker sur Redhat
Automatisez la construction d'environnement avec ShellScript
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Construction d'environnement Postgres avec Docker J'ai eu un peu de mal, alors notez
Utilisation de Chainer avec CentOS7 [Construction de l'environnement]
Construction de l'environnement pytorch @ python3.8 avec pipenv
Reconstruisez l'environnement de développement de Django avec Docker! !! !! !!
[docker] Construction de l'environnement python3.5 + numpy + matplotlib
Créer un environnement avec pyenv et pyenv-virtualenv
Je voulais utiliser le notebook jupyter avec docker dans l'environnement pip (opticspy)
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Construction facile]
Réaliser la construction d'environnement pour "Deep Learning from scratch" avec docker et Vagrant
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Accéder à l'API Docker Remote avec des requêtes
Créer un environnement Jupyter Lab (Python) avec Docker
Utilisation d'Apache Spark avec le notebook Jupyter (notebook IPython)
Vue.js + Mémorandum de construction de l'environnement Flask ~ avec Anaconda3 ~
Obtenez un environnement local pour DynamoDB avec Docker
Créer un environnement Python + uWSGI + Nginx avec Docker
Présentation HTML "EN DIRECT" avec IPython 3.0.0-dev, IPython Notebook
[Linux] Créer un environnement Jenkins avec Docker
Environnement de lancement avec LineBot + Heroku + Docker + Python
Réception de la télécommande infrarouge avec Intel Edison
Un mémo rempli de construction d'environnement RADEX
[ev3dev × Python] Contrôle SSH (opération à distance avec clavier)
Entendons-nous bien avec Python # 0 (Construction de l'environnement)
Sortie de cellule riche avec Jupyter Notebook (IPython)
Construire un environnement de NGINX + NGINX Unit + MySQL avec Docker
[Linux] Construction de l'environnement Docker avec Amazon Linux 2
Modèle de construction d'environnement de développement local Python [Flask / Django / Jupyter avec Docker + VS Code]
Construction d'un environnement d'analyse de données Python facile avec Windows10 Pro x VS Code x Docker
Collecter des informations depuis Twitter avec Python (construction de l'environnement)