Skip to content

Commit

Permalink
Fixed errors so tests run.
Browse files Browse the repository at this point in the history
  • Loading branch information
nandantumu committed Sep 21, 2024
1 parent 3d19862 commit 45a2816
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 32 deletions.
40 changes: 12 additions & 28 deletions f1tenth_gym/envs/f110_env.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,21 @@
# gym imports
import gymnasium as gym

from .action import (CarAction,
from_single_to_multi_action_space)
from .integrator import IntegratorType
from .rendering import make_renderer
# others
import numpy as np

from .track import Track
from .action import CarAction, from_single_to_multi_action_space

# base classes
from .base_classes import Simulator, DynamicModel
from .base_classes import DynamicModel, Simulator
from .integrator import IntegratorType
from .observation import observation_factory
from .rendering import make_renderer
from .reset import make_reset_fn
from .track import Track
from .utils import deep_update


# others
import numpy as np


class F110Env(gym.Env):
"""
OpenAI gym environment for F1TENTH
Expand Down Expand Up @@ -143,14 +139,14 @@ def __init__(self, config: dict = None, render_mode=None, **kwargs):
model=self.model,
action_type=self.action_type,
)
self.sim.set_map(self.map, config["scale"])
self.sim.set_map(self.map, self.config["scale"])

if isinstance(self.map, Track):
self.track = self.map
else:
self.track = Track.from_track_name(
self.map,
track_scale=config["scale"],
track_scale=self.config["scale"],
) # load track in gym env for convenience

# observations
Expand Down Expand Up @@ -202,7 +198,6 @@ def fullscale_vehicle_params(cls) -> dict:
"I": 1538.8533713561394,
"width": 1.674,
"length": 4.298,

# steering constraints
"s_min": -0.91,
"s_max": 0.91,
Expand All @@ -212,25 +207,22 @@ def fullscale_vehicle_params(cls) -> dict:
"kappa_dot_max": 0.4,
# maximum curvature rate rate
"kappa_dot_dot_max": 20,

# Longitudinal constraints
"v_switch": 4.755,
"a_max": 11.5,
"v_min": -13.9,
"v_max": 45.8,
# maximum longitudinal jerk [m/s^3]
"j_max": 10.0e+3,
"j_max": 10.0e3,
# maximum longitudinal jerk change [m/s^4]
"j_dot_max": 10.0e3,

# Extra parameters (for future use in multibody simulation)
# sprung mass [kg] SMASS
"m_s": 1094.542720290477,
# unsprung mass front [kg] UMASSF
"m_uf": 65.67256321742863,
# unsprung mass rear [kg] UMASSR
"m_ur": 65.67256321742863,

# moments of inertia of sprung mass
# moment of inertia for sprung mass in roll [kg m^2] IXS
"I_Phi_s": 244.04723069965206,
Expand All @@ -240,7 +232,6 @@ def fullscale_vehicle_params(cls) -> dict:
"I_z": 1538.8533713561394,
# moment of inertia cross product [kg m^2] IXZ
"I_xz_s": 0.0,

# suspension parameters
# suspension spring rate (front) [N/m] KSF
"K_sf": 21898.332429625985,
Expand All @@ -250,15 +241,13 @@ def fullscale_vehicle_params(cls) -> dict:
"K_sr": 21898.332429625985,
# suspension damping rate (rear) [N s/m] KSDR
"K_sdr": 1459.3902937206362,

# geometric parameters
# track width front [m] TRWF
"T_f": 1.389888,
# track width rear [m] TRWB
"T_r": 1.423416,
# lateral spring rate at compliant compliant pin joint between M_s and M_u [N/m] KRAS
"K_ras": 175186.65943700788,

# auxiliary torsion roll stiffness per axle (normally negative) (front) [N m/rad] KTSF
"K_tsf": -12880.270509148304,
# auxiliary torsion roll stiffness per axle (normally negative) (rear) [N m/rad] KTSR
Expand All @@ -267,33 +256,27 @@ def fullscale_vehicle_params(cls) -> dict:
"K_rad": 10215.732056044453,
# vertical spring rate of tire [N/m] KZT
"K_zt": 189785.5477234252,

# center of gravity height of total mass [m] HCG (mainly required for conversion to other vehicle models)
"h_cg": 0.5577840000000001,
# height of roll axis above ground (front) [m] HRAF
"h_raf": 0.0,
# height of roll axis above ground (rear) [m] HRAR
"h_rar": 0.0,

# M_s center of gravity above ground [m] HS
"h_s": 0.59436,

# moment of inertia for unsprung mass about x-axis (front) [kg m^2] IXUF
"I_uf": 32.53963075995361,
# moment of inertia for unsprung mass about x-axis (rear) [kg m^2] IXUR
"I_ur": 32.53963075995361,
# wheel inertia, from internet forum for 235/65 R 17 [kg m^2]
"I_y_w": 1.7,

# lateral compliance rate of tire, wheel, and suspension, per tire [m/N] KLT
"K_lt": 1.0278264878518764e-05,
# effective wheel/tire radius chosen as tire rolling radius RR taken from ADAMS documentation [m]
"R_w": 0.344,

# split of brake and engine torque
"T_sb": 0.76,
"T_se": 1,

# suspension parameters
# [rad/m] DF
"D_f": -0.6233595800524934,
Expand All @@ -303,7 +286,6 @@ def fullscale_vehicle_params(cls) -> dict:
"E_f": 0,
# [needs conversion if nonzero] ER
"E_r": 0,

}
return params

Expand Down Expand Up @@ -369,7 +351,9 @@ def configure(self, config: dict) -> None:

if hasattr(self, "action_space"):
# if some parameters changed, recompute action space
self.action_type = CarAction(self.config["control_input"], params=self.params)
self.action_type = CarAction(
self.config["control_input"], params=self.params
)
self.action_space = from_single_to_multi_action_space(
self.action_type.space, self.num_agents
)
Expand Down
6 changes: 3 additions & 3 deletions f1tenth_gym/envs/rendering/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
from typing import Any, Optional

from .renderer import RenderSpec, EnvRenderer
from ..track import Track
# from ..track import Track This is due to a circular import


def make_renderer(
params: dict[str, Any],
track: Track,
track: "Track",
agent_ids: list[str],
render_mode: Optional[str] = None,
render_fps: Optional[int] = 100,
Expand All @@ -33,7 +33,7 @@ def make_renderer(

if render_spec.render_type == "pygame":
from .rendering_pygame import PygameEnvRenderer as EnvRenderer
elif render_spec.render_type == "pyqt6":
elif render_spec.render_type == "pyqt6":
from .rendering_pyqt import PyQtEnvRenderer as EnvRenderer
else:
raise ValueError(f"Unknown render type: {render_spec.render_type}")
Expand Down
80 changes: 79 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 45a2816

Please sign in to comment.