Use constexpr for DifferentialDriveKinematics

This commit is contained in:
Peter Johnson
2019-10-27 19:36:01 -07:00
parent 936627bd94
commit 0be6b64756
2 changed files with 12 additions and 31 deletions

View File

@@ -1,26 +0,0 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) 2019 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#include "frc/kinematics/DifferentialDriveKinematics.h"
using namespace frc;
DifferentialDriveKinematics::DifferentialDriveKinematics(
units::meter_t trackWidth)
: m_trackWidth(trackWidth) {}
ChassisSpeeds DifferentialDriveKinematics::ToChassisSpeeds(
const DifferentialDriveWheelSpeeds& wheelSpeeds) const {
return {(wheelSpeeds.left + wheelSpeeds.right) / 2.0, 0_mps,
(wheelSpeeds.right - wheelSpeeds.left) / m_trackWidth * 1_rad};
}
DifferentialDriveWheelSpeeds DifferentialDriveKinematics::ToWheelSpeeds(
const ChassisSpeeds& chassisSpeeds) const {
return {chassisSpeeds.vx - m_trackWidth / 2 * chassisSpeeds.omega / 1_rad,
chassisSpeeds.vx + m_trackWidth / 2 * chassisSpeeds.omega / 1_rad};
}