{"id":360,"date":"2019-04-05T15:53:53","date_gmt":"2019-04-05T15:53:53","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/?p=360"},"modified":"2019-05-08T03:06:55","modified_gmt":"2019-05-08T03:06:55","slug":"sensing-subsystem","status":"publish","type":"post","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/2019\/04\/05\/sensing-subsystem\/","title":{"rendered":"Sensing Subsystem"},"content":{"rendered":"<p><span style=\"font-weight: 400\">For the exoskeleton to accurately control the person\u2019s movement, it needs to know certain characteristics of the person\u2019s gait. This includes their center of mass velocity, pelvic orientations, hip angles and foot-ground contact. The sensing subsystem consists of three Inertial Measurement Units to obtain these parameters.<\/span><\/p>\n<h3><\/h3>\n<h3>1 March:<\/h3>\n<p>In order to collect data from the IMU\u2019s placed on the distal femur to classify foot contact, we require to integrate the IMU with a laptop to log data, as well as with force sensitive resistors placed on the foot, to get ground truth (labels). This requires us to design and build a hardware system.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-361 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense1-300x93.png\" alt=\"\" width=\"865\" height=\"268\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense1-300x93.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense1-768x237.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense1.png 937w\" sizes=\"auto, (max-width: 865px) 100vw, 865px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center\"><u>Fig 1:\u00a0The block diagram for the foot contact data collection system<\/u><\/p>\n<p>Soldered FSR\u2019s with wires and integrated the outputs with the Arduino via a protoboard. Set up pins for IMU I2C communication on the board and created a 4-wire cable to connect the IMU as well.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-362 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense2-300x168.png\" alt=\"\" width=\"455\" height=\"255\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense2-300x168.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense2-768x431.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense2.png 974w\" sizes=\"auto, (max-width: 455px) 100vw, 455px\" \/><\/p>\n<p style=\"text-align: center\"><span style=\"text-decoration: underline\">Fig 2: FSR Setup with Arduino and IMU<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3>4 March:<\/h3>\n<p>A ROS package for the Yost 3-space IMU was downloaded and installed. The package allows us to publish sensor messages to a ROS topic, thereby allowing us to visualize ROS messages in RViz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-363 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense3-300x219.png\" alt=\"\" width=\"683\" height=\"499\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense3-300x219.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense3-768x560.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense3.png 974w\" sizes=\"auto, (max-width: 683px) 100vw, 683px\" \/><\/p>\n<p style=\"text-align: center\"><span style=\"text-decoration: underline\">Fig 3: Screenshot of visualization in Rviz<\/span><\/p>\n<h3>26 March:<\/h3>\n<p>A ROS Package for the Razor 9DoF IMU was downloaded and installed. Custom firmware that accompanied the package was flashed onto the IMU, and the inbuilt visualizer was used to plot the orientation of the IMU in real-time.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-364 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense4-300x225.png\" alt=\"\" width=\"347\" height=\"260\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense4-300x225.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense4-768x576.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense4-285x214.png 285w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/sense4.png 814w\" sizes=\"auto, (max-width: 347px) 100vw, 347px\" \/><\/p>\n<p style=\"text-align: center\"><span style=\"text-decoration: underline\">Fig 4: Visualization of orientation of IMU in real-time<\/span><\/p>\n<h3>28 March:<\/h3>\n<p>As both IMUs independently published to the same topic, they were run in parallel with modified topic names to ensure that values did not interchange between the two IMUs. The visualizer was also modified to work with both IMUs.<\/p>\n<h3><strong>7 April:<\/strong><\/h3>\n<p><span style=\"font-weight: 400\">The IMUs come equipped with a powerful microprocessor that also has analog input pins. This allows us to integrate our force sensitive resistors directly to the IMU board, and simplify our block diagram by eliminating the need for an Arduino.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-447 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/1-300x109.png\" alt=\"\" width=\"509\" height=\"185\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/1-300x109.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/1-768x280.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/1-1024x373.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/1.png 1315w\" sizes=\"auto, (max-width: 509px) 100vw, 509px\" \/><\/p>\n<p style=\"text-align: center\"><span style=\"text-decoration: underline\">Fig 5: Flowchart with Arduino removed<\/span><\/p>\n<p><span style=\"font-weight: 400\">A simple and compact voltage divider circuit was fabricated to obtain the analog values from the force sensor. A wiring diagram of this basic circuit is shown below:<\/span><\/p>\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-448 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/2-1-300x238.png\" alt=\"\" width=\"300\" height=\"238\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/2-1-300x238.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/2-1.png 526w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/h3>\n<p style=\"text-align: center\"><span style=\"text-decoration: underline\">Fig 6: IMU FSR setup<\/span><\/p>\n<h3><strong>9 April:<\/strong><\/h3>\n<p><span style=\"font-weight: 400\">The firmware of the IMU board was modified to take FSR input from the analog pins, and send this information along with the linear accelerations, angular velocities and roll, pitch and yaw values.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>11 April:<\/strong><\/h3>\n<p><span style=\"font-weight: 400\">On the processor side, the ROS node was modified to parse this new input and split up the information into IMU values and FSR values. This was done by generating a new message type for the FSR values and publishing them as a separate topic.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">With this, the sensing subsystem is fully integrated with the processing system and can provide all the required information for performing computations.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>15 April:<\/strong><\/h3>\n<p><span style=\"font-weight: 400\">In order to securely mount the IMUs onto the user\u2019s distal femurs, a 3D printed mount was designed to securely house the IMU and its voltage divider board for FSR integration. The mount attaches to the leg braces by sandwiching it between a back-plate with the help of four M3 screws.<\/span><\/p>\n<p style=\"text-align: center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-449\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/3-300x270.jpg\" alt=\"\" width=\"300\" height=\"270\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/3-300x270.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/3.jpg 512w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-450\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/4-300x253.jpg\" alt=\"\" width=\"300\" height=\"253\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/4-300x253.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/4.jpg 512w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: center\"><span style=\"text-decoration: underline\">Fig 7: CAD design of IMU mount<\/span><\/p>\n<p><span style=\"font-weight: 400\">The final hardware implementation of the sensing subsystem can be seen in the following image:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-451 size-medium aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/5-e1557284689198-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/5-e1557284689198-300x225.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/5-e1557284689198-285x214.jpg 285w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-content\/uploads\/sites\/32\/2019\/04\/5-e1557284689198.jpg 511w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p style=\"text-align: center\"><span style=\"text-decoration: underline\">Fig 8: Integrated sensing subsystem\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">This completes the hardware integration of the sensing subsystem.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>1 May:<\/strong><\/h3>\n<p><span style=\"font-weight: 400\">Due to complications with wear-and-tear of the force sensitive resistors placed at the bottom of the user&#8217;s footwear, an alternative foot contact sensor will be explored in the upcoming semester.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the exoskeleton to accurately control the person\u2019s movement, it needs to know certain characteristics of the person\u2019s gait. This includes their center of mass velocity, pelvic orientations, hip angles and foot-ground contact. The sensing subsystem consists of three Inertial Measurement Units to obtain these parameters. 1 March: In order to collect data from the <a href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/2019\/04\/05\/sensing-subsystem\/\" rel=\"nofollow\"><span class=\"sr-only\">Read more about Sensing Subsystem<\/span>[&hellip;]<\/a><\/p>\n","protected":false},"author":141,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-360","post","type-post","status-publish","format-standard","hentry","category-sensing-subsystem"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/users\/141"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":4,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"predecessor-version":[{"id":452,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/posts\/360\/revisions\/452"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamb\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}