{ "cells": [ { "cell_type": "markdown", "id": "f5d26193-2397-471a-92a9-d3807011f5c0", "metadata": {}, "source": [ "# Rudder Kick\n", "\n", "Simulate a pilot performing a rudder kick test by inputing a rudder input based\n", "on a ramp input. Aileron input is also included to maintain a steady heading \n", "sideslip (SHSS). The time histories of the control inputs and beta (sideslip angle)\n", "are plotted." ] }, { "cell_type": "code", "execution_count": 1, "id": "colab-install", "metadata": {}, "outputs": [], "source": [ "import sys\n", "\n", "if 'google.colab' in sys.modules:\n", " print('Running on Google Colab – installing jsbsim …')\n", " !pip install jsbsim\n", "\n", "PATH_TO_JSBSIM_FILES = None\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "29d541ce-e572-4671-a55c-6e583b5e8c95", "metadata": {}, "outputs": [ { "data": { "image/png": "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6HgdEhKikJCQes9VVFQoMzNT06dPd9wzm80aP368li1b1mDb8+fP18iRI3Xbbbfp888/V9euXXXllVfqwQcfVEBAQJPjslgsmjdvnhYsWKD9+/fLarXWef9///tfS35MBwIGtDlVFquyd+RLkobWq79QPXshMV0K6eieDmsvj6DAIwAAAIBm6tevX53XM2bM0OOPP17vuYMHD8pisSguLq7O/bi4OG3YsKHBtrdt26b//e9/uuqqq/Tll19qy5YtuvXWW1VZWakZM2Y0Oa677rpL8+bN0znnnKMBAwbI5KbvOQQMaHM27C1SaYVFESGBOiH2mBDBXuDRXdtTStRfAAAAAOCUdevWKSkpyfG6odkLzrJarYqNjdXrr7+ugIAADR06VLt27dKf//zn4wYMH374of75z3/q7LPPdtt4JAIGtEFZ1QUe01NjZDYfk7Tl2gOGU9zXoX2LSgIGAAAAAC0QERGhyMjI4z7XpUsXBQQEaN++fXXu79u3T/Hx8Q1+JiEhQUFBQXWWQ/Tt21d79+5VRUWFgoODG+0vODhYvXr1auZP0XxsU4k2x15/YWjKMcsjCnZJR3Ikk9l99RcqKqRffzWu2aISAAAAgAcEBwdr6NChWrBggeOe1WrVggULNHLkyAY/M3r0aG3ZsqVO/YRNmzYpISGhyXBBku6991699NJLstls7vkBqjGDAW3OypzqgOHY+gv27SkTBkmhx08Jm8Ve4DEmRure3T1tAgAAAMAxpk2bpilTpigjI0PDhg3T7NmzVVJS4thV4tprr1VSUpJmzpwpSbrlllv08ssv66677tIdd9yhzZs365lnntGdd9553L6WLFmiH374QV999ZX69+/v2IXC7pNPPnHqZyBgQJuyt6BMu/KPymySBqdE133TXn8h1QP1F4YMocAjAAAAAI+57LLLdODAAT322GPau3evBg8erK+//tpR+DEvL09mc80ihOTkZH3zzTe65557dNJJJykpKUl33XWXHnzwweP2FR0drQsvvNDtPwMBA9oUe/2FPvGR6hhyzK+vo8DjGPd1SP0FAAAAAF5y++236/bbb2/wvYULF9a7N3LkSC1fvrzF/bzzzjst/kxzEDCgTXHUXzh2eUTRXunwVkkmKaXhNUrOdVg9g4H6CwAAAADamQMHDmjjxo2SpN69e6tr164utUeRR7QpjQYM9tkL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X7BviwkAAAAAcEmLizw+8cQTmjVrli677DIVFBRo2rRpuuiii2Q2m/X44497YIhor7J35Mtmk1I7d1DXiBDjZu36C2mneKZje/0FlkcAAAAA8FM//vijJk+erF69eqlXr14677zztHjxYpfabHHA8P777+uNN97Qvffeq8DAQF1xxRV688039dhjj2n58uUuDQb+xV7gcWjt2QsHNkhHD0tBHaREDxVgpMAjAAAAAD/23nvvafz48erQoYPuvPNO3XnnnQoLC9MZZ5yhDz74wOl2W7xEYu/evRo4cKAkqWPHjiooKJAknXvuuXr00UedHgj8T1Z1wDCkdv0F+/aUycOkgCD3d1pZKa1ZY1wTMAAAAADwQ08//bSef/553XPPPY57d955p2bNmqWnnnpKV155pVPttngGQ7du3bRnzx5JUs+ePfXtt99Kkn755ReFhIQ4NQj4H4vVplUN7SCRUz0lx1PbU65fL1VUSJGRUo8enukDAAAAAFqxbdu2afLkyfXun3feedq+fbvT7bY4YLjwwgu1YMECSdIdd9yhRx99VCeccIKuvfZaXX/99U4PBP5lw95ClVRYFBESqBPjIoybNlut+gseChjsyyMGD5bMLf71BwAAAIA2Lzk52fG9vrbvv/9eycnJTrfb4iUSzz77rOP6sssuU2pqqpYuXaoTTjihwQQEaIh9ecTglGgFmKt3cji4SSo5IAWGSkkeKsBI/QUAAAAAfu7ee+/VnXfeqezsbI0aNUqS9NNPP2nevHl66aWXnG63xQHDokWLNGrUKAUGGh8dMWKERowYoaqqKi1atEhjx451ejDwH44Cj6kNbE/Z7WQp0EPLbWpvUQkAAAAAfuiWW25RfHy8XnzxRf3zn/+UJPXt21cfffSRzj//fKfbbXHAcNppp2nPnj2KjY2tc7+goECnnXaaLBaL04OB/8hssP5CdcDgqeURVquUnW1cs0UlAAAAAD924YUX6sILL3Rrmy1ehG6z2WQymerdP3TokMLDw90yKLRv+wvLtOPwUZlM0uDkaOOmzVazg0TqaM90vG2bVFQkhYRIffp4pg8AAAAAaOV69OihQ4cO1bufn5+vHi4Uw2/2DIaLLrpIkmQymXTdddfV2THCYrFozZo1jrUbQFOyqmcv9I6LUERo9VaUh7ZKxfukgBBjiYRHOq5eHjFwoBTkgS0wAQAA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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import jsbsim\n", "import matplotlib.pyplot as plt\n", "import math\n", "\n", "# --- Configuration Section ---\n", "# Global variables that must be modified to match your particular need\n", "# The aircraft name\n", "# Note - It should match the exact spelling of the model file\n", "AIRCRAFT_NAME=\"737\"\n", "\n", "# --- JSBSim Initialization ---\n", "# These lines initialize the flight dynamics model.\n", "\n", "# Avoid flooding the console with log messages\n", "jsbsim.FGJSBBase().debug_lvl = 0\n", "\n", "# Create a flight dynamics model (FDM) instance.\n", "fdm = jsbsim.FGFDMExec(PATH_TO_JSBSIM_FILES)\n", "\n", "# Load the aircraft model\n", "fdm.load_model(AIRCRAFT_NAME)\n", "\n", "# Set engines running\n", "fdm['propulsion/set-running'] = -1\n", "\n", "\n", "# --- Simulation Parameters ---\n", "# These lines set the simulation parameters.\n", "\n", "# Set alpha range for trim solutions\n", "fdm['aero/alpha-max-rad'] = math.radians(12) # Maximum angle of attack in radians.\n", "fdm['aero/alpha-min-rad'] = math.radians(-4.0) # Minimum angle of attack in radians.\n", "\n", "# Get the simulation time step (delta time).\n", "dt = fdm.get_delta_t()\n", "\n", "# Max control deflection\n", "aileronMax = 1 # Maximum normarized aileron command (-1~1)\n", "rudderMax = 0.92 # Maximum normarized rudder command (-1~1)\n", "\n", "# Number of seconds for control surface to reach max deflection\n", "risetime = 3\n", "\n", "# Calculate the increment (change) in control surface deflection command per time step.\n", "diAileron = aileronMax / (risetime/dt)\n", "diRudder = rudderMax / (risetime/dt)\n", "\n", "\n", "# --- Data Storage ---\n", "# This section initializes lists to record simulation data.\n", "\n", "times = [] # List to record the simulation time at each step.\n", "betas = [] # List to record the beta angle at each step.\n", "bankAngle = [] # List to record the bank angle at each step.\n", "ailerons = [] # List to record the aileron control surface deflection.\n", "rudder = [] # List to record the rudder control surface deflection.\n", "\n", "\n", "# --- Simulation Initialization ---\n", "# This line initializes the flight dynamics model.\n", "\n", "# Initial conditions\n", "fdm['ic/h-sl-ft'] = 1000 #altitude above sea level (ft)\n", "fdm['ic/vc-kts'] = 200 #calibrated airspeed (kts)\n", "fdm['ic/gamma-deg'] = 0 #flight path angle (deg)\n", "fdm['ic/beta-deg'] = 0 #sideslip angle (deg)\n", "\n", "# Initialize the aircraft with initial conditions\n", "fdm.run_ic()\n", "\n", "# Attempt to trim the aircraft.\n", "try:\n", " # 1 means straight flight by using all changeable control variables.\n", " fdm['simulation/do_simple_trim'] = 1\n", "\n", "except jsbsim.TrimFailureError:\n", " print(\"Trim failed, continuing rudder kick in an untrimmed state.\")\n", " pass # Ignore trim failure\n", "\n", "\n", "# --- Simulation Loop ---\n", "# This is the main simulation loop that runs the simulation for a specified duration.\n", "\n", "# Time to run for in seconds.\n", "run_period = 20\n", "\n", "for i in range(int(run_period/dt)):\n", " # Advance the simulation by one time step.\n", " fdm.run()\n", "\n", " # Record the simulation data.\n", " times.append(fdm.get_sim_time())\n", " betas.append(fdm['aero/beta-deg'])\n", " bankAngle.append(fdm['attitude/phi-deg'])\n", " ailerons.append(fdm['fcs/aileron-cmd-norm'])\n", " rudder.append(fdm['fcs/rudder-cmd-norm'])\n", "\n", " # Control Surface Update\n", " aileronCmd = fdm['fcs/aileron-cmd-norm']\n", " rudderCmd = fdm['fcs/rudder-cmd-norm']\n", "\n", " # Increment the aileron command if it's less than the maximum.\n", " if aileronCmd < aileronMax:\n", " aileronCmd += diAileron\n", " fdm['fcs/aileron-cmd-norm'] = aileronCmd\n", "\n", " # Increment the rudder command if it's less than the maximum.\n", " if rudderCmd < rudderMax:\n", " rudderCmd += diRudder\n", " fdm['fcs/rudder-cmd-norm'] = rudderCmd\n", "\n", "\n", "# --- Plot Results ---\n", "# This section plots the simulation results.\n", "\n", "plt.rcParams[\"figure.figsize\"] = (12, 8) # Set the figure size.\n", "fig, ax1 = plt.subplots()\n", "\n", "# Plot the beta data on the primary y-axis.\n", "ax1.set_xlabel('Time (s)')\n", "ax1.set_ylabel('Beta (deg)')\n", "line1 = ax1.plot(times, betas, label='Beta', color='red')\n", "\n", "# Create a secondary y-axis for the control surface positions.\n", "ax2 = ax1.twinx()\n", "\n", "# Plot the aileron and rudder commands on the secondary y-axis.\n", "ax2.set_ylabel('Inceptor Position')\n", "line2 = ax2.plot(times, ailerons, label='Aileron')\n", "line3 = ax2.plot(times, rudder, label='Rudder')\n", "\n", "# Add a legend to the plot.\n", "ax1.legend(handles=line1+line2+line3, loc=4)\n", "\n", "# Set the title of the plot.\n", "plt.title('Rudder Kick')\n", "\n", "# Display the plot.\n", "plt.show()" ] } ], "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.11.15" } }, "nbformat": 4, "nbformat_minor": 5 }