Public API for module isaacsim.robot.wheeled_robots:#
Classes#
class AckermannController(BaseController)
def init(self, name: str, wheel_base: float, track_width: float, front_wheel_radius: float = 0.0, back_wheel_radius: float = 0.0, max_wheel_velocity: float = 0.0, invert_steering: bool = False, max_wheel_rotation_angle: float = 6.28, max_acceleration: float = 0.0, max_steering_angle_velocity: float = 0.0)
def forward(self, command: np.ndarray) -> ArticulationAction
class DifferentialController(BaseController)
def init(self, name: str, wheel_radius: float, wheel_base: float, max_linear_speed: float = 1e+20, max_angular_speed: float = 1e+20, max_wheel_speed: float = 1e+20)
def forward(self, command: np.ndarray) -> ArticulationAction
class HolonomicController(BaseController)
def init(self, name: str, wheel_radius: Optional[np.ndarray] = None, wheel_positions: Optional[np.ndarray] = None, wheel_orientations: Optional[np.ndarray] = None, mecanum_angles: Optional[np.ndarray] = None, wheel_axis: float = np.array([1, 0, 0]), up_axis: float = np.array([0, 0, 1]), max_linear_speed: float = 1e+20, max_angular_speed: float = 1e+20, max_wheel_speed: float = 1e+20, linear_gain: float = 1.0, angular_gain: float = 1.0)
def build_base(self)
def forward(self, command: np.ndarray) -> ArticulationAction
def reset(self)
class QuinticPolynomial
def init(self, xs: float, vxs: float, axs: float, xe: float, vxe: float, axe: float, time: float)
def calc_point(self, t: float) -> float
def calc_first_derivative(self, t: float) -> float
def calc_second_derivative(self, t: float) -> float
def calc_third_derivative(self, t: float) -> float
class State(object)
def init(self, wheel_base: float, x: float = 0.0, y: float = 0.0, yaw: float = 0.0, v: float = 0.0, Ks: float = np.radians(5.0))
def update(self, acceleration: float, delta: float, dt: float)
class WheelBasePoseController(BaseController)
def init(self, name: str, open_loop_wheel_controller: BaseController, is_holonomic: bool = False)
def forward(self, start_position: np.ndarray, start_orientation: np.ndarray, goal_position: np.ndarray, lateral_velocity: float = 0.2, yaw_velocity: float = 0.5, heading_tol: float = 0.05, position_tol: float = 0.04) -> ArticulationAction
def reset(self)
class Extension(omni.ext.IExt)
def on_startup(self, ext_id: str)
def on_shutdown(self)
Functions#
def quintic_polynomials_planner(sx: float, sy: float, syaw: float, sv: float, sa: float, gx: float, gy: float, gyaw: float, gv: float, ga: float, max_accel: float, max_jerk: float, dt: float) -> tuple[list[float], list[float], list[float], list[float], list[float], list[float], list[float]]
def calc_target_index(state: State, cx: list[float], cy: list[float]) -> tuple[int, float]
def normalize_angle(angle: float) -> float
def pid_control(target: float, current: float, Kp: float = 0.1) -> float
def stanley_control(state: State, cx: list[float], cy: list[float], cyaw: list[float], last_target_idx: int, p: float = 0.5, i: float = 0.01, d: float = 10, k: float = 0.5) -> tuple[float, int]