codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

codul de la regio + auto lui robert - #5

Merged
vladuzzul merged 1 commit into
mainfrom
new_auto
Aug 3, 2026
Merged

codul de la regio + auto lui robert#5
vladuzzul merged 1 commit into
mainfrom
new_auto

Conversation

@vladuzzul

@vladuzzulvladuzzul commented Aug 3, 2026

Copy link
Copy Markdown
Member

Before issuing a pull request, please see the contributing page.

Summary by CodeRabbit

  • New Features
    • Added autonomous replay modes for recorded robot driving and mechanism actions.
    • Added teleoperated data-recording modes with telemetry, vision support, and CSV export for replayable sessions.
  • Improvements
    • Updated the default flap-open position for more precise mechanism operation.
  • Refactor
    • Removed obsolete comments and inactive turret-alignment code without changing existing driving behavior.

CopilotAI review requested due to automatic review settings August 3, 2026 10:44
@vladuzzul
vladuzzul merged commit e4558d1 into mainAug 3, 2026
1 check was pending
@coderabbitai

coderabbitaiBot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 29e06ec8-b05d-4f53-bb2b-b376d0967683

📥 Commits

Reviewing files that changed from the base of the PR and between 1080b76 and 8b97a8a.

📒 Files selected for processing (8)
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java
  • TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java

📝 Walkthrough

Walkthrough

Changes

Replay recording and playback

Layer / File(s)Summary
DataRecordingOp2 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java
Adds a TeleOp recorder with robot controls, telemetry, periodic CSV capture, and shutdown handling.
DataRecordingOp3 capture flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java
Adds V3 CSV recording for drive powers, pose, voltage, mechanism velocities, and servo positions.
OldReplayOp2 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.java
Adds CSV loading, interpolated pose playback, PD mecanum driving, mechanism replay, and voltage-based timing adjustment.
ReplayAutoOp3 playback flow
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.java
Adds V3 frame parsing, lookahead playback, filtered PD control, mechanism control, voltage scaling, telemetry, and cleanup.
Shared robot behavior cleanup
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.java, TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.java
Removes obsolete comments and changes Constants.FLAP_OPEN from 1 to 0.9.

Estimated code review effort: 5 (Critical) | ~90+ minutes

Sequence Diagram(s)

sequenceDiagram
participant DataRecordingOp3
participant Robot
participant CSVFile
participant ReplayAutoOp3
DataRecordingOp3->>Robot: control robot and read state
DataRecordingOp3->>CSVFile: write recorded frame
ReplayAutoOp3->>CSVFile: load recorded frames
ReplayAutoOp3->>Robot: apply interpolated drive and mechanism outputs
Loading

Possibly related PRs

  • kronbot/decode#3: Shares changes in Robot.java and Auto_BackBlueOp.java related to turret and autonomous behavior.

Suggested reviewers:copilot

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch new_auto

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the KronBot FTC codebase to support TeleOp recording and Autonomous replay (“Replay V3”), alongside minor cleanup and a flap calibration tweak.

Changes:

  • Adjust flap open servo constant for mechanism calibration.
  • Add TeleOp opmodes to record drive + mechanism data to CSV (V2 power-based, V3 velocity-based).
  • Add autonomous opmodes to replay recorded CSV data with improved control logic.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/utils/Constants.javaAdjusts flap open position constant.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/Robot.javaRemoves a large commented-out turret-alignment block.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/MainDrivingOp.javaRemoves dead/commented alignment code and extra whitespace.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.javaAdds a TeleOp “Data Recorder V3” that records pose + mechanism velocities to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.javaAdds a TeleOp “Data Recorder” that records pose + mechanism powers to CSV.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/ReplayAutoOp3.javaAdds an autonomous replay opmode for the V3 CSV format with interpolation/PD improvements.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/OldReplayOp2.javaAdds an older replay implementation for the V2 CSV format.
TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/autonomous/Auto_BackBlueOp.javaRemoves an inline comment in an autonomous state machine.
Suppressed comments (2)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp3.java:245

  • If the FileWriter fails to initialize, dataRecorder remains null, but the loop still calls recordData(), which will throw a NullPointerException when writing. Guard recording when the recorder isn't initialized.
 // Record Data (Fix #5: uses same ElapsedTime as replay for consistent timestamps)
if (now - lastRecordTime >= RECORD_INTERVAL_SEC) {
try {
recordData(now);
} catch (IOException e) {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/kronbot/manual/DataRecordingOp2.java:282

  • Telemetry label says "angle servo pos" but this prints the turret servo position, which is misleading during tuning/debugging.
 telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
telemetry.addData("turret angle:", robot.turret.angle);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Autonomous(name = "Replay Auto V3", group = "Autonomous")
public class ReplayAutoOp3 extends LinearOpMode {

private static final String CSV_PATH = "/sdcard/robot_data.csv";
Comment on lines +246 to +254
// Record Data
if (now - lastRecordTime >= RECORD_INTERVAL_MS) {
try {
recordData();
} catch (IOException e) {
telemetry.addData("Recording Error", e.getMessage());
}
lastRecordTime = now;
}
telemetry.addData("Drive Powers", "LF:%.2f RF:%.2f LR:%.2f RR:%.2f",
leftFront.getPower(), rightFront.getPower(), leftRear.getPower(), rightRear.getPower());
telemetry.addData("shooter motor vel:", robot.leftOuttake.getVelocity());
telemetry.addData("angle servo pos:", robot.turretServo.getPosition());
* Records drive motor powers (for feedforward replay) and mechanism velocities
* (for faithful shooter reproduction).
*
* CSV columns (17 total):
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@vladuzzul@ChiriacIoana