{"id":7,"date":"2021-11-08T08:57:15","date_gmt":"2021-11-08T08:57:15","guid":{"rendered":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/?page_id=7"},"modified":"2022-12-13T05:22:52","modified_gmt":"2022-12-13T05:22:52","slug":"design","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/design\/","title":{"rendered":"DESIGN"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>System requirements<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-center\"><strong>Requirements<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Functional Requirement<\/strong><\/td><td><strong>Performance Requirement<\/strong><\/td><td><strong>Justification\/Assumptions<\/strong><\/td><\/tr><tr><td><strong>M.F.3.<\/strong> Plan path &amp; traverse to the desired location&nbsp;<\/td><td><strong>M.P.1.<\/strong> Traverse on hard, flat indoor floors reliably&nbsp;at<strong><em> 0.4 m\/s<\/em><\/strong>\u200b during teleoperation<\/td><td>Presence of limited obstacles in the surrounding such that a path exists for robot to avoid obstacles and traverse ahead<\/td><\/tr><tr><td><strong>M.F.3.<\/strong> Plan path &amp; traverse to the desired location<\/td><td><strong>M.P.2.<\/strong> Reach the desired location within<strong><em> 30&nbsp;minutes<\/em><\/strong><\/td><td>Assuming latency in receiving user input, obstacle detection, avoidance, and arm manipulationGoal location in the operating area and 100m away from start location of the robot<\/td><\/tr><tr><td><strong>M.F.1.<\/strong> Facilitate remote user access<strong>M.F.2.<\/strong> Receive inputs: room location and teleoperation<\/td><td><strong>M.P.3.<\/strong> Receive user input from interface with a<strong><em> latency less than 5&nbsp;seconds\u200b<\/em><\/strong><\/td><td>Assuming &gt;100mbps broadband connectivity is available to user and robot<\/td><\/tr><tr><td><strong>M.F.3.<\/strong> Plan path &amp; traverse to the desired location&nbsp;<\/td><td><strong>M.P.4.<\/strong> Plan global path to the desired location&nbsp;<strong><em>within&nbsp;3&nbsp;minutes\u200b<\/em><\/strong><\/td><td>The algorithms of the system will be optimized to use onboard compute capability to achieve this<\/td><\/tr><tr><td><strong>M.F.4.<\/strong> Detect and avoid obstacles<\/td><td><strong>M.P.5.<\/strong> Detect and avoid obstacles (during&nbsp;autonomous navigation and&nbsp;teleoperation) <strong><em>with mAP of 80%\u200b<\/em><\/strong><\/td><td>For obstacles lying in the FOV of sensing modalities<\/td><\/tr><tr><td><strong>M.F.6.<\/strong> Detect objects for object grasping and placement.<\/td><td><strong>M.P.6.<\/strong> Detect objects with a <strong><em>precision of 70%<\/em><\/strong> and <strong><em>recall of 60%<\/em><\/strong><\/td><td>For predefined set of objects in the environment and appropriate lighting<\/td><\/tr><tr><td><strong>M.F.7. <\/strong>Estimate grab points and pose of the objects<\/td><td><strong>M.P.7.<\/strong> Estimate grab points and pose of objects with a <strong><em>precision of 65%<\/em><\/strong><\/td><td>For predefined set of objects in the environment and appropriate lighting<\/td><\/tr><tr><td><strong>M.F.8.<\/strong> Plan manipulator motion for object grasping and placement<\/td><td><strong>M.P.8.<\/strong> Plan manipulator motion to grasp object <strong><em>within 3 minutes<\/em><\/strong>\u200b<\/td><td>The algorithms of the system will be optimized to use onboard compute capability to achieve this<\/td><\/tr><tr><td><strong>M.F.9.<\/strong> Autonomously grasp and release object<\/td><td><strong>M.P.9.<\/strong> Grasp or release object within 5 minutes,&nbsp;with&nbsp;<strong><em>67% success rate<\/em><\/strong>\u200b (2 successful trails out of 3)<\/td><td>Accounting for slippage of end-effector due to physical properties (torque required, material) of objects<\/td><\/tr><tr><td><strong>M.F.10.<\/strong> Provide gimbal control of tablet&nbsp;<\/td><td><strong>M.P.10.<\/strong> Provide gimbal motion of <strong><em>60 degrees in&nbsp;pitch and 120 degrees in yaw<\/em><\/strong> for the&nbsp;display device\u200b<\/td><td>To mimic natural human perspective FOV<\/td><\/tr><tr><td><strong>M.F.11.<\/strong> Provide a video call interface to user<\/td><td><strong>M.P.11.<\/strong> Provide a <strong><em>1080*720 resolution <\/em><\/strong>video&nbsp;call interface for user to interact &nbsp; with&nbsp;surroundings with a <strong><em>lag less than 2&nbsp;seconds<\/em><\/strong>.\u200b<\/td><td>The system aims to provide a HD and a real-time experience to the user<\/td><\/tr><tr><td><strong>M.P.12.<\/strong> Provide traversal feedback&nbsp;<\/td><td><strong>M.P.12.<\/strong> Provide traversal feedback to user&nbsp;<strong><em>every 5 seconds\u200b<\/em><\/strong><\/td><td>The system aims to provide a real-time experience to the user<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Mandatory Performance Requirements<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>PR#<\/td><td>Description<\/td><\/tr><tr><td>PR1-M<\/td><td>Reach the desired location within <strong>30&nbsp;minutes <\/strong>(Desired location distance &lt;=150 m)\u200b<\/td><\/tr><tr><td>PR2-M<\/td><td>Traverse on hard, flat indoor floors reliably&nbsp;at<strong> 0.4 m\/s<\/strong>\u200b during teleoperation<\/td><\/tr><tr><td>PR3-M<\/td><td>Receive user input from interface with a latency less than <strong>5&nbsp;seconds\u200b<\/strong><\/td><\/tr><tr><td>PR4-M<\/td><td>Plan global path to the desired location&nbsp;within&nbsp;<strong>3&nbsp;minutes\u200b<\/strong><\/td><\/tr><tr><td>PR5-M<\/td><td>Detect and avoid obstacles (during&nbsp;autonomous navigation and&nbsp;teleoperation) with <strong>mAP of 80%\u200b<\/strong><\/td><\/tr><tr><td>PR6-M<\/td><td>Detect objects with a<strong> <em>precision of 70% <\/em><\/strong>and <em><strong>recall of 60%<\/strong><\/em><\/td><\/tr><tr><td>PR7-M<\/td><td>Estimate grab points and pose of objects with a<strong> <em>precision of 65%<\/em><\/strong><\/td><\/tr><tr><td>PR8-M<\/td><td>Plan manipulator motion to grasp object within<strong> <em>3 minutes\u200b<\/em><\/strong><\/td><\/tr><tr><td>PR9-M<\/td><td>Grasp or release object within<strong> 5 minutes<\/strong>,&nbsp;with&nbsp;a <em><strong>67% success rate<\/strong><\/em>\u200b (2 successful trials out of 3)<\/td><\/tr><tr><td>PR10-M<\/td><td>Provide gimbal motion of <strong>60 degrees <\/strong>in&nbsp;pitch and <strong>120 degrees <\/strong>in yaw for the&nbsp;display device\u200b<\/td><\/tr><tr><td>PR11-M<\/td><td>Provide a 1080*720 resolution video&nbsp;call interface for users to interact with&nbsp;surroundings with a lag less than <strong>2&nbsp;seconds.<\/strong>\u200b<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><strong>Desirable Performance Requirements<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>PR#<\/td><td>Description<\/td><\/tr><tr><td>PR1-D<\/td><td>Reach the desired location within <strong><em>20&nbsp;minutes<\/em><\/strong>(Desired location distance &lt;=150 m)\u200b<\/td><\/tr><tr><td>PR2-D<\/td><td>Detect and avoid obstacles (during&nbsp;autonomous navigation and&nbsp;teleoperation) with <strong><em>mAP of 90%<\/em><\/strong>\u200b<\/td><\/tr><tr><td>PR3-D<\/td><td>Plan manipulator motion to grasp\/place objects within <strong><em>3 minutes<\/em><\/strong>\u200b<\/td><\/tr><tr><td>PR4-D<\/td><td>Grasp or release object within<strong> 5 minutes<\/strong>,&nbsp;with&nbsp;an 80% success rate\u200b (8 successful trials out of 10)<\/td><\/tr><tr><td>PR5-D<\/td><td>Provide traversal feedback to the <strong>user&nbsp;every 5 seconds\u200b<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><strong>Mandatory Non-Functional Requirements<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>NFR#<\/td><td>Description<\/td><\/tr><tr><td>NFR1-M<\/td><td>Provide a user-friendly interface with a small learning curve.<\/td><\/tr><tr><td>NFR2-M<\/td><td>Be modular with APIs to facilitate further development<\/td><\/tr><tr><td>NFR3-M<\/td><td>Be situationally aware<\/td><\/tr><tr><td>NFR4-M<\/td><td>Be friendly to facilitate natural interaction<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><strong>Desirable Non-Functional Requirements<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>NFR#<\/td><td>Description<\/td><\/tr><tr><td>NFR1-M<\/td><td>Be deployed in a defined environment in the Robotics Institute.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator is-style-default\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Functional architecture<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"729\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-1024x729.png\" alt=\"\" class=\"wp-image-620 size-full\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-1024x729.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-300x214.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-768x547.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-1536x1094.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-700x499.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-520x370.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-360x256.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-250x178.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1-100x71.png 100w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Functional-architecture-1-1.png 1769w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>The functional architecture in the figure shows the major functions and the flow of information, energy, and material for TouRI. The core functionality of the system is to facilitate telepresence for a user to tour the defined environment in the Robotics Institute.<\/p>\n\n\n\n<p>The <strong>user inputs<\/strong> in the functional architecture are on the left. They are as follows:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li>Location input is chosen by the user that the user wants to tour.<\/li><li>Teleoperation commands from the user for navigation of the robot.<\/li><li>Teleoperation commands from the user for control of the tablet.<\/li><li>Audio-Visual data of the user.<\/li><\/ol>\n\n\n\n<p>The <b>system&#8217;s<\/b> main functions are<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li>Go to the desired location.<\/li><li>Grab souvenirs.<\/li><li>Facilitate interaction with surroundings.<\/li><\/ol>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Cyberphysical architecture<\/strong><\/h2>\n\n\n\n<hr class=\"wp-block-separator is-style-default\" \/>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:65% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"1024\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-933x1024.png\" alt=\"\" class=\"wp-image-614 size-full\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-933x1024.png 933w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-273x300.png 273w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-768x843.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-1399x1536.png 1399w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-700x768.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-520x571.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-360x395.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-250x274.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1-100x110.png 100w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/12\/Cyberphysical-1.png 1811w\" sizes=\"auto, (max-width: 933px) 100vw, 933px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>The cyber-physical architecture, derived from the functional architecture, describes the system modules and the interaction between them for the functioning of the system. The architecture has been devised to make the system modular, thereby facilitating adaptability to any modifications that may be made to subsystems for further development or for different use cases. The major modules of TouRI include the following- user interface, sensing, navigation, perception, manipulation, control and actuation, and robot display device interface.<\/p>\n<\/div><\/div>\n\n\n\n<hr class=\"wp-block-separator is-style-default\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>System design description\/depiction(s)<\/strong><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">Interface<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-default\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/02\/Screen-Shot-2022-02-25-at-5.16.18-PM.png\" alt=\"\" class=\"wp-image-265\" width=\"870\" height=\"329\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/02\/Screen-Shot-2022-02-25-at-5.16.18-PM.png 629w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/02\/Screen-Shot-2022-02-25-at-5.16.18-PM-300x114.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/02\/Screen-Shot-2022-02-25-at-5.16.18-PM-520x197.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/02\/Screen-Shot-2022-02-25-at-5.16.18-PM-360x136.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/02\/Screen-Shot-2022-02-25-at-5.16.18-PM-250x95.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/02\/Screen-Shot-2022-02-25-at-5.16.18-PM-100x38.png 100w\" sizes=\"auto, (max-width: 870px) 100vw, 870px\" \/><\/figure>\n\n\n\n<p>The UI is an iOS and Android mobile application through which users can send commands to the robot and receive updates from the robot. The UI displays real-time audio and video feed of the robot and provides a human-centric design to send autonomous and tele-operational commands to the robot.<\/p>\n\n\n\n<p>There are two communication links \u2013 the videotelephony link and the commands link. The video telephony link is a peer-to-peer communication link that streams audio and video of the user and the bot. For heavy exchange of data, like with audio and video streams, Peer-to-peer architecture is faster and more reliable as compared to a centralized architecture.<\/p>\n\n\n\n<p>The command link is a client-server-client link, where the bot and the UI are the clients and a cloud database is a server. The cloud database (Google\u2019s Firebase Firestore) provides real-time updates to listening clients. This architecture provides a single source of truth to both clients and also keep a track of commands and bot state. Lastly, the ease of scalability for this architecture opens up many different future potentials for the project like swarm telepresence.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Navigation<\/h2>\n\n\n\n<p><img decoding=\"async\" width=\"1026px;\" height=\"601px;\" src=\"https:\/\/lh5.googleusercontent.com\/Fsu56F8bVqjkrvXksM5AfpgjxsHjLfXVtZ-LGQCLGquoXqkdBZg7ZVZf26_YTCvRk5mMhIjSo1iW4zJVKiV3cdbyG03pFDIxpdaSnlGFb0GjPCWABZfyzP5WwGAxnGDfd_9-__z0Fa8CfVneOkc0nB6dcLlYPpESDvs-_ADBxW5lrdTAN_livG4MLGo4HUsHDv8\"><\/p>\n\n\n\n<p>The navigation subsystem facilitates shared autonomy for robot traversal, operating in both autonomous and teleoperation modes. <\/p>\n\n\n\n<p>In the autonomous mode, the navigation module generates a goal waypoint corresponding to the location selected by the user on the interface. Odometry data from the sensors-IMU, wheel encoders, Lidar, and depth camera are fused by the sensor fusion node. The fused odometry is used by the robot localization node to estimate the pose of the robot in the pre-fed map of the environment (generated and stored prior to the operation of the robot). The perception module detects obstacles in the vicinity of the robot and provides information about the obstacle to the navigation module. Based on the current pose of the robot and the goal waypoint, the path planning node generates a global path for the robot. This is augmented by the local plan generated by the path planning node based on the obstacles detected. This trajectory is sent to the control and actuation system to send motor velocities to actuate the wheel motors. <\/p>\n\n\n\n<p>In the teleoperation mode, the teleoperation node receives robot control inputs from the user through the interface. Simultaneously, it also receives information about obstacles detected from the perception module. If no obstacle is detected, the teleoperation node sends a command to the control and actuation system to actuate the motors based on teleoperation inputs. If an obstacle is detected, the user is alerted of the direction in which the obstacle is present so that the user can avoid it. If the user is too close, teleoperation control is retracted from the user in that direction. Control is returned only when user has corrected the robot to a safe distance from the obstacle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Perception<\/strong><\/h2>\n\n\n\n<p><img decoding=\"async\" width=\"658px;\" height=\"572px;\" src=\"https:\/\/lh4.googleusercontent.com\/jUrAYoPqoZO-QfARaltmOaS4v5LqefBZZ7M4bIsfXmddBdscZ0XEobdNB3tmeX1qeOui2-IxyqpvK965v92WV0X5iNq5ZzEWcoBFjtqUQM4ScDIbu40xL0LhQWQBczYlKPA1iH9JIYtJ_vwCpphNKppaB8jvNtpPrQZ-THtX7iTjFe1cU24Tr8BN_aNBEr1c\" alt=\"Diagram\n\nDescription automatically generated\"><\/p>\n\n\n\n<p class=\"has-text-align-left\">The perception module is responsible for detecting the souvenir objects and estimating the grasp point of the souvenirs. It is also responsible for the detection of the shipping box to place the grasped objects in the shipping box. The perception module also creates the database using the tracking-based labeling pipeline. This labeled database is used to train the detection model which then is used for the detection of souvenirs and shipping boxes.<br><br>The perception module detects objects to be picked up. To achieve object detection<code> detectron<\/code>2 framework is used. It is trained using a labeled dataset of custom images. Once the object has been detected, the perception module must estimate the grasp points of the object. Combining the bounding box information from object detection and point cloud from the depth camera, the grab points for the objects will be estimated and sent to the manipulation module for autonomous pick and place operation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Manipulation<\/h2>\n\n\n\n<p><img decoding=\"async\" width=\"816px;\" height=\"501px;\" src=\"https:\/\/lh3.googleusercontent.com\/uNubv4ZNhmXPPD05qhTUHrBMTOFWD6DCwciaWbd0LIKimhE0smJALX258yDAGm9jAWl-RHTL9mm8nTC2LcDtayN_Uc_DeTxbtSkyxXlwJxywhoj3eVMBh_Y7U-fzUz7eRw53hvkx0jID63yzkfL7_2onZyng2II5vrDGa4wCqRnQ0g0fw7LQgeXVmKqNv2Qo\"><\/p>\n\n\n\n<p>The manipulation module is responsible for grasping and placing souvenir items in the shipping box. Based on the data received from the perception module, it plans a trajectory for the manipulator and the base to pick the object and place it in the shipping box. The control and actuation system moves the robot arm and the base according to this trajectory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Hardware<\/strong><\/h2>\n\n\n\n<p>This subsystem adds a face to the robot to make the virtual presence of the user more realistic and natural. The user operating the robot can control the gimbal mount to orient the display on the robot through the app interface, for natural interaction with the surrounding. The control inputs are converted into coordinates for the orientation of the display and transferred to the cloud. This data is then received by the task file being managed under the interface module. The ROS package then retrieves this data and passes it to the microcontroller which then converts the coordinate data to pitch and yaw angles for the servos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"900\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-1024x900.png\" alt=\"\" class=\"wp-image-404\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-1024x900.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-300x264.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-768x675.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-700x615.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-520x457.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-360x316.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-250x220.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM-100x88.png 100w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.57.33-PM.png 1040w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>CAD Desing of Gimbal<\/figcaption><\/figure>\n\n\n\n<p>Other developments include various interconnect PCB, Microcontroller based servo motor controllers, and power distribution systems for the project:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"350\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-1024x350.png\" alt=\"\" class=\"wp-image-406\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-1024x350.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-300x103.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-768x263.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-700x239.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-520x178.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-360x123.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-250x85.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM-100x34.png 100w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.58.54-PM.png 1094w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"323\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-1024x323.png\" alt=\"\" class=\"wp-image-407\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-1024x323.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-300x95.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-768x243.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-700x221.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-520x164.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-360x114.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-250x79.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM-100x32.png 100w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-content\/uploads\/sites\/61\/2022\/04\/Screen-Shot-2022-04-08-at-7.59.24-PM.png 1216w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>System requirements Requirements Functional Requirement Performance Requirement Justification\/Assumptions M.F.3. Plan [&hellip;]<\/p>\n","protected":false},"author":286,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/page_fullwidth.php","meta":{"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry","clearfix"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/users\/286"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":60,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":714,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/pages\/7\/revisions\/714"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamh\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}