Skip to content

Commit 52e7987

Browse files
committed
added debug file to gitignore
1 parent 5447352 commit 52e7987

2 files changed

Lines changed: 10 additions & 14 deletions

File tree

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,6 @@ examples/logs/
3131
.vscode/settings.json
3232
.vscode/launch.json
3333
plots/
34-
saved_plots/
34+
saved_plots/
35+
36+
*/debug.ipynb

src/debug.ipynb

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
},
2020
{
2121
"cell_type": "code",
22-
"execution_count": null,
22+
"execution_count": 2,
2323
"id": "2687846d",
2424
"metadata": {},
2525
"outputs": [],
@@ -101,25 +101,19 @@
101101
},
102102
{
103103
"cell_type": "code",
104-
"execution_count": 2,
104+
"execution_count": null,
105105
"id": "29fd011d",
106106
"metadata": {},
107107
"outputs": [
108108
{
109-
"ename": "AttributeError",
110-
"evalue": "module 'numpy' has no attribute 'complex'.\n`np.complex` was a deprecated alias for the builtin `complex`. To avoid this error in existing code, use `complex` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.complex128` here.\nThe aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:\n https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations",
109+
"ename": "NameError",
110+
"evalue": "name 'gem' is not defined",
111111
"output_type": "error",
112112
"traceback": [
113113
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
114-
"\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)",
115-
"Cell \u001b[1;32mIn[2], line 19\u001b[0m\n\u001b[0;32m 16\u001b[0m env \u001b[38;5;241m=\u001b[39m gem\u001b[38;5;241m.\u001b[39mmake(env_id, physical_system_wrappers\u001b[38;5;241m=\u001b[39mphysical_system_wrappers)\n\u001b[0;32m 18\u001b[0m \u001b[38;5;66;03m# Initialize the controller\u001b[39;00m\n\u001b[1;32m---> 19\u001b[0m c \u001b[38;5;241m=\u001b[39m \u001b[43mgc\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mGemController\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmake\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 20\u001b[0m \u001b[43m \u001b[49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 21\u001b[0m \u001b[43m \u001b[49m\u001b[43menv_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 22\u001b[0m \u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m8\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 23\u001b[0m \u001b[43m \u001b[49m\u001b[43mblock_diagram\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[0;32m 24\u001b[0m \u001b[43m \u001b[49m\u001b[43mcurrent_safety_margin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0.25\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 25\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# save_block_diagram_as=(),\u001b[39;49;00m\n\u001b[0;32m 26\u001b[0m \u001b[43m)\u001b[49m\n\u001b[0;32m 28\u001b[0m \u001b[38;5;66;03m# Control the environment\u001b[39;00m\n\u001b[0;32m 29\u001b[0m c\u001b[38;5;241m.\u001b[39mcontrol_environment(env, n_steps\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m30000\u001b[39m, render_env\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, max_episode_length\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m10000\u001b[39m)\n",
116-
"File \u001b[1;32mc:\\Users\\Valliammai\\PE_proj\\gym-electric-motor\\src\\gem_controllers\\gem_controller.py:94\u001b[0m, in \u001b[0;36mGemController.make\u001b[1;34m(cls, env, env_id, decoupling, current_safety_margin, base_current_controller, base_speed_controller, a, should_plot, plot_references, block_diagram, save_block_diagram_as)\u001b[0m\n\u001b[0;32m 91\u001b[0m controller \u001b[38;5;241m=\u001b[39m gc\u001b[38;5;241m.\u001b[39mGymElectricMotorAdapter(env, env_id, controller)\n\u001b[0;32m 93\u001b[0m \u001b[38;5;66;03m# Fit the controllers parameters to the environment\u001b[39;00m\n\u001b[1;32m---> 94\u001b[0m controller\u001b[38;5;241m.\u001b[39mtune(env, env_id, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mtuner_kwargs)\n\u001b[0;32m 96\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m block_diagram:\n\u001b[0;32m 97\u001b[0m controller\u001b[38;5;241m.\u001b[39mbuild_block_diagram(env_id, save_block_diagram_as)\n",
117-
"File \u001b[1;32mc:\\Users\\Valliammai\\PE_proj\\gym-electric-motor\\src\\gem_controllers\\gem_adapter.py:110\u001b[0m, in \u001b[0;36mGymElectricMotorAdapter.tune\u001b[1;34m(self, env, env_id, tune_controller, **kwargs)\u001b[0m\n\u001b[0;32m 108\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_output_stage\u001b[38;5;241m.\u001b[39mtune(env, env_id)\n\u001b[0;32m 109\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m tune_controller:\n\u001b[1;32m--> 110\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_controller\u001b[38;5;241m.\u001b[39mtune(env, env_id, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 112\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_reference_plotter\u001b[38;5;241m.\u001b[39mtune(\n\u001b[0;32m 113\u001b[0m env,\n\u001b[0;32m 114\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_controller\u001b[38;5;241m.\u001b[39mreferenced_states,\n\u001b[0;32m 115\u001b[0m plot_references\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[0;32m 116\u001b[0m maximum_reference\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_controller\u001b[38;5;241m.\u001b[39mmaximum_reference,\n\u001b[0;32m 117\u001b[0m )\n",
118-
"File \u001b[1;32mc:\\Users\\Valliammai\\PE_proj\\gym-electric-motor\\src\\gem_controllers\\torque_controller.py:114\u001b[0m, in \u001b[0;36mTorqueController.tune\u001b[1;34m(self, env, env_id, current_safety_margin, tune_current_controller, **kwargs)\u001b[0m\n\u001b[0;32m 112\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_current_controller\u001b[38;5;241m.\u001b[39mtune(env, env_id, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 113\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_clipping_stage\u001b[38;5;241m.\u001b[39mtune(env, env_id, margin\u001b[38;5;241m=\u001b[39mcurrent_safety_margin)\n\u001b[1;32m--> 114\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_operation_point_selection\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtune\u001b[49m\u001b[43m(\u001b[49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43menv_id\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcurrent_safety_margin\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 115\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_referenced_currents \u001b[38;5;241m=\u001b[39m gc\u001b[38;5;241m.\u001b[39mparameter_reader\u001b[38;5;241m.\u001b[39mcurrents[gc\u001b[38;5;241m.\u001b[39mutils\u001b[38;5;241m.\u001b[39mget_motor_type(env_id)]\n\u001b[0;32m 116\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m current, action_range_low, action_range_high \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(\n\u001b[0;32m 117\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_referenced_currents, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_clipping_stage\u001b[38;5;241m.\u001b[39maction_range[\u001b[38;5;241m0\u001b[39m], \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_clipping_stage\u001b[38;5;241m.\u001b[39maction_range[\u001b[38;5;241m1\u001b[39m]\n\u001b[0;32m 118\u001b[0m ):\n",
119-
"File \u001b[1;32mc:\\Users\\Valliammai\\PE_proj\\gym-electric-motor\\src\\gem_controllers\\stages\\operation_point_selection\\eesm_ops.py:108\u001b[0m, in \u001b[0;36mEESMOperationPointSelection.tune\u001b[1;34m(self, env, env_id, current_safety_margin)\u001b[0m\n\u001b[0;32m 94\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mloss \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mlambda\u001b[39;00m i_d, i_q, i_e: np\u001b[38;5;241m.\u001b[39mabs(i_d) \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mr_s \u001b[38;5;241m+\u001b[39m np\u001b[38;5;241m.\u001b[39mabs(i_q) \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mr_s \u001b[38;5;241m+\u001b[39m np\u001b[38;5;241m.\u001b[39mabs(i_e) \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mr_e\n\u001b[0;32m 96\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpoly \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mlambda\u001b[39;00m i_e, psi, torque: [\n\u001b[0;32m 97\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_d\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m \u001b[38;5;241m*\u001b[39m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_d \u001b[38;5;241m-\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_q) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m,\n\u001b[0;32m 98\u001b[0m \u001b[38;5;241m2\u001b[39m \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_d\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m \u001b[38;5;241m*\u001b[39m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_d \u001b[38;5;241m-\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_q) \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_m \u001b[38;5;241m*\u001b[39m i_e\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 105\u001b[0m ((\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_m \u001b[38;5;241m*\u001b[39m i_e) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;241m-\u001b[39m psi\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m) \u001b[38;5;241m*\u001b[39m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_m \u001b[38;5;241m*\u001b[39m i_e) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;241m+\u001b[39m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ml_q \u001b[38;5;241m*\u001b[39m torque \u001b[38;5;241m/\u001b[39m (\u001b[38;5;241m3\u001b[39m \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mp)) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m \u001b[38;5;241m2\u001b[39m,\n\u001b[0;32m 106\u001b[0m ]\n\u001b[1;32m--> 108\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_calculate_luts\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
120-
"File \u001b[1;32mc:\\Users\\Valliammai\\PE_proj\\gym-electric-motor\\src\\gem_controllers\\stages\\operation_point_selection\\eesm_ops.py:184\u001b[0m, in \u001b[0;36mEESMOperationPointSelection._calculate_luts\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 180\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mi_q_opt \u001b[38;5;241m=\u001b[39m sp_interpolate\u001b[38;5;241m.\u001b[39minterp1d(best_params[:, \u001b[38;5;241m0\u001b[39m], best_params[:, \u001b[38;5;241m3\u001b[39m], kind\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcubic\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 181\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mi_e_opt \u001b[38;5;241m=\u001b[39m sp_interpolate\u001b[38;5;241m.\u001b[39minterp1d(best_params[:, \u001b[38;5;241m0\u001b[39m], best_params[:, \u001b[38;5;241m4\u001b[39m], kind\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcubic\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 183\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mt_grid, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpsi_grid \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mmgrid[\n\u001b[1;32m--> 184\u001b[0m \u001b[38;5;241m0\u001b[39m : \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mt_max : \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcomplex\u001b[49m(\u001b[38;5;241m0\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mt_grid_count), \u001b[38;5;241m0\u001b[39m : \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpsi_max : np\u001b[38;5;241m.\u001b[39mcomplex(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpsi_grid_count)\n\u001b[0;32m 185\u001b[0m ]\n\u001b[0;32m 187\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mi_d_inter \u001b[38;5;241m=\u001b[39m sp_interpolate\u001b[38;5;241m.\u001b[39mgriddata(\n\u001b[0;32m 188\u001b[0m (best_params_psi[:, \u001b[38;5;241m0\u001b[39m], best_params_psi[:, \u001b[38;5;241m1\u001b[39m]),\n\u001b[0;32m 189\u001b[0m best_params_psi[:, \u001b[38;5;241m2\u001b[39m],\n\u001b[0;32m 190\u001b[0m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mt_grid, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpsi_grid),\n\u001b[0;32m 191\u001b[0m method\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlinear\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 192\u001b[0m )\n\u001b[0;32m 193\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mi_q_inter \u001b[38;5;241m=\u001b[39m sp_interpolate\u001b[38;5;241m.\u001b[39mgriddata(\n\u001b[0;32m 194\u001b[0m (best_params_psi[:, \u001b[38;5;241m0\u001b[39m], best_params_psi[:, \u001b[38;5;241m1\u001b[39m]),\n\u001b[0;32m 195\u001b[0m best_params_psi[:, \u001b[38;5;241m3\u001b[39m],\n\u001b[0;32m 196\u001b[0m (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mt_grid, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpsi_grid),\n\u001b[0;32m 197\u001b[0m method\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlinear\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 198\u001b[0m )\n",
121-
"File \u001b[1;32mc:\\Users\\Valliammai\\anaconda3\\envs\\proj\\lib\\site-packages\\numpy\\__init__.py:424\u001b[0m, in \u001b[0;36m__getattr__\u001b[1;34m(attr)\u001b[0m\n\u001b[0;32m 419\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[0;32m 420\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIn the future `np.\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mattr\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m` will be defined as the \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 421\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcorresponding NumPy scalar.\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;167;01mFutureWarning\u001b[39;00m, stacklevel\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m)\n\u001b[0;32m 423\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m attr \u001b[38;5;129;01min\u001b[39;00m __former_attrs__:\n\u001b[1;32m--> 424\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(__former_attrs__[attr])\n\u001b[0;32m 426\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m attr \u001b[38;5;129;01min\u001b[39;00m __expired_attributes__:\n\u001b[0;32m 427\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(\n\u001b[0;32m 428\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m`np.\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mattr\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m` was removed in the NumPy 2.0 release. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 429\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m__expired_attributes__[attr]\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 430\u001b[0m )\n",
122-
"\u001b[1;31mAttributeError\u001b[0m: module 'numpy' has no attribute 'complex'.\n`np.complex` was a deprecated alias for the builtin `complex`. To avoid this error in existing code, use `complex` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.complex128` here.\nThe aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:\n https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations"
114+
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
115+
"Cell \u001b[1;32mIn[4], line 18\u001b[0m\n\u001b[0;32m 15\u001b[0m physical_system_wrappers \u001b[38;5;241m=\u001b[39m (FluxObserver(),) \u001b[38;5;28;01mif\u001b[39;00m motor_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSCIM\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m ()\n\u001b[0;32m 17\u001b[0m \u001b[38;5;66;03m# Initilize the environment\u001b[39;00m\n\u001b[1;32m---> 18\u001b[0m env \u001b[38;5;241m=\u001b[39m \u001b[43mgem\u001b[49m\u001b[38;5;241m.\u001b[39mmake(env_id, physical_system_wrappers\u001b[38;5;241m=\u001b[39mphysical_system_wrappers)\n\u001b[0;32m 20\u001b[0m \u001b[38;5;66;03m# Initialize the controller\u001b[39;00m\n\u001b[0;32m 21\u001b[0m c \u001b[38;5;241m=\u001b[39m gc\u001b[38;5;241m.\u001b[39mGemController\u001b[38;5;241m.\u001b[39mmake(\n\u001b[0;32m 22\u001b[0m env,\n\u001b[0;32m 23\u001b[0m env_id,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 27\u001b[0m \u001b[38;5;66;03m# save_block_diagram_as=(),\u001b[39;00m\n\u001b[0;32m 28\u001b[0m )\n",
116+
"\u001b[1;31mNameError\u001b[0m: name 'gem' is not defined"
123117
]
124118
}
125119
],

0 commit comments

Comments
 (0)