{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#ET – Niveau 1 - Python\n", "\n", "##TP1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Premier Contact\n", "\n", "#####Le projet [Seti](http://setiathome.free.fr/) vient de faire un communiqué: ils ont établi le contact!\n", "\n", "Grâce à la puissance cumulée de milliers d'ordinateurs, ils ont pu retranscrire visuellement une partie du message intercepté depuis l'espace.\n", "\n", "le voici:\n", "\n", "- éxécutes le code grâce au raccourci 'ctrl + enter'" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pypot,time\n", "from poppy.creatures import PoppyHumanoid\n", "messager = PoppyHumanoid(simulator='vrep')\n", "time.sleep(1)\n", "messager.r_shoulder_x.goto_position(-5,0.5)\n", "messager.l_shoulder_x.goto_position(5,0.5)\n", "messager.head_z.goto_position(30,1,wait=True)\n", "messager.l_shoulder_x.goto_position(90,2)\n", "messager.l_arm_z.goto_position(90,2)\n", "messager.abs_z.goto_position(10,2)\n", "messager.l_elbow_y.goto_position(-120,2,wait=True)\n", "for i in range(3):\n", " messager.l_elbow_y.goto_position(-90,0.5,wait=True)\n", " messager.l_elbow_y.goto_position(-120,0.5,wait=True) \n", "messager.l_shoulder_x.goto_position(5,2)\n", "messager.l_arm_z.goto_position(0,2)\n", "messager.l_elbow_y.goto_position(0,2,wait=True)\n", "messager.head_y.goto_position(10,1)\n", "messager.head_z.goto_position(0,1,wait=True)\n", "time.sleep(1)\n", "messager.stop_simulation()\n", "pypot.vrep.close_all_connections()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#####Ce messager semble amical ; nous devrions essayer de lui repondre.\n", "\n", "#####Mais pour communiquer il nous faut un langage commun...\n", "essayons:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import time\n", "from poppy.creatures import PoppyTorso\n", "poppy=PoppyTorso(simulator='vrep')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Voilà notre interprète, Poppy.\n", "\n", "#####C'est lui qui va nous servir à communiquer, comment me direz vous : grâce au langage des signes!\n", "\n", "#####C'est parti!\n", "\n", "\n", "###Tu es prêt Poppy?" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# oui\n", "\n", "poppy.head_y.goal_position = 20\n", "time.sleep(1)\n", "poppy.head_y.goal_position = -20\n", "time.sleep(1)\n", "poppy.head_y.goal_position = 20\n", "time.sleep(1)\n", "poppy.head_y.goal_position = -20\n", "time.sleep(1)\n", "poppy.head_y.goal_position = 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####oh! tu bouges vraiment comme un robot... pas terrible tout ça ; tu n'es pas d'accord ?\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# non\n", "\n", "poppy.head_z.goal_position = 40\n", "time.sleep(1)\n", "poppy.head_z.goal_position = -40\n", "time.sleep(1)\n", "poppy.head_z.goal_position = 40\n", "time.sleep(1)\n", "poppy.head_z.goal_position = -40\n", "time.sleep(1)\n", "poppy.head_z.goal_position = 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Vraiment ?" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# NON\n", "\n", "poppy.head_z.goal_position = 90\n", "time.sleep(0.5)\n", "poppy.head_z.goal_position = -90\n", "time.sleep(0.5)\n", "poppy.head_z.goal_position = 90\n", "time.sleep(0.5)\n", "poppy.head_z.goal_position = -90\n", "time.sleep(0.5)\n", "poppy.head_z.goal_position = 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####Doucement, pas besoin de s'énerver... il n'y aurait pas un moyen de controler la vitesse de tes mouvements?" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# oui\n", "\n", "poppy.head_y.goal_position = 40\n", "time.sleep(0.5)\n", "poppy.head_y.goal_position = -40\n", "time.sleep(1)\n", "poppy.head_y.goal_position = 40\n", "time.sleep(1)\n", "poppy.head_y.goal_position = -40\n", "time.sleep(1)\n", "poppy.head_y.goal_position = 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####Comment ?!" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# chutttt\n", "\n", "poppy.l_arm_z.goto_position(-40,1,wait=True)\n", "poppy.l_shoulder_y.goto_position(-40,1,wait=True)\n", "poppy.l_elbow_y.goto_position(40,1,wait=True)\n", "time.sleep(1)\n", "poppy.l_arm_z.goal_position=0\n", "poppy.l_shoulder_y.goal_position=-90\n", "poppy.l_elbow_y.goal_position=20\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### mais c'est quoi ce \"goto\" ???! tu m'expliques ?" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# NON\n", "\n", "poppy.head_z.goto_position(40, 0.3 ,wait=True)\n", "poppy.head_z.goto_position(-40, 0.3 ,wait=True)\n", "\n", "poppy.head_z.goto_position(40, 0.9 ,wait=True)\n", "poppy.head_z.goto_position(-40, .9 ,wait=True)\n", "\n", "poppy.head_z.goto_position(40, 1 ,wait=True)\n", "poppy.head_z.goto_position(-40, 1.5 ,wait=True)\n", "\n", "poppy.head_z.goto_position(40, 3 ,wait=True)\n", "poppy.head_z.goto_position(-40, 5 ,wait=True)\n", "\n", "poppy.head_z.goal_position = 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Pas grave, j'ai compris ^^ !" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### j'aimerais en savoir un peu plus sur toi, tu as beaucoup de moteurs ?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "print len(poppy.motors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### hey, mais c'est encore ce poppy.motors?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "print type(poppy.motors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### C'est quoi une liste ?!" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "for m in poppy.motors:\n", " print m.name\n", " print \"----\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### ah, c'est une sorte de boite qui contient de l'information ?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# OUI\n", "\n", "for i in range(50,150,25):\n", " i= i*0.01\n", " poppy.head_y.goto_position(15, i ,wait=True)\n", " poppy.head_y.goto_position(-15, i ,wait=True)\n", " print i\n", "poppy.head_y.goto_position(0,0.1,wait=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####Et si on communiquait...\n", "\n", "Trouves les commandes adéquates pour que Poppy te salue de la main." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# essaies ton propre code!\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "_________________________________________________________________\n", "\n", "\n", "#### Tu as raté? c'est pas grâve, recommmence, essaies ces lignes pour redémarrer :" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "messager.reset_simulation()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Encore buger ? essaies celles-ci :" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pypot\n", "poppy.stop_simulation()\n", "pypot.vrep.close_all_connections()\n", "\n", "from poppy.creatures import PoppyTorso\n", "poppy=PoppyTorso(simulator='vrep')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Tu as fini? coupes la simulation ici:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pypot\n", "poppy.stop_simulation()\n", "pypot.vrep.close_all_connections()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }