Skip to content

Commit

Permalink
Start
Browse files Browse the repository at this point in the history
  • Loading branch information
stevenxu27 committed Aug 14, 2024
1 parent 02a6f13 commit 6461bbe
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
22 changes: 22 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"python.autoComplete.extraPaths": [
"/workspaces/sailbot_workspace/build/local_pathfinding",
"/workspaces/sailbot_workspace/build/integration_tests",
"/workspaces/sailbot_workspace/build/controller",
"/workspaces/sailbot_workspace/build/boat_simulator",
"/workspaces/sailbot_workspace/install/local/lib/python3.10/dist-packages",
"/workspaces/sailbot_workspace/install/lib/python3.10/site-packages",
"/opt/ros/humble/local/lib/python3.10/dist-packages",
"/opt/ros/humble/lib/python3.10/site-packages"
],
"python.analysis.extraPaths": [
"/workspaces/sailbot_workspace/build/local_pathfinding",
"/workspaces/sailbot_workspace/build/integration_tests",
"/workspaces/sailbot_workspace/build/controller",
"/workspaces/sailbot_workspace/build/boat_simulator",
"/workspaces/sailbot_workspace/install/local/lib/python3.10/dist-packages",
"/workspaces/sailbot_workspace/install/lib/python3.10/site-packages",
"/opt/ros/humble/local/lib/python3.10/dist-packages",
"/opt/ros/humble/lib/python3.10/site-packages"
]
}
14 changes: 13 additions & 1 deletion src/boat_simulator/boat_simulator/nodes/physics_engine/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from boat_simulator.common.types import Scalar
from boat_simulator.nodes.physics_engine.kinematics_computation import BoatKinematics
from boat_simulator.nodes.physics_engine.kinematics_data import KinematicsData
from boat_simulator.nodes.physics_engine.fluid_forces import MediumForceComputation


class BoatState:
Expand All @@ -20,16 +21,27 @@ class BoatState:
expressed in SI units.
"""

def __init__(self, timestep: Scalar, mass: Scalar, inertia: NDArray):
def __init__(self, timestep: Scalar, mass: Scalar, inertia: NDArray,
air_density: Scalar, water_density: Scalar):
"""Initializes an instance of `BoatState`.
Args:
timestep (Scalar): The time interval for calculations, expressed in seconds (s).
mass (Scalar): The mass of the boat, expressed in kilograms (kg).
inertia (NDArray): The inertia of the boat, expressed in kilograms-meters squared
(kg•m^2).
air_density(Scalar): Density of air, expressed in kilograms per meter cubed (kg/m^3)
water_density(Scalar): Density of water, expressed in kilograms per meter cubed
(kg/m^3)
"""
self.__timestep = timestep
self.__mass = mass
self.__inertia = inertia
self.__air_density = air_density
self.__water_density = water_density

self.__kinematics_computation = BoatKinematics(timestep, mass, inertia)
self.__sail_force_computation = MediumForceComputation()

def compute_net_force_and_torque(self, wind_vel: NDArray) -> Tuple[NDArray, NDArray]:
"""Calculates the net force and net torque acting on the boat due to the wind.
Expand Down

0 comments on commit 6461bbe

Please sign in to comment.