mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[robotpy][examples] Split examples and snippets (#8944)
This also updates the bazel scripts to behave more like the C++ and Java examples, and updates the copybara scripts to be able to sync up `mostrobotpy`
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#
|
||||
# Copyright (c) FIRST and other WPILib contributors.
|
||||
# Open Source Software; you can modify and/or share it under the terms of
|
||||
# the WPILib BSD license file in the root directory of this project.
|
||||
#
|
||||
|
||||
import random
|
||||
|
||||
import wpimath
|
||||
|
||||
|
||||
class ExampleGlobalMeasurementSensor:
|
||||
"""This dummy class represents a global measurement sensor, such as a computer vision
|
||||
solution.
|
||||
"""
|
||||
|
||||
def __init__(self) -> None:
|
||||
raise RuntimeError("Utility class")
|
||||
|
||||
@staticmethod
|
||||
def getEstimatedGlobalPose(estimatedRobotPose: wpimath.Pose2d) -> wpimath.Pose2d:
|
||||
"""Get a "noisy" fake global pose reading.
|
||||
|
||||
:param estimatedRobotPose: The robot pose.
|
||||
"""
|
||||
rand_x = random.gauss(0.0, 0.5)
|
||||
rand_y = random.gauss(0.0, 0.5)
|
||||
rand_rot = random.gauss(0.0, wpimath.units.degreesToRadians(30))
|
||||
return wpimath.Pose2d(
|
||||
estimatedRobotPose.x + rand_x,
|
||||
estimatedRobotPose.y + rand_y,
|
||||
estimatedRobotPose.rotation().rotateBy(wpimath.Rotation2d(rand_rot)),
|
||||
)
|
||||
Reference in New Issue
Block a user