|
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