|
328 | 328 | "\n",
|
329 | 329 | "# Create the closed loop system for the state space controller\n",
|
330 | 330 | "cruise_sf = ct.InterconnectedSystem(\n",
|
331 |
| - " (vehicle, control_sf), name='cruise',\n", |
332 |
| - " connections=(\n", |
333 |
| - " ('vehicle.u', 'control.u'),\n", |
334 |
| - " ('control.x', 'vehicle.v'),\n", |
335 |
| - " ('control.y', 'vehicle.v')),\n", |
336 |
| - " inplist=('control.r', 'vehicle.gear', 'vehicle.theta'),\n", |
337 |
| - " outlist=('control.u', 'vehicle.v'), outputs=['u', 'v'])\n", |
| 331 | + " [vehicle, control_sf], name='cruise',\n", |
| 332 | + " connections=[\n", |
| 333 | + " ['vehicle.u', 'control.u'],\n", |
| 334 | + " ['control.x', 'vehicle.v'],\n", |
| 335 | + " ['control.y', 'vehicle.v']],\n", |
| 336 | + " inplist=['control.r', 'vehicle.gear', 'vehicle.theta'],\n", |
| 337 | + " outlist=['control.u', 'vehicle.v'], outputs=['u', 'v'])\n", |
338 | 338 | "\n",
|
339 | 339 | "# Define the time and input vectors\n",
|
340 | 340 | "T = np.linspace(0, 25, 501)\n",
|
|
460 | 460 | "# Construct the closed loop system and plot the response\n",
|
461 | 461 | "# Create the closed loop system for the state space controller\n",
|
462 | 462 | "cruise_pz = ct.InterconnectedSystem(\n",
|
463 |
| - " (vehicle, control_pz), name='cruise_pz',\n", |
464 |
| - " connections = (\n", |
465 |
| - " ('control.u', '-vehicle.v'),\n", |
466 |
| - " ('vehicle.u', 'control.y')),\n", |
467 |
| - " inplist = ('control.u', 'vehicle.gear', 'vehicle.theta'),\n", |
468 |
| - " inputs = ('vref', 'gear', 'theta'),\n", |
469 |
| - " outlist = ('vehicle.v', 'vehicle.u'),\n", |
470 |
| - " outputs = ('v', 'u'))\n", |
| 463 | + " [vehicle, control_pz], name='cruise_pz',\n", |
| 464 | + " connections = [\n", |
| 465 | + " ['control.u', '-vehicle.v'],\n", |
| 466 | + " ['vehicle.u', 'control.y']],\n", |
| 467 | + " inplist = ['control.u', 'vehicle.gear', 'vehicle.theta'],\n", |
| 468 | + " inputs = ['vref', 'gear', 'theta'],\n", |
| 469 | + " outlist = ['vehicle.v', 'vehicle.u'],\n", |
| 470 | + " outputs = ['v', 'u'])\n", |
471 | 471 | "\n",
|
472 | 472 | "# Find the equilibrium point\n",
|
473 | 473 | "X0, U0 = ct.find_eqpt(\n",
|
|
546 | 546 | " \n",
|
547 | 547 | " # Construct the closed loop system by interconnecting process and controller\n",
|
548 | 548 | " cruise_tf = ct.InterconnectedSystem(\n",
|
549 |
| - " (vehicle, control_tf), name='cruise',\n", |
550 |
| - " connections = [('control.u', '-vehicle.v'), ('vehicle.u', 'control.y')],\n", |
551 |
| - " inplist = ('control.u', 'vehicle.gear', 'vehicle.theta'), \n", |
552 |
| - " inputs = ('vref', 'gear', 'theta'),\n", |
553 |
| - " outlist = ('vehicle.v', 'vehicle.u'), outputs = ('v', 'u'))\n", |
| 549 | + " [vehicle, control_tf], name='cruise',\n", |
| 550 | + " connections = [['control.u', '-vehicle.v'], ['vehicle.u', 'control.y']],\n", |
| 551 | + " inplist = ['control.u', 'vehicle.gear', 'vehicle.theta'], \n", |
| 552 | + " inputs = ['vref', 'gear', 'theta'],\n", |
| 553 | + " outlist = ['vehicle.v', 'vehicle.u'], outputs = ['v', 'u'])\n", |
554 | 554 | "\n",
|
555 | 555 | " # Plot the velocity response\n",
|
556 | 556 | " X0, U0 = ct.find_eqpt(\n",
|
|
593 | 593 | " \n",
|
594 | 594 | " # Construct the closed loop system by interconnecting process and controller\n",
|
595 | 595 | " cruise_tf = ct.InterconnectedSystem(\n",
|
596 |
| - " (vehicle, control_tf), name='cruise',\n", |
597 |
| - " connections = [('control.u', '-vehicle.v'), ('vehicle.u', 'control.y')],\n", |
598 |
| - " inplist = ('control.u', 'vehicle.gear', 'vehicle.theta'), \n", |
599 |
| - " inputs = ('vref', 'gear', 'theta'),\n", |
600 |
| - " outlist = ('vehicle.v', 'vehicle.u'), outputs = ('v', 'u'))\n", |
| 596 | + " [vehicle, control_tf], name='cruise',\n", |
| 597 | + " connections = [['control.u', '-vehicle.v'], ['vehicle.u', 'control.y']],\n", |
| 598 | + " inplist = ['control.u', 'vehicle.gear', 'vehicle.theta'], \n", |
| 599 | + " inputs = ['vref', 'gear', 'theta'],\n", |
| 600 | + " outlist = ['vehicle.v', 'vehicle.u'], outputs = ['v', 'u'])\n", |
601 | 601 | "\n",
|
602 | 602 | " # Plot the velocity response\n",
|
603 | 603 | " X0, U0 = ct.find_eqpt(\n",
|
|
630 | 630 | " name='control', inputs='u', outputs='y')\n",
|
631 | 631 | "\n",
|
632 | 632 | "cruise_tf = ct.InterconnectedSystem(\n",
|
633 |
| - " (vehicle, control_tf), name='cruise',\n", |
634 |
| - " connections = [('control.u', '-vehicle.v'), ('vehicle.u', 'control.y')],\n", |
635 |
| - " inplist = ('control.u', 'vehicle.gear', 'vehicle.theta'), inputs = ('vref', 'gear', 'theta'),\n", |
636 |
| - " outlist = ('vehicle.v', 'vehicle.u'), outputs = ('v', 'u'))" |
| 633 | + " [vehicle, control_tf], name='cruise',\n", |
| 634 | + " connections = [['control.u', '-vehicle.v'], ['vehicle.u', 'control.y']],\n", |
| 635 | + " inplist = ['control.u', 'vehicle.gear', 'vehicle.theta'], inputs = ['vref', 'gear', 'theta'],\n", |
| 636 | + " outlist = ['vehicle.v', 'vehicle.u'], outputs = ['v', 'u'])" |
637 | 637 | ]
|
638 | 638 | },
|
639 | 639 | {
|
|
750 | 750 | "\n",
|
751 | 751 | "# Create the closed loop system\n",
|
752 | 752 | "cruise_pi = ct.InterconnectedSystem(\n",
|
753 |
| - " (vehicle, control_pi), name='cruise',\n", |
754 |
| - " connections=(\n", |
755 |
| - " ('vehicle.u', 'control.u'),\n", |
756 |
| - " ('control.v', 'vehicle.v')),\n", |
757 |
| - " inplist=('control.vref', 'vehicle.gear', 'vehicle.theta'),\n", |
758 |
| - " outlist=('control.u', 'vehicle.v'), outputs=['u', 'v'])" |
| 753 | + " [vehicle, control_pi], name='cruise',\n", |
| 754 | + " connections=[\n", |
| 755 | + " ['vehicle.u', 'control.u'],\n", |
| 756 | + " ['control.v', 'vehicle.v']],\n", |
| 757 | + " inplist=['control.vref', 'vehicle.gear', 'vehicle.theta'],\n", |
| 758 | + " outlist=['control.u', 'vehicle.v'], outputs=['u', 'v'])" |
759 | 759 | ]
|
760 | 760 | },
|
761 | 761 | {
|
|
0 commit comments