mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
[robotpy] Mirror most other subprojects (#8208)
GitOrigin-RevId: ac60fd3cf4a24023184376687da28373d14b781a This mirrors the robotpy files for the following projects: - apriltag - datalog - hal - ntcore - romiVendordep - wpilibc - wpimath - xrpVendordep This excludes cscore and the halsim wrappers for at this time. NOTE: This does not hook these projects up to the build system, just simply mirrors the files. The building will take place in a follow up PR to make it easier to review the changes necessary to build.
This commit is contained in:
109
wpilibc/src/main/python/semiwrap/drive/DifferentialDrive.yml
Normal file
109
wpilibc/src/main/python/semiwrap/drive/DifferentialDrive.yml
Normal file
@@ -0,0 +1,109 @@
|
||||
extra_includes:
|
||||
- wpi/sendable/SendableBuilder.h
|
||||
- frc/motorcontrol/MotorController.h
|
||||
|
||||
classes:
|
||||
frc::DifferentialDrive:
|
||||
ignored_bases:
|
||||
- wpi::SendableHelper<DifferentialDrive>
|
||||
methods:
|
||||
DifferentialDrive:
|
||||
overloads:
|
||||
MotorController&, MotorController&:
|
||||
keepalive:
|
||||
- [1, 2]
|
||||
- [1, 3]
|
||||
std::function<void (double)>, std::function<void (double)>:
|
||||
ArcadeDrive:
|
||||
CurvatureDrive:
|
||||
TankDrive:
|
||||
ArcadeDriveIK:
|
||||
CurvatureDriveIK:
|
||||
TankDriveIK:
|
||||
StopMotor:
|
||||
GetDescription:
|
||||
InitSendable:
|
||||
doc: |
|
||||
A class for driving differential drive/skid-steer drive platforms such as
|
||||
the Kit of Parts drive base, "tank drive", or West Coast Drive.
|
||||
|
||||
These drive bases typically have drop-center / skid-steer with two or more
|
||||
wheels per side (e.g., 6WD or 8WD). This class takes a MotorController per
|
||||
side. For four and six motor drivetrains, construct and pass in
|
||||
:class:`MotorControllerGroup` instances as follows.
|
||||
|
||||
Four motor drivetrain::
|
||||
|
||||
import wpilib.drive
|
||||
|
||||
class Robot(wpilib.TimedRobot):
|
||||
def robotInit(self):
|
||||
self.front_left = wpilib.PWMVictorSPX(1)
|
||||
self.rear_left = wpilib.PWMVictorSPX(2)
|
||||
self.left = wpilib.MotorControllerGroup(self.front_left, self.rear_left)
|
||||
|
||||
self.front_right = wpilib.PWMVictorSPX(3)
|
||||
self.rear_right = wpilib.PWMVictorSPX(4)
|
||||
self.right = wpilib.MotorControllerGroup(self.front_right, self.rear_right)
|
||||
|
||||
self.drive = wpilib.drive.DifferentialDrive(self.left, self.right)
|
||||
|
||||
Six motor drivetrain::
|
||||
|
||||
import wpilib.drive
|
||||
|
||||
class Robot(wpilib.TimedRobot):
|
||||
def robotInit(self):
|
||||
self.front_left = wpilib.PWMVictorSPX(1)
|
||||
self.mid_left = wpilib.PWMVictorSPX(2)
|
||||
self.rear_left = wpilib.PWMVictorSPX(3)
|
||||
self.left = wpilib.MotorControllerGroup(self.front_left, self.mid_left, self.rear_left)
|
||||
|
||||
self.front_right = wpilib.PWMVictorSPX(4)
|
||||
self.mid_right = wpilib.PWMVictorSPX(5)
|
||||
self.rear_right = wpilib.PWMVictorSPX(6)
|
||||
self.right = wpilib.MotorControllerGroup(self.front_right, self.mid_right, self.rear_right)
|
||||
|
||||
self.drive = wpilib.drive.DifferentialDrive(self.left, self.right)
|
||||
|
||||
A differential drive robot has left and right wheels separated by an
|
||||
arbitrary width.
|
||||
|
||||
Drive base diagram::
|
||||
|
||||
|_______|
|
||||
| | | |
|
||||
| |
|
||||
|_|___|_|
|
||||
| |
|
||||
|
||||
Each Drive() function provides different inverse kinematic relations for a
|
||||
differential drive robot. Motor outputs for the right side are negated, so
|
||||
motor direction inversion by the user is usually unnecessary.
|
||||
|
||||
This library uses the NED axes convention (North-East-Down as external
|
||||
reference in the world frame):
|
||||
http://www.nuclearprojects.com/ins/images/axis_big.png.
|
||||
|
||||
The positive X axis points ahead, the positive Y axis points to the right,
|
||||
and the positive Z axis points down. Rotations follow the right-hand rule,
|
||||
so clockwise rotation around the Z axis is positive.
|
||||
|
||||
Inputs smaller then 0.02 will be set to 0, and larger values will be scaled
|
||||
so that the full range is still used. This deadband value can be changed
|
||||
with SetDeadband().
|
||||
|
||||
RobotDrive porting guide:
|
||||
|
||||
* :meth:`tankDrive` is equivalent to ``RobotDrive.tankDrive``
|
||||
if a deadband of 0 is used.
|
||||
* :meth:`arcadeDrive` is equivalent to ``RobotDrive.arcadeDrive``
|
||||
if a deadband of 0 is used and the the rotation input is inverted,
|
||||
e.g. ``arcadeDrive(y, -rotation, squareInputs=False)``
|
||||
* :meth:`curvatureDrive` is similar in concept to
|
||||
``RobotDrive.drive`` with the addition of a quick turn
|
||||
mode. However, it is not designed to give exactly the same response.
|
||||
frc::DifferentialDrive::WheelSpeeds:
|
||||
attributes:
|
||||
left:
|
||||
right:
|
||||
38
wpilibc/src/main/python/semiwrap/drive/MecanumDrive.yml
Normal file
38
wpilibc/src/main/python/semiwrap/drive/MecanumDrive.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
extra_includes:
|
||||
- wpi/sendable/SendableBuilder.h
|
||||
- frc/motorcontrol/MotorController.h
|
||||
|
||||
classes:
|
||||
frc::MecanumDrive:
|
||||
force_type_casters:
|
||||
- units::radian_t
|
||||
ignored_bases:
|
||||
- wpi::SendableHelper<MecanumDrive>
|
||||
methods:
|
||||
MecanumDrive:
|
||||
overloads:
|
||||
MotorController&, MotorController&, MotorController&, MotorController&:
|
||||
keepalive:
|
||||
- [1, 2]
|
||||
- [1, 3]
|
||||
- [1, 4]
|
||||
- [1, 5]
|
||||
std::function<void (double)>, std::function<void (double)>, std::function<void (double)>, std::function<void (double)>:
|
||||
DriveCartesian:
|
||||
param_override:
|
||||
gyroAngle:
|
||||
default: frc::Rotation2d(0_rad)
|
||||
DrivePolar:
|
||||
DriveCartesianIK:
|
||||
param_override:
|
||||
gyroAngle:
|
||||
default: frc::Rotation2d(0_rad)
|
||||
StopMotor:
|
||||
GetDescription:
|
||||
InitSendable:
|
||||
frc::MecanumDrive::WheelSpeeds:
|
||||
attributes:
|
||||
frontLeft:
|
||||
frontRight:
|
||||
rearLeft:
|
||||
rearRight:
|
||||
21
wpilibc/src/main/python/semiwrap/drive/RobotDriveBase.yml
Normal file
21
wpilibc/src/main/python/semiwrap/drive/RobotDriveBase.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
extra_includes:
|
||||
- frc/motorcontrol/MotorController.h
|
||||
- wpi/SmallString.h
|
||||
|
||||
classes:
|
||||
frc::RobotDriveBase:
|
||||
attributes:
|
||||
m_deadband:
|
||||
m_maxOutput:
|
||||
kDefaultDeadband:
|
||||
kDefaultMaxOutput:
|
||||
enums:
|
||||
MotorType:
|
||||
methods:
|
||||
RobotDriveBase:
|
||||
SetDeadband:
|
||||
SetMaxOutput:
|
||||
FeedWatchdog:
|
||||
StopMotor:
|
||||
GetDescription:
|
||||
Desaturate:
|
||||
Reference in New Issue
Block a user