{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial 14: Indirect & Direct Collocation Optimal Control\n", "\n", "This tutorial covers Continuous Thrust Guidance using **Indirect Methods** (Pontryagin's Minimum Principle) and **Direct Methods** (Direct Collocation) to solve low-thrust trajectory optimization problems.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Theory Prerequisite\n", "\n", "### 1.1 Indirect Method (PMP)\n", "Formulates the problem by augmenting the state $x$ with costates $\\lambda$ and forming the Hamiltonian $H$. Necessary conditions for optimality require solving a **Boundary Value Problem (BVP)**:\n", "$$\\dot{x} = \\frac{\\partial H}{\\partial \\lambda}, \\quad \\dot{\\lambda} = -\\frac{\\partial H}{\\partial x}$$\n", "With boundary conditions for state at $t_0$ and $t_f$.\n", "\n", "### 1.2 Direct Collocation\n", "Discretizes the trajectory into a series of $N$ nodes. States and controls at nodes are treated as optimization variables. Linear/Quad constraints enforce that the dynamics update rule holds (e.g., Trapezoidal rule).\n", "\n", "- **Objective**: Minimize total control effort $\\int ||u(t)||^2 dt \\approx \\sum ||u_i||^2$\n", "- **Constraints**: $\\dot{x} = f(x, u)$ enforced via algebraic transcription formulation." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Imports successful.\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from opengnc.guidance.continuous_thrust import indirect_optimal_guidance, direct_collocation_guidance\n", "\n", "print(\"Imports successful.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Demonstration: Indirect Optimal Guidance (BVP)\n", "\n", "We solve for a continuous thrust maneuver from position $r_0$ to $r_f$ with specified velocities in a given time." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solving BVP (Indirect Method)... This might take a few seconds.\n", "Optimal Solution Found!\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mu = 398600.4418\n", "r0 = np.array([7000.0, 0.0, 0.0])\n", "v0 = np.array([0.0, 7.5, 0.0])\n", "\n", "rf = np.array([0.0, 7000.0, 0.0])\n", "vf = np.array([-7.5, 0.0, 0.0])\n", "\n", "tf = 1800.0 # 30 minutes transfer time\n", "\n", "print(\"Solving BVP (Indirect Method)... This might take a few seconds.\")\n", "t_array, acc_profile = indirect_optimal_guidance(r0, v0, rf, vf, tf, mu)\n", "\n", "if t_array is not None:\n", " print(\"Optimal Solution Found!\")\n", " plt.figure(figsize=(10, 4))\n", " plt.plot(t_array, acc_profile[0, :], label='Thrust $u_x$')\n", " plt.plot(t_array, acc_profile[1, :], label='Thrust $u_y$')\n", " plt.plot(t_array, acc_profile[2, :], label='Thrust $u_z$')\n", " plt.xlabel('Time [s]')\n", " plt.ylabel('Acceleration [$km/s^2$]')\n", " plt.title('Indirect Optimal Guidance Thrust Profile')\n", " plt.legend()\n", " plt.grid(True)\n", " plt.show()\n", "else:\n", " print(\"Solver did not converge. Sensitivity to initial guess high (standard BVP issue).\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Demonstration: Direct Collocation Guidance\n", "\n", "Direct methods aggregate state trajectories into large sparse formulations." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solving Direct Collocation NLP...\n", "Direct Collocation Solved!\n" ] }, { "data": { "image/png": "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/fTPHTu0l+TS5cRpIqEenI46sAfqwR6oB3ugHuyBeoiseki14X2j1bvOkQHaPffcIwMGDMhznXr16pmA6fDhwz7LMzIyTGZHfc4fXZ6eni5HjhzxaUXTLI7Wa2rUqGH+b9y4sef5KlWqSOXKlWXv3r25likxMdE8stOTyy4Xup3KUlje5XbyfkRC+SMBdWAP1IM9UA/2QD3YA/UQGfUQb8P7xoKWwZYBmgZD+shP69atTaCl48qaN29uli1dutS0gLVq1crva3Q9PThLliwx6fXVrl27TOCl21Nt27b1LD/zzDPNzxr0/fbbb1KnTp2g7ScAAAAAREyafU3g0bVrVxk8eLCsX79eVq1aJcOGDZO+fft6Mjhqog9NAqLPKx1PpnOlaVdE7a6owd1tt91mgjNNEKLOPfdcufbaa2XEiBGyevVq2b59u/Tv399s58orrwzrPgMAAACIXI4O0NSsWbNM4KTp8DW9/qWXXiozZszw6ceqLWHeg/Kee+456d69u2lBa9eunena+MEHH/hs98033zStcN26dZPLL7/ctLppSn87NI8CAAAAiEy27OJYGJqxUec0y03dunXF7Xb7LCtZsqRMmzbNPHKjST10vjR9AAAAAEBxcHwLGgAAAABECgI0AAAAALAJAjQAAAAAsAkCNAAAAACwCQI0AAAAALAJAjQAAAAAsAkCNAAAAACwCQI0AAAAALAJAjQAAAAAsAkCNAAAAACwCQI0AAAAALAJAjQAAAAAsAkCNAAAAACwCQI0AAAAALAJAjQAAAAAsAkCNAAAAACwCQI0AAAAALAJAjQAAAAAsAkCNAAAAACwCQI0AAAAALAJAjQAAAAAsAkCNAAAAACwCQI0AAAAALAJAjQAAAAAsAnHB2h//PGH3HTTTVK2bFkpX768DBo0SI4fP57na06dOiV33nmnVKpUSUqXLi19+vSRQ4cO+ayzYcMG6dChg9lmhQoVpEuXLrJ169YQ7w0AAACAaOb4AE2Dsx07dsiiRYtk3rx5snLlShkyZEier7n77rvl008/lblz58qKFStk//790rt3b8/zGuB17dpVateuLevWrZMvv/xSypQpY4I0l8tVDHsFAAAAIBrFiYPt3LlT5s+fb1q7WrRoYZZNnTpVrr76annmmWekZs2aOV5z9OhRefXVV2X27NnSvn17s+y1116TRo0aydq1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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(\"Solving Direct Collocation NLP...\")\n", "sol = direct_collocation_guidance(r0, v0, rf, vf, tf, mu, n_nodes=15)\n", "\n", "if sol is not None:\n", " print(\"Direct Collocation Solved!\")\n", " # sol shape: (n_nodes, 9) where state layout is [rx, ry, rz, vx, vy, vz, ax, ay, az]\n", " accs = sol[:, 6:9]\n", " time_colloc = np.linspace(0, tf, 15)\n", " \n", " plt.figure(figsize=(10, 4))\n", " plt.step(time_colloc, accs[:, 0], where='post', label='Thrust $u_x$')\n", " plt.step(time_colloc, accs[:, 1], where='post', label='Thrust $u_y$')\n", " plt.xlabel('Time [s]')\n", " plt.ylabel('Acceleration [$km/s^2$]')\n", " plt.title('Direct Collocation Nodes Acceleration Schedule')\n", " plt.legend()\n", " plt.grid(True)\n", " plt.show()\n", "else:\n", " print(\"Direct Collocation Solver failed to find feasible point.\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.11" } }, "nbformat": 4, "nbformat_minor": 4 }