<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>camera on Matthew Shields</title>
    <link>https://mshields.name/tags/camera/</link>
    <description>Recent content in camera on Matthew Shields</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-GB</language>
    <copyright>© 2022 - 2026 Matthew Shields</copyright>
    <lastBuildDate>Wed, 03 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mshields.name/tags/camera/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ROS 2 Camera Calibration</title>
      <link>https://mshields.name/blog/2026-06-03-ros-2-camera-calibration/</link>
      <pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://mshields.name/blog/2026-06-03-ros-2-camera-calibration/</guid>
      <description>Preamble – The Why Underlying many perception tasks is the need to express the pose of one coordinate frame relative to another and to compose such poses along kinematic and sensing chains. This allows us to take transform sensor obeservations from the reference frame of a sensing element. This is useful.
A rigid-body pose can be represented by a homogeneous transformation matrix, see here for more on that. \[\begin{equation} \mathbf{T}^{A}_{B} = \begin{bmatrix} \mathbf{R}^{A}_{B} &amp;amp; \mathbf{t}^{A}_{B} \\ \mathbf{0}^{\top} &amp;amp; 1 \end{bmatrix} \in SE(3), \qquad \mathbf{R}^{A}_{B} \in SO(3),\ \ \mathbf{t}^{A}_{B} \in \mathbb{R}^{3}, \label{eq:se3} \end{equation}\] Where \(\mathbf{R}^{A}_{B}\) is a \(3\times3\) rotation matrix belonging to the special orthogonal group \(SO(3)\) and \(\mathbf{t}^{A}_{B}\) is a translation vector.</description>
    </item>
    
  </channel>
</rss>
