From cafb70eb0ab97899602a5306372f34074e16bca7 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Sun, 19 Jan 2020 21:05:52 -0500 Subject: [PATCH] hide 2 posts --- .../2019-05-27-Building-Safe-Vision-Comms.md | 0 .../2019-06-17-AMM2M1-release.md | 0 _drafts/2020-01-07-RobotSimGUI.md | 54 +++++++++++ _drafts/2020-01-14-ZEBRA-Darts.md | 89 ++++++++++++++++++ _drafts/Untitled-1 | 32 +++++++ _includes/advert.html | 0 assets/images/chassis-speeds.png | Bin 0 -> 58049 bytes 7 files changed, 175 insertions(+) rename {_posts => _drafts}/2019-05-27-Building-Safe-Vision-Comms.md (100%) rename {_posts => _drafts}/2019-06-17-AMM2M1-release.md (100%) create mode 100644 _drafts/2020-01-07-RobotSimGUI.md create mode 100644 _drafts/2020-01-14-ZEBRA-Darts.md create mode 100644 _drafts/Untitled-1 create mode 100644 _includes/advert.html create mode 100644 assets/images/chassis-speeds.png diff --git a/_posts/2019-05-27-Building-Safe-Vision-Comms.md b/_drafts/2019-05-27-Building-Safe-Vision-Comms.md similarity index 100% rename from _posts/2019-05-27-Building-Safe-Vision-Comms.md rename to _drafts/2019-05-27-Building-Safe-Vision-Comms.md diff --git a/_posts/2019-06-17-AMM2M1-release.md b/_drafts/2019-06-17-AMM2M1-release.md similarity index 100% rename from _posts/2019-06-17-AMM2M1-release.md rename to _drafts/2019-06-17-AMM2M1-release.md diff --git a/_drafts/2020-01-07-RobotSimGUI.md b/_drafts/2020-01-07-RobotSimGUI.md new file mode 100644 index 0000000..1a66675 --- /dev/null +++ b/_drafts/2020-01-07-RobotSimGUI.md @@ -0,0 +1,54 @@ +--- +layout: post +title: "Graphical drivebase simulation for FRC robots" +description: "Showcasing part of the frc5024 codebase" +date: 2020-01-07 22:13:00 +categories: frc +redirect_from: + - /post/vcv4101s90/ + - /vcv4101s90/ +--- + +The 2020 FRC season has kicked off, and the @frc5024 software team is already hard at work developing the software that will power this year's robot. Throughout the season, I'm hoping to showcase cool things we work on. + +Today, I built a little tool to provide a graphical simulation of our robot's drivebase in 2D space. This post will outline how I did it. + +## Robot simulation + +As our code is developed with [WPILib](https://github.com/wpilibsuite/allwpilib), we make use of [HALSIM](https://github.com/wpilibsuite/allwpilib/tree/master/simulation/halsim_gui) to test out code before pushing to real hardware. This tool is great for checking for null pointer exceptions, and ensuring telemetry data is correctly pushed, but has some limitations. Mainly, we use a fair amount of un-supported hardware, and our own robotics library does not integrate with WPILib's "Sendable" system. + +### Faking HAL device support + +To give HALSIM support to our custom devices, we use WPILib's [SimDevice](https://github.com/wpilibsuite/allwpilib/blob/master/hal/src/main/java/edu/wpi/first/hal/SimDevice.java) wrapper. @PeterJohnson explained to me how to do this [in this thread](https://www.chiefdelphi.com/t/ctre-halsim/370106/2?u=ewpratten). + +### Simulating sensors + +For drivebase simulation, we need to simulate two devices. Our [encoders](https://www.usdigital.com/products/encoders/incremental/kit/E4T), and our [gyroscope](https://pdocs.kauailabs.com/navx-mxp/). Neither of these devices have HALSIM support, so I added my own [[1](https://github.com/frc5024/InfiniteRecharge/commit/837e9f571a03917c72b2df83d4e19650bab4ad66)] [[2](https://github.com/frc5024/InfiniteRecharge/commit/78c501a4bbaeee1d05e95a3c1ba07a897bc78a80)]. + +Now that the device I/O has been simulated, we need to simulate sensor readings. + +#### Encoders + +Encoder readings can be estimated, assuming we know these properties: + + - Current motor speed (percent output) + - Max motor speed (RPM) + - Encoder Pulses per Revolution + - Gearing ratio between simulated motor and sensor + +Inside a quickly-updating loop, I used this pseudocode to determine the reading for an encoder: +```java +double current_time = getSeconds(); + +double dt = current_time - last_time; +last_time = current_time; + + +double rpm = (getMotorSpeed() * max_rpm) / gearbox_ratio; +double revs = (rpm / 60.0) * dt; + +encoder_ticks += (revs * tpr); +``` + +#### Gyroscope + diff --git a/_drafts/2020-01-14-ZEBRA-Darts.md b/_drafts/2020-01-14-ZEBRA-Darts.md new file mode 100644 index 0000000..40e3c1e --- /dev/null +++ b/_drafts/2020-01-14-ZEBRA-Darts.md @@ -0,0 +1,89 @@ +--- +layout: post +title: "Interpolating motor control commands from Dart data" +description: "And other weird things to do with XY datasets" +date: 2020-01-14 20:13:00 +categories: frc data +redirect_from: + - /post/eb3v140d/ + - /eb3v140d/ +--- + +At some FRC events, [ZEBRA Technologies](https://www.zebra.com/us/en.html) places dart trackers for their [MotionWorks](https://www.zebra.com/us/en/solutions/intelligent-edge-solutions/rtls.html) system on robots. They then provide real-time motion tracking data for all bots on the field. I got my hands on a few data archives from various events in 2019 that used the darts. Here is a little post about what I have been able to do with this data. + +## The data +For this post, I will be working with data from [Chezy Champs 2019](https://chezychamps.com/). I recived the tracking data in the following CSV format: + +```csv +X position (Feet), Y position (Feet), UNIX epoch time (UTC) +``` + +## Data analysis + +I wrote a little parser that converts the CSV data to pose data. A pose is a vector containing the following field-absolute components: + +```c++ +struct Pose { + double x; + double y; + double theta; +} +``` + +While we are at it, Ill define a "Transpose", which is like a pose, but relative to other poses, and a "ChassisSpeed" vector: + +```c++ +struct ChassisSpeed { + double left; + double right; +} + +class Transpose { + private: + double x; + double y; + double theta; + + public: + ChassisSpeed fromTranspose(); +} +``` + +### Converting a difference to a Transpose + +The only data we can directly read from the Dart data is poses over time (all poses have an angle of 0 degrees). To convert these to Transposes, we need to do a little math. Basically, we can take two poses, then calculate their differences: + +```python +# Find the differences in coords +dx: float = now.x - last.x +dy: float = now.y - last.y + +# Calculate a heading from translation +theta: float = atan2(dx, dy) +``` + +Now, with this data, we can build a Transpose out of any pair of data points. + +### Converting a transpose to a ChassisSpeed + +To be completely honest, I originally had no idea what I was going to use this data for, but ended up deciding to try to reconstruct motor data from the position data. This is just a form of [Inverse Kinematics](https://en.wikipedia.org/wiki/Inverse_kinematics). + +To do this, all we need is a little math: + +```java +ChassisSpeed fromTranspose(){ + double delta = TRACK_WIDTH * this.theta / 2 * 1.0469745223; + return (new ChassisSpeed(this.x - deltaV, this.x + deltaV); +} +``` + +This will calculate the heading difference between 0,0 and the transpose, then apply that to the X vector as a wheel velocity. `TRACK_WIDTH` is the width of the robot drivebase in inches (I used `25.4` because that is team [254](https://www.thebluealliance.com/team/254)'s track width) + +#### Chassis speeds over time + +Here is a little graph of the calculated chassis speeds over time. (Keeping in mind that inaccuracies in the Dart system cause some "drift") + +![Chassis Speeds](/assets/images/chassis-speeds.png) + +### Extrapolating further + diff --git a/_drafts/Untitled-1 b/_drafts/Untitled-1 new file mode 100644 index 0000000..855eacc --- /dev/null +++ b/_drafts/Untitled-1 @@ -0,0 +1,32 @@ +00000000 +01000000 +00000001 +10001000 +00001100 +00000010 + +0x4001880C02 + +00000000 +01000000 +00000000 +10000000 +00000100 +00000010 +00000000 +01001011 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000100 +00001101 +00000100 +01110111 +00000000 +00000011 + +!'gO7"9JQrz!!!!%%0UkT!r \ No newline at end of file diff --git a/_includes/advert.html b/_includes/advert.html new file mode 100644 index 0000000..e69de29 diff --git a/assets/images/chassis-speeds.png b/assets/images/chassis-speeds.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5f277c4b5a925fdf47b4f7c900ccc352857021 GIT binary patch literal 58049 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