38 std::array<double, kNumDriveModules * kJointsPerDriveModule>
drive_modules{};
110 std::unique_ptr<Data> data_;
Calculates poses for mobile robot frames using Pinocchio.
Definition mobile_model.h:50
static constexpr size_t kJointsPerModule
Number of joints per drive module (steering + drive).
Definition mobile_model.h:56
MobileModel(const std::string &urdf_model)
Constructs a MobileModel from a URDF string.
static constexpr size_t kNumModules
Number of swerve drive modules.
Definition mobile_model.h:53
std::array< double, 16 > pose(MobileFrame frame, const MobileJointPositions &joint_positions) const
Gets the 4x4 pose matrix for the given mobile frame relative to the robot's base frame (URDF root lin...
~MobileModel() noexcept
Destructor.
MobileModel(MobileModel &&other) noexcept
Move-constructs a new MobileModel instance.
MobileModel & operator=(MobileModel &&other) noexcept
Move-assigns this MobileModel from another MobileModel instance.
constexpr size_t kJointsPerDriveModule
Number of joints per drive module (steering + drive).
Definition mobile_model.h:29
constexpr size_t kNumDriveModules
Number of swerve drive modules.
Definition mobile_model.h:26
MobileFrame
Enumerates the frames of a mobile robot's drive modules.
Definition mobile_model.h:20
@ kRearDriveModule
Rear swerve drive module frame.
@ kFrontDriveModule
Front swerve drive module frame.
Joint positions for all controllable subsystems of a mobile robot.
Definition mobile_model.h:36
std::array< double, kNumDriveModules *kJointsPerDriveModule > drive_modules
Drive module joint positions: {front_steering, front_drive, rear_steering, rear_drive}.
Definition mobile_model.h:38