libstp
Robotics library for Botball
Loading...
Searching...
No Matches
libstp::sim Namespace Reference

Namespaces

namespace  collision

Classes

struct  Vec2
struct  Pose2D
struct  SensorMount
struct  RobotConfig
struct  SimMotorMap
class  SimWorld

Typedefs

using WorldMap = libstp::map::WorldMap
using MapSegment = libstp::map::MapSegment
using MapLayer = libstp::map::MapLayer
using TransitionEdge = libstp::map::TransitionEdge
using MapTransition = libstp::map::MapTransition
using FtmapParseError = libstp::map::FtmapParseError

Enumerations

enum class  DrivetrainKind : uint8_t { Differential , Mecanum }

Functions

float normalizeAngle (float angle) noexcept
Pose2D applyLocalDelta (const Pose2D &pose, float dxLocal, float dyLocal, float dTheta) noexcept
 Apply a delta expressed in the robot's local frame (forward, left, yaw).
Pose2D forwardMove (const Pose2D &pose, float distanceCm) noexcept
Pose2D strafeMove (const Pose2D &pose, float distanceCm) noexcept
Pose2D rotate (const Pose2D &pose, float angleRad) noexcept

Typedef Documentation

◆ FtmapParseError

◆ MapLayer

Definition at line 14 of file WorldMap.hpp.

◆ MapSegment

Definition at line 13 of file WorldMap.hpp.

◆ MapTransition

◆ TransitionEdge

◆ WorldMap

Definition at line 12 of file WorldMap.hpp.

Enumeration Type Documentation

◆ DrivetrainKind

enum class libstp::sim::DrivetrainKind : uint8_t
strong

Drivetrain topology the sim should use to mix wheel ω into chassis velocity. The mock HAL still drives one motor port at a time — this only changes how the sim interprets the resulting wheel speeds.

Enumerator
Differential 

Two wheels (left/right). Default for legacy configs.

Mecanum 

Four wheels (FL/FR/BL/BR) with 45° rollers.

Definition at line 20 of file SimWorld.hpp.

Function Documentation

◆ applyLocalDelta()

Pose2D libstp::sim::applyLocalDelta ( const Pose2D & pose,
float dxLocal,
float dyLocal,
float dTheta )
inlinenoexcept

Apply a delta expressed in the robot's local frame (forward, left, yaw).

Definition at line 34 of file Pose2D.hpp.

◆ forwardMove()

Pose2D libstp::sim::forwardMove ( const Pose2D & pose,
float distanceCm )
inlinenoexcept

Definition at line 45 of file Pose2D.hpp.

◆ normalizeAngle()

float libstp::sim::normalizeAngle ( float angle)
inlinenoexcept

Definition at line 24 of file Pose2D.hpp.

◆ rotate()

Pose2D libstp::sim::rotate ( const Pose2D & pose,
float angleRad )
inlinenoexcept

Definition at line 65 of file Pose2D.hpp.

◆ strafeMove()

Pose2D libstp::sim::strafeMove ( const Pose2D & pose,
float distanceCm )
inlinenoexcept

Definition at line 54 of file Pose2D.hpp.