pypot/pypot-master/samples/notebooks/sum-of-sinus.ipynb

393 lines
76 KiB
Plaintext
Raw Permalink Normal View History

2025-07-30 11:57:45 +08:00
{
"metadata": {
"name": "",
"signature": "sha256:b0c3d5b1e224252a084a368e1eec8579db0889da6b38e5feeab39603ec211247"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pypot.dynamixel\n",
"import pypot.robot"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ports = pypot.dynamixel.get_available_ports()\n",
"print 'Found ports', ports\n",
"port = ports[0]\n",
"print 'Using', port"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Found ports ['/dev/ttyUSB0']\n",
"Using /dev/ttyUSB0\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"io = pypot.dynamixel.DxlIO(port)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ids = io.scan(range(40))\n",
"print 'Found ids', ids"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Found ids [11, 36, 37]\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"motors = [pypot.dynamixel.motor.DxlMXMotor(id) for id in ids]\n",
"motors"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"[<DxlMotor name=motor_11 id=11 pos=0.0>,\n",
" <DxlMotor name=motor_36 id=36 pos=0.0>,\n",
" <DxlMotor name=motor_37 id=37 pos=0.0>]"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c = pypot.dynamixel.controller.BaseDxlController(io, motors)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"robot = pypot.robot.Robot([c])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"robot.start_sync()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for m in robot.motors:\n",
" m.compliant = False\n",
" m.goal_position = 0"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from pypot.primitive.utils import Sinus"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s1 = Sinus(robot, 50, robot.motors, amp=30)\n",
"s2 = Sinus(robot, 50, robot.motors, amp=5, freq=2)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s1.start()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%pylab inline\n",
"\n",
"import time\n",
"\n",
"pos = []\n",
"\n",
"start = time.time()\n",
"while time.time() - start < 5:\n",
" pos.append(robot.motors[0].present_position)\n",
" time.sleep(0.02)\n",
" \n",
"plot(linspace(0, 5, len(pos)), pos)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 13,
"text": [
"[<matplotlib.lines.Line2D at 0xa39fa0c>]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nSRIBjh83bUlwUWH3AStW+OtW
"text": [
"<matplotlib.figure.Figure at 0x9bd68cc>"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s2.start()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import time\n",
"\n",
"pos = []\n",
"\n",
"start = time.time()\n",
"while time.time() - start < 5:\n",
" pos.append(robot.motors[0].present_position)\n",
" time.sleep(0.02)\n",
" \n",
"plot(linspace(0, 5, len(pos)), pos)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
"[<matplotlib.lines.Line2D at 0xa4fe50c>]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEACAYAAACnJV25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4FGW2+PFvBwIq+yZLWAIJqAlhUUFUwIjgoAJuo+Jc\nn3Hf5o7+XEcdZxTmp45zHfXeO3O9M+46LqDjuOCOSBRFZA9LWJIAGkDWICI7pO4fJy0hhKQ7XVVv\n1Vvn8zx5EjvdXcfQffqtU+97XlBKKaWUUkoppZRSSimllFJKKaWUUkoppZSy3rPAemBhldvGAauB\neZVfI/0PSymlVH0NAfpzcGK/H7jNTDhKKRVtaS48xzRgSw23x1x4bqWUUklyI7Efzk1AIfAM0NLD\n4yillPJAJgeXYo5GRuwx4AEkuSullPJBQ4+ed0OVn58GJlW/Q1ZWllNaWurR4ZVSylqlQHZtd/Cq\nFNOxys/nc/BoHoDS0lIcx9Evx+H+++83HoObXw8/7NCmjUNOjkNenkNmpsMZZziUl0fvb6GviwNf\nL7zg0LWrQ3a2Q/fu8v3xxx22bIne3yKVLyCrrgTsRmJ/FZgOHAOUAVcBfwIWIDX204BbXTiOCoEX\nX4Rnn4WZM2HxYliwAEpKIDcXhg+HHTtMR6hMuOceeOABeP11KC6G0lJ5rcycCTk58M03piO0ixul\nmEtruO1ZF55XhczKlXD77fDZZ9Cjx4HbGzSA//xP+OUv4eqr4ZVXIKZzpiJj+XL5sF+yBFq3ltti\nMTj5ZPl67DE47zz48ks46iizsdrCy1kxKkH5+fmmQ3DFn/4E110nI7DqYjF48kmYMwemTj38c9jy\nt3CDLX+Lp56CK644kNSru/VW6NQJ/vGPwz+HLX8Lv5gcNzmV9SJlgTVrIC8Pli2Ddu0Of78XXpBT\n8ClT/ItNmbN7N3TpAtOnQ3Ytl/s++kjKNXPm6NlcXWLyB6r1r6QjduWKp5+Gf/u32pM6wC9+AStW\nyBtd2W/SJPnAry2pA4wYAd9/L4ldpU4Tu3LFRx/BuefWfb/0dLjrLnjwQe9jUua98gpcdlnd90tL\nkzLeX/7ifUxRoKUYlbKtW6FzZ9i4EY44ou7779oFWVnw7rvQv7/38Skzvv8eunWTGS8tE1h7vmWL\njOznzIHMTM/DCy0txShfTJ0qsxsSSeog97vzTh212+7NN2HYsMSSOkCrVnD99fAf/+FtXFGgiV2l\nbPJkqZEm49prYdo0KCryJiZl3rvvwoUXJveYW2+F116Ti/Cq/jSxq5R9+qksPkpGkyZwyy3wxz96\nE5Myb/ZsOOmk5B7Trh3cey/8+tdQn0rt99/D889LOSfKld7AJnbHgYICuPhiaN4cWrSQWRfFxaYj\nU1WVl8tUxz59kn/sv/87fPyxXGBL1PTp8NxzcNNNkgSaNpVR3v79yR9feWfjRrn2klXn4vdD3XQT\nbNggi5oSNWuWLH7r3l1KQD//OYwaBT/8kPzxbRC4xL51K/z1r7IE/Ve/gqFDZfnx8uUyH/bqq01H\nqKr6+msYMEBWlyareXP45BMZof3ud1BRcfj77tsHjzwib9jPP4e2beXNXFICCxfKqlYVHHPmwPHH\ny2yXZDVsCBMmwN13w1df1X7flSvh1FNlANizJyxdCm+/Lfmia1c47TSZS6/845SVOc6ePY6zbJnj\nfPWV41x/veO0bOk4F1/sOAUFjlNR4Rxk717HycpynM8+c1RA/P73jvPb36b2HBs2OM7gwY5z/vmO\ns22b3FZR4TilpY5TWOg4993nOBkZjjNkiON8882hj9+503Gysx3nvfdSi0O554EHHOfOO1N7jrfe\ncpy2bR1n+HDHef11yRPxryVLHOexxxynfXvHefxxx9m//9DHV1Q4zqhRjvPgg6nFETRAnUUmo9Md\nO3VyiMVkbnPTpvKpe8010LHj4R/0zDNyceWjj/wLVB3emWfCzTfLaW8qdu+GG2+UUfhpp0m/mc2b\nZVQ/fLjMca6t3PPhh1LaWbIEGjVKLRaVugsugEsuka9U7NolpZWnn4aysoN/d+KJ0pvohBMO//iV\nK+WMct48OeO3QSLTHY0m9mnTHJo1g759E3/Qnj3yDzRtGvTq5V1wqm4VFdL/o7i47hWniXAc+Ne/\nYO1aKcWdfnpyy8tPP10+HC6+OPVYVGq6dpWL6nWtOPXD9ddLHHfeaToSdwQ+sTv1vGx9112SVB55\nxOWIVFKKimDMGKlzB8GECdJwSvvQmLVunTSC27w5GH1f3n8fHn5Yrs3YwNoFStdeK82k9KKIWfPm\nyQWyoDj/fFi0SGdOmfbVVzBoUDCSOsgiqfnzYdMm05H4J5SJPTtbRgQff2w6kmibPx/69TMdxQGN\nG8Oll8LEiaYjibavvpKVyEFxxBFwxhkyco+KUCZ2gJEjZcWjMqewMLnrI34YNsyeU+6wmjFDRuxB\nMmoUfPCB6Sj8E8oaO8g82csuk1kQyn+OA+3bSzkmI8N0NAeUl0sDqfJymQ+t/LV3r/R8WbtWZjQF\nRWmprIlZvTo4JaL6srbGDtIVcONG+YdS/lu3Ti5gd+pkOpKDtW4tHQXnzTMdSTQVFsrqzyAldTiw\nVeOKFWbj8EtoE3tamtTNtBxjRry+HsTRz9ChWo4xZe5cmV8eNLFYtF4XoU3sIIm9oMB0FNFUWBis\nC6dVRekNHDSLF8sahCAaOlTWv0RBqBP7gAG6lZYp8+cH78Jp3Ekn6evClKKiYCf2zz4zHYU/Qp3Y\nc3NlyfCPP5qOJHqCPGLv1k1eExs3mo4keoqKZCpyEB13nLwmtmwxHYn33EjszwLrgYVVbmsNTAaW\nAx8DCe6hkpxGjaB3bxk9Kv/s2CHbnR17rOlIahaLyYdOYaHpSKLl+++lO2tQe7KkpUm+WLiw7vuG\nnRuJ/TlgZLXb7kYSey9gSuV/e+LEE6Whv/LPokWS1NPTTUdyeH376ge+35YskVFxfVr1+qVPH1iw\nwHQU3nPjn2AaUP3kZgzwQuXPLwDnuXCcGmli91+Q6+txOmL3X5DLMHF9+uiIPRXtkfIMld/be3Qc\nTjhBZsY88ki0ekGYFLRWAjXp109H7H4L8oXTuLy8aIzY/Vibd9jG8OPGjfvp5/z8fPLz85N+8txc\naQr28suyq86VV9YzSpWwwsLgt8bNyZGuk7t2Sa8Q5b3Fi6V1cpDl5UkpsaIi2CWjqgoKCihIcl63\nW8tLMoFJQF7lfy8F8oF1QEdgKlD9UltKLQWqe/hhGbH/+c+uPaWqgePI/rOrVskqzyDr00f2R61t\nIwblnq5d5ew5vsozqLp1k17x9dmPNQhMthR4B7i88ufLgbc8Os5PcnPlVFB5a80aOOqo4Cd10Dq7\nn374QQZW3bqZjqRueXn219ndSOyvAtOBY4Ay4ErgYWAEMt1xWOV/eyo3V04FlbfiMx/CQGfG+Gfp\nUpkpVZ9Nzf0WhZkxbtTYLz3M7cNdeO6EZWbKiGHbNmjWzM8jR0uYEnu/frJjvfJeGGbExPXpA//8\np+kovBWSywd1S0uTEYOWY7wVpsTet6+UYioqTEdivzDMiImLwpRHaxI7aJ3dD0VF4UnsbdtK+9hV\nq0xHYr8wjdh79oSyMllBbSurEntOjtbZvRamETscGLUrby1eHJ7Enp4Oxxxjd66wKrHrBVRvbdok\nG4gHbXON2kRhBoRp27fLxivdu5uOJHG2X0DVxK4SFp/5EMTNNQ6na1fdZctrS5dCr17h2oowLw8m\nTbJ3ox6rEntmJmzeLHNqlftKS6U+GSYZGTL3XnknTPX1uLPPlqmZo0ZJV0rbWJXY4zNjdINrb5SW\nBn9VYXWa2L0XphkxcTk58MYbMhhct850NO6zKrGDlmO8tGKFJnZ1qDCO2OM6dNDEHgo5OTrl0Ssr\nVoSvv8bRR8vmD7t3m47EXprYg8e6xK4jdu+EsRSTliZv3rVrTUdip5075eJ02D7w4zSxh4Qmdm/8\n+KNclO7Y0XQkydNyjHeWLZOk
"text": [
"<matplotlib.figure.Figure at 0x9bb920c>"
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s1.stop()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import time\n",
"\n",
"pos = []\n",
"\n",
"start = time.time()\n",
"while time.time() - start < 5:\n",
" pos.append(robot.motors[0].present_position)\n",
" time.sleep(0.02)\n",
" \n",
"plot(linspace(0, 5, len(pos)), pos)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
"[<matplotlib.lines.Line2D at 0xa54d9ac>]"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nyJHalpYvC6Ven4D5Y6EcPy6T
"text": [
"<matplotlib.figure.Figure at 0xa5d560c>"
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s2.stop()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import time\n",
"\n",
"pos = []\n",
"\n",
"s1.start()\n",
"s2.start()\n",
"start = time.time()\n",
"while time.time() - start < 10:\n",
" pos.append(robot.motors[0].present_position)\n",
" time.sleep(0.02)\n",
" \n",
" if (3 < time.time() - start < 9):\n",
" s2.pause()\n",
" else:\n",
" s2.resume()\n",
" \n",
"plot(linspace(0, 10, len(pos)), pos)\n",
"\n",
"s1.stop()\n",
"s2.stop()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nnWL8+IBJk+SaxgXvRP6HP4S/
"text": [
"<matplotlib.figure.Figure at 0x9bd61ac>"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}