{"id":12,"date":"2026-02-21T02:33:47","date_gmt":"2026-02-21T02:33:47","guid":{"rendered":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/system-design\/"},"modified":"2026-05-01T20:28:53","modified_gmt":"2026-05-01T20:28:53","slug":"system-design","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/system-design\/","title":{"rendered":"System Design"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Requirements<\/h2>\n\n\n\n<p class=\"has-large-font-size\">Performance Requirements<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Requirement #<\/td><td>Requirement<\/td><td>Target<\/td><\/tr><tr><td>M.P.1<\/td><td>From bone STL to physical bone registration<\/td><td>&lt; 5mm RMSE<\/td><\/tr><tr><td>M.P.2<\/td><td>End-to-end bone tracking latency<\/td><td>&lt;= 500 ms<\/td><\/tr><tr><td>M.P.3<\/td><td>Tracked bone pose jitter<\/td><td>&lt;= 3 mm, 3 deg RMSE<\/td><\/tr><tr><td>M.P.4<\/td><td>End-to-end controller-to-robot latency<\/td><td>&lt;= 750 ms<\/td><\/tr><tr><td>M.P.5<\/td><td>End effector autonomous force<\/td><td>&lt; 50 N<\/td><\/tr><tr><td>M.P.6<\/td><td>End effector lateral error from guide line<\/td><td>&lt;= 3mm RMS, 3mm maximum<\/td><\/tr><tr><td>M.P.7<\/td><td>End effector axis-angular error from guide line<\/td><td>&lt;= 3 deg<\/td><\/tr><tr><td>M.P.8<\/td><td>Starting pose in selected guide accuracy<\/td><td>&lt;= 5 mm, 3 deg<\/td><\/tr><tr><td>M.P.9<\/td><td>Tool tip accuracy on bone (SVD)<\/td><td>&lt;= 4 mm<\/td><\/tr><tr><td>M.P.10<\/td><td>Success rate with full requirements<\/td><td>&gt;= 4\/5 trials<\/td><\/tr><tr><td>M.P.11<\/td><td>Guide deviation prevention rate<\/td><td>10\/10 trials<\/td><\/tr><tr><td>M.P.12<\/td><td>E-stop pressed latency to full stop<\/td><td>&lt;= 250 ms<\/td><\/tr><tr><td>M.P.13<\/td><td>Time to stop after tracking loss<\/td><td>&lt;= 250 ms<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"has-large-font-size\">Functional Requirements<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>FR-01<\/strong>: Accept pre-operative CT scan as a 3D reference frame for surgical planning.<\/li>\n\n\n\n<li><strong>FR-02<\/strong>: Continuously detect + track 6-DOF pose of surgical tools and anatomical reference markers.<\/li>\n\n\n\n<li><strong>FR-03<\/strong>: Register the CT coordinate frame to physical patient anatomy in real time using IR data.<\/li>\n\n\n\n<li><strong>FR-04<\/strong>: Render and display a surgical-plan overlay (drill sites, cutting planes) aligned to scene.<\/li>\n\n\n\n<li><strong>FR-05<\/strong>: Enable a remote surgeon to select drill axis, plane, depth and transmit commands to robot.<\/li>\n\n\n\n<li><strong>FR-06<\/strong>: Navigate the KUKA LBR Med 7 to the planned drill pose and execute drilling or cutting.<\/li>\n\n\n\n<li><strong>FR-07<\/strong>: Block out-of-bound commands; detect aggressive bone motion; provide E-stop capability.<\/li>\n\n\n\n<li><strong>FR-08<\/strong>: Allow the surgeon to pause, abort, or manually override robot motion at any point.<\/li>\n\n\n\n<li><strong>FR-09<\/strong>: Surgeon commands shall be constrained within the pre-op plan envelope; enforced by software geofence.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-large-font-size\">Non-Functional Requirements<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>NFR-01<\/strong>: End-to-end control latency \u2264 100 ms (stretch).<\/li>\n\n\n\n<li><strong>NFR-03<\/strong>: Continuous operation up to 4 h without restart.<\/li>\n\n\n\n<li><strong>NFR-04<\/strong>: AR rendering \u2265 30 FPS.<\/li>\n\n\n\n<li><strong>NFR-05<\/strong>: IEC 62304 + ISO 10218 compliance.<\/li>\n\n\n\n<li><strong>NFR-06<\/strong>: Patient data encrypted per HIPAA.<\/li>\n\n\n\n<li><strong>NFR-07<\/strong>: Graceful degradation with surgeon override.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Functional Architecture<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"323\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/functional-1024x323.png\" alt=\"\" class=\"wp-image-158\" style=\"aspect-ratio:3.1702544977969564;width:1080px;height:auto\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/functional-1024x323.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/functional-300x95.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/functional-768x242.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/functional.png 1273w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Cyberphysical Architecture<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"484\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/cyberphysical-1024x484.png\" alt=\"\" class=\"wp-image-160\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/cyberphysical-1024x484.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/cyberphysical-300x142.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/cyberphysical-768x363.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/cyberphysical.png 1138w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Design Description<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"408\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/02\/image-1024x408.png\" alt=\"\" class=\"wp-image-41\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/02\/image-1024x408.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/02\/image-300x120.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/02\/image-768x306.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/02\/image-1536x612.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/02\/image-2048x817.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">High-level overview of system design<\/figcaption><\/figure>\n\n\n\n<p><strong>System Overview:<\/strong>&nbsp;The system integrates five core pillars identified in the research:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Perception Layer:<\/strong>&nbsp;Multi-modal sensor fusion (IR tracker\/Stereo Camera) for environment modeling and tracking.<\/li>\n\n\n\n<li><strong>Simulation\/Digital Twin:<\/strong>&nbsp;A continuous loop with real-time tracking to display all changes and actions to the doctor.<\/li>\n\n\n\n<li><strong>Teleop Control: <\/strong>A co-bot setup where al invasive procedures are teleoperate by the surgeon from the AR headset and other rudimentary motions are automated to make procedure a lot more smoother <\/li>\n<\/ol>\n\n\n\n<p><strong>Justification:<\/strong>&nbsp;This modular approach allows for better debugging and parallel development since all components can be worked on independently.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/system-labeled-1024x575.png\" alt=\"\" class=\"wp-image-126\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/system-labeled-1024x575.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/system-labeled-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/system-labeled-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/system-labeled.png 1365w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Labeled depiction of the system at SVD<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Subsystem Descriptions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Subsystem A: The Perception Stack<\/h3>\n\n\n\n<p>This subsystem transforms raw sensor data into a structured digital representation of the factory floor.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Components:<\/strong>&nbsp;IR Trackers, IR Optical module, Stereo Camera.<\/li>\n\n\n\n<li><strong>Function:<\/strong>&nbsp;It utilizes&nbsp;Stereo camera to get the initial point cloud and position of markers with respect to the bone attached. One we have the relative position we can begin with IR tracking of the bone.<\/li>\n\n\n\n<li><strong>Design Choice:<\/strong>&nbsp;We prioritized&nbsp;<strong>Ease of use for end-user<\/strong>&nbsp;over fixed-set detection to allow the robot to identify the correct orientation instead of a human manually registering and calibrating it.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-labeled-1024x505.png\" alt=\"\" class=\"wp-image-127\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-labeled-1024x505.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-labeled-300x148.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-labeled-768x379.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-labeled-1536x758.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-labeled.png 1917w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Our custom registration visualization<\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Subsystem B: Motion Planning<\/h3>\n\n\n\n<p>This section converts the commands from Surgeon into motion. For example surgeon select a line to drill along ,this section will plan the trajectory for the whole driving procedure and autonomously move the arm to the starting location of the line in 3d space and after that surgeon teleoperate it.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Components:<\/strong>&nbsp;ROS, Isaac Sim, Kuka Med 7.<\/li>\n\n\n\n<li><strong>Function:<\/strong>&nbsp;Plan the trajectory for the whole given procedure and autonomously move the arm to the starting location of any procedure and then translate surgeons command into motion.<\/li>\n\n\n\n<li><strong>Design Choice:<\/strong>&nbsp;<strong>Earlier<\/strong> we planned to do everything autonomously but that approach was discarded since it could have been very tiring for the doctor and if even by mistake the doctor moved his\/her in simulation abruptly it would have caused the actual robot arm to go berserk. Instead, we utilize&nbsp;Semi Autonomous and constrained Co-Bot approach to keep the load as low as possible on the doctor and prevent mishaps.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-traj-1024x455.png\" alt=\"\" class=\"wp-image-128\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-traj-1024x455.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-traj-300x133.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-traj-768x342.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-traj-1536x683.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/registration-traj.png 1880w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Our arm scanning trajectory<\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">Subsystem C: World Modeling &amp; Simulation<\/h3>\n\n\n\n<p>This subsystem acts as the &#8220;imagination&#8221; of the robot, transferring everything from the robot to the Apple Vision Pro.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Components:<\/strong>&nbsp; World Models, Physics Engines (e.g., Isaac Sim), and Scenario-based Testing suites.<\/li>\n\n\n\n<li><strong>Function:<\/strong>&nbsp;It runs parallel to the real robot, rendering everything in real world physics.<\/li>\n\n\n\n<li><strong>Design Choice:<\/strong>&nbsp;We integrated&nbsp;<strong>World Models<\/strong> to better account for &#8220;out-of-distribution&#8221; events and ease of teleoperation visualisation and controls.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"955\" height=\"536\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/fpv-labeled.png\" alt=\"\" class=\"wp-image-129\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/fpv-labeled.png 955w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/fpv-labeled-300x168.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-content\/uploads\/sites\/93\/2026\/05\/fpv-labeled-768x431.png 768w\" sizes=\"auto, (max-width: 955px) 100vw, 955px\" \/><figcaption class=\"wp-element-caption\">The view from inside of the Apple Vision Pro<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Design Alternatives and Trade-offs<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td>Alternative<\/td><td>Status<\/td><td>Reason for Rejection<\/td><\/tr><\/thead><tbody><tr><td><strong>End-to-End Teleop Control<\/strong><\/td><td>Discarded<\/td><td><strong>Safety\/Reliability:<\/strong>&nbsp;Tiring and can cause mishaps .<\/td><\/tr><tr><td><strong>Manual Registration<\/strong><\/td><td>Discarded<\/td><td><strong>Erroneous:<\/strong>&nbsp;Manual point marking on bone from intuition can introduce more errors.<\/td><\/tr><tr><td><strong>Stereo-Only Tracking<\/strong><\/td><td>Discarded<\/td><td><strong>Information Loss:<\/strong>&nbsp;Less accurate, works good only at close distance and readings drift over time<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Requirements Performance Requirements Requirement # Requirement Target M.P.1 From bone STL to physical bone registration &lt; 5mm RMSE M.P.2 End-to-end bone tracking latency &lt;= 500 ms M.P.3 Tracked bone pose jitter &lt;= 3 mm, 3 deg RMSE M.P.4 End-to-end controller-to-robot latency &lt;= 750 ms M.P.5 End effector autonomous force &lt; 50 N M.P.6 End effector [&hellip;]<\/p>\n","protected":false},"author":440,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/users\/440"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":10,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":162,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/pages\/12\/revisions\/162"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2026teamb\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}