Skip to content

Training#182

Open
nanoticity wants to merge 3 commits into
mainfrom
training
Open

Training#182
nanoticity wants to merge 3 commits into
mainfrom
training

Conversation

@nanoticity
Copy link
Copy Markdown
Collaborator

No description provided.

Signed-off-by: Ari <nanoticity@gmail.com>
Copilot AI review requested due to automatic review settings May 19, 2026 19:39
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a training exercise under src/camera/training/ intended to guide developers through implementing a TrainingCamera that conforms to the existing camera::ICamera interface and validating it via the AprilTag pipeline on Orin hardware.

Changes:

  • Introduces a training README describing the end-to-end implementation + validation steps.
  • Adds a camera.h “local copy” of the camera::ICamera interface for the training directory.

Reviewed changes

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

File Description
src/camera/training/README.md Adds step-by-step training task instructions and acceptance criteria.
src/camera/training/camera.h Adds a training-local header that duplicates the camera interface types.

Comment thread src/camera/training/camera.h Outdated
Comment on lines +2 to +37
#include "src/camera/camera_constants.h"
#include "src/utils/pch.h"
namespace camera {

using timestamped_frame_t = struct TimestampedFrame {
cv::Mat frame;
double timestamp;
bool invalid = false;

friend auto operator<<(std::ostream& os, const TimestampedFrame& f)
-> std::ostream& {
os << "TimestampedFrame{"
<< "timestamp=" << f.timestamp << ", invalid=" << std::boolalpha
<< f.invalid;

if (!f.frame.empty()) {
os << ", frame=(" << f.frame.cols << "x" << f.frame.rows
<< ", channels=" << f.frame.channels() << ")";
} else {
os << ", frame=<empty>";
}

os << "}";
return os;
}
};

class ICamera {
public:
virtual auto GetFrame() -> timestamped_frame_t = 0;
virtual auto Restart() -> void = 0;
[[nodiscard]] virtual auto GetCameraConstant() const -> camera_constant_t = 0;
virtual auto IsDone() -> bool { return false; }
virtual ~ICamera() = default;
};
} // namespace camera
Comment thread src/camera/training/camera.h Outdated

using timestamped_frame_t = struct TimestampedFrame {
cv::Mat frame;
double timestamp;
Signed-off-by: Ari <nanoticity@gmail.com>
Signed-off-by: Ari <nanoticity@gmail.com>
Sign up for free to 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.

2 participants