

{"id":165,"date":"2019-06-18T11:34:20","date_gmt":"2019-06-18T09:34:20","guid":{"rendered":"https:\/\/project.inria.fr\/bowi\/?page_id=165"},"modified":"2019-06-18T11:34:20","modified_gmt":"2019-06-18T09:34:20","slug":"zyggie-wbsn-platform","status":"publish","type":"page","link":"https:\/\/project.inria.fr\/bowi\/zyggie-wbsn-platform\/","title":{"rendered":"Zyggie WBSN Platform"},"content":{"rendered":"<p><\/p>\n<p id=\"aui_3_4_0_1_1005\"><span id=\"aui_3_4_0_1_1004\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/logo_zyggie_v2.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-77 alignleft\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/logo_zyggie_v2-1024x555.png\" alt=\"\" width=\"186\" height=\"101\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/logo_zyggie_v2-1024x555.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/logo_zyggie_v2-300x163.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/logo_zyggie_v2-768x417.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/logo_zyggie_v2-150x81.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/logo_zyggie_v2.png 1250w\" sizes=\"auto, (max-width: 186px) 100vw, 186px\" \/><\/a>Zyggie i<\/span>s an innovative Wireless Body Sensor Network platform developed for the CominLabs BoWI project to validate concepts and algorithms provided by the researchers. Zyggie consists of a hardware platform associated with embedded and host software. The sensor node can be strapped to different part of a human body. Each node includes four IMU sensors (accelerometer, gyrometer, compass, and barometer), an embedded processor and a low-power radio module to communicate the sensed and processed data to a coordinator element. This coordinator element can be connected to a computer or a smartphone. One of the main innovations of the system is to gather sensor data and radio received signal power to improve the accuracy of 3D localization of the nodes and to avoid drift of IMU sensors. Sensor data and radio power are combined by Zyggie&#8217;s distributed software to compute the position of each node and thus to determine the body postures or movements.<\/p>\n<p>The platform was designed in early 2013, the first prototype received in spring, and the version released in Sept. 2013 (see Figures 1 to 3). From then, different performance and power characterizations have been performed and Zyggie is moreover used to support the researches on antenna design and on gesture and posture identification algorithms.<\/p>\n<p>A second prototype was created in 2015 including new features (see Figures 4 to 6). Actually, a 32-bit microcontroller manages application, a custom MAC layer and processes quaternions based on IMU measures. On the other hand, we also added an UWB radio from DecaWave to measure distances between nodes with Time of Flight (ToF).<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<p><div id=\"attachment_98\" style=\"width: 152px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Ziggie_HW.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-98\" class=\" wp-image-98\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Ziggie_HW.png\" alt=\"\" width=\"142\" height=\"111\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Ziggie_HW.png 811w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Ziggie_HW-300x235.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Ziggie_HW-768x601.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Ziggie_HW-150x117.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Ziggie_HW-400x311.png 400w\" sizes=\"auto, (max-width: 142px) 100vw, 142px\" \/><\/a><p id=\"caption-attachment-98\" class=\"wp-caption-text\">Fig. 1: Zyggie V1 Hardware Platform<br \/>ATmega256RFR2 Microcontroller With Zigbee RF<br \/>+ Low-cost IMU<\/p><\/div><\/td>\n<td>\n<p><div id=\"attachment_97\" style=\"width: 181px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V1_Case.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-97\" class=\" wp-image-97\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V1_Case.png\" alt=\"\" width=\"171\" height=\"110\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V1_Case.png 375w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V1_Case-300x193.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V1_Case-150x96.png 150w\" sizes=\"auto, (max-width: 171px) 100vw, 171px\" \/><\/a><p id=\"caption-attachment-97\" class=\"wp-caption-text\">Fig. 2: Zyggie V1 Case<\/p><\/div><\/td>\n<td>\n<p><div id=\"attachment_96\" style=\"width: 160px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_Case.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-96\" class=\" wp-image-96\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_Case-1024x768.png\" alt=\"\" width=\"150\" height=\"112\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_Case-1024x768.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_Case-300x225.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_Case-768x576.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_Case-150x113.png 150w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><p id=\"caption-attachment-96\" class=\"wp-caption-text\">Fig. 3: Zyggie V2 Case<\/p><\/div><\/td>\n<\/tr>\n<tr>\n<td>\n<p><div id=\"attachment_95\" style=\"width: 208px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_2_test_light.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-95\" class=\" wp-image-95\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_2_test_light.png\" alt=\"\" width=\"198\" height=\"117\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_2_test_light.png 1000w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_2_test_light-300x178.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_2_test_light-768x455.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_2_test_light-150x89.png 150w\" sizes=\"auto, (max-width: 198px) 100vw, 198px\" \/><\/a><p id=\"caption-attachment-95\" class=\"wp-caption-text\">Fig. 4: Zyggie V2 Hardware Platform (top)<br \/>EFM32WG330 + ATmega2564RFR2<br \/>+ UWB Frontend + IMU<\/p><\/div><\/td>\n<td>\n<p><div id=\"attachment_94\" style=\"width: 192px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_1_test_light.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-94\" class=\" wp-image-94\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_1_test_light.png\" alt=\"\" width=\"182\" height=\"109\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_1_test_light.png 1000w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_1_test_light-300x179.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_1_test_light-768x457.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_1_test_light-150x89.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/zyggie_v2_elec_face_1_test_light-250x150.png 250w\" sizes=\"auto, (max-width: 182px) 100vw, 182px\" \/><\/a><p id=\"caption-attachment-94\" class=\"wp-caption-text\">Fig. 5: Zyggie V2 Hardware Platform (bottom)<br \/>Li-Po Battery<\/p><\/div><\/td>\n<td>\n<p><div id=\"attachment_93\" style=\"width: 196px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_arm.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-93\" class=\" wp-image-93\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_arm-1024x700.png\" alt=\"\" width=\"186\" height=\"127\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_arm-1024x700.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_arm-300x205.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_arm-768x525.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_arm-150x103.png 150w\" sizes=\"auto, (max-width: 186px) 100vw, 186px\" \/><\/a><p id=\"caption-attachment-93\" class=\"wp-caption-text\">Fig. 6: Zyggie V2 strapped on Wrist<\/p><\/div><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Custom MAC layer<\/h2>\n<p>The 802.15.4 MAC layer was modified significantly to improve power consumption and get different kinds of information from the RF communications.<\/p>\n<p id=\"aui_3_4_0_1_1166\">We implemented dynamic modifications of network topology. In the first phase, short frames (RSSI frames) are sent in broadcast and received by all nodes. This <strong>Full\u00a0Mesh<\/strong> communication (Figure 7 left) is used to get a first distance indication with signal strengh. In a second phase, data are sent to the network coordinator by all nodes in their time slots. During this <strong>Star<\/strong> communication (Figure 7 right) a node can be selected (node 2 on figure 8)\u00a0to process an UWB distance measurement toward other nodes. The custom MAC layer is detailed in Figure 8.<\/p>\n<p id=\"aui_3_4_0_1_1173\">The 2.4GHz radio, UWB radio and microcontroller are also managed to spend a maximum time in sleeping mode<\/p>\n<div id=\"attachment_92\" style=\"width: 910px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Topology_custom_MAC.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-92\" class=\"size-large wp-image-92\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Topology_custom_MAC-1024x277.png\" alt=\"\" width=\"900\" height=\"243\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Topology_custom_MAC-1024x277.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Topology_custom_MAC-300x81.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Topology_custom_MAC-768x208.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Topology_custom_MAC-150x41.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Topology_custom_MAC.png 1486w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-92\" class=\"wp-caption-text\">Fig. 7: Network Topologies<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_91\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Protocol_MAC.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-91\" class=\"wp-image-91 size-large\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Protocol_MAC-1024x809.png\" alt=\"\" width=\"900\" height=\"711\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Protocol_MAC-1024x809.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Protocol_MAC-300x237.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Protocol_MAC-768x607.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Protocol_MAC-150x119.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Protocol_MAC.png 1091w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-91\" class=\"wp-caption-text\">Fig. 8: Custom MAC Layer<\/p><\/div>\n<h2 id=\"aui_3_4_0_1_1220\">Algorithms<\/h2>\n<h4>North calibration algorithm<\/h4>\n<p>For 3D tracking application this user can place Zyggie modules anyhow on his limbs. A calibration phase must be done to initialize orientations and find the magnetic north. Two postures are mandatory to resolve the equation system defined by the Wahba&#8217;s problem.<\/p>\n<div id=\"attachment_89\" style=\"width: 395px\" class=\"wp-caption alignright\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_calibration_v2_1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-89\" class=\" wp-image-89\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_calibration_v2_1-1024x640.png\" alt=\"\" width=\"385\" height=\"241\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_calibration_v2_1-1024x640.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_calibration_v2_1-300x188.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_calibration_v2_1-768x480.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_calibration_v2_1-150x94.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_calibration_v2_1.png 1920w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><\/a><p id=\"caption-attachment-89\" class=\"wp-caption-text\">Fig. 10: Zyggie Android Application Calibration<\/p><\/div>\n<div id=\"attachment_90\" style=\"width: 400px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_compass_v2_1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-90\" class=\" wp-image-90\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_compass_v2_1-1024x640.png\" alt=\"\" width=\"390\" height=\"244\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_compass_v2_1-1024x640.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_compass_v2_1-300x188.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_compass_v2_1-768x480.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_compass_v2_1-150x94.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_compass_v2_1.png 1920w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/><\/a><p id=\"caption-attachment-90\" class=\"wp-caption-text\">Fig. 9: Zyggie Android Application Compass Tab<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4 id=\"aui_3_4_0_1_1255\">Geolocation algorithm<\/h4>\n<p>Several geolocation algorithms were tested to convert distances measures into user 2D coordinates. Four or more Zyggie modules can be placed around a user to do extra-BAN distance measures with one of intra-BAN Zyggie node.<\/p>\n<div id=\"attachment_88\" style=\"width: 422px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/onglet_geolocation_v2_0.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-88\" class=\" wp-image-88\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/onglet_geolocation_v2_0-1024x585.png\" alt=\"\" width=\"412\" height=\"235\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/onglet_geolocation_v2_0-1024x585.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/onglet_geolocation_v2_0-300x171.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/onglet_geolocation_v2_0-768x438.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/onglet_geolocation_v2_0-150x86.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/onglet_geolocation_v2_0.png 1305w\" sizes=\"auto, (max-width: 412px) 100vw, 412px\" \/><\/a><p id=\"caption-attachment-88\" class=\"wp-caption-text\">Fig. 11: Zyggie Matlab Application GeolocationTab<\/p><\/div>\n<div id=\"attachment_87\" style=\"width: 404px\" class=\"wp-caption alignright\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_geolocation_v2_1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-87\" class=\" wp-image-87\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_geolocation_v2_1-1024x640.png\" alt=\"\" width=\"394\" height=\"247\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_geolocation_v2_1-1024x640.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_geolocation_v2_1-300x188.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_geolocation_v2_1-768x480.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_geolocation_v2_1-150x94.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_geolocation_v2_1.png 1920w\" sizes=\"auto, (max-width: 394px) 100vw, 394px\" \/><\/a><p id=\"caption-attachment-87\" class=\"wp-caption-text\">Fig. 12: Zyggie Android Application GeolocationTab<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4 id=\"aui_3_4_0_1_1290\">Retargeting algorithm<\/h4>\n<p>In collaboration with the M2S laboratory, an algorithm of 3D retargeting was developped. 3D retargeting is a necessary technique to have a faithful movement rendering from one user to a 3D avatar. User&#8217;s morphology has to be taken into account to modify in real-time 3D joint orientations.<\/p>\n<div id=\"attachment_86\" style=\"width: 322px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Anthropometrie.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-86\" class=\" wp-image-86\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Anthropometrie.png\" alt=\"\" width=\"312\" height=\"267\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Anthropometrie.png 456w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Anthropometrie-300x257.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Anthropometrie-150x129.png 150w\" sizes=\"auto, (max-width: 312px) 100vw, 312px\" \/><\/a><p id=\"caption-attachment-86\" class=\"wp-caption-text\">Fig. 13: Anthropometric data<\/p><\/div>\n<div id=\"attachment_85\" style=\"width: 446px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/3D-retargeting-Android.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-85\" class=\" wp-image-85\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/3D-retargeting-Android-1024x640.png\" alt=\"\" width=\"436\" height=\"272\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/3D-retargeting-Android-1024x640.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/3D-retargeting-Android-300x188.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/3D-retargeting-Android-768x480.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/3D-retargeting-Android-150x94.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/3D-retargeting-Android.png 1920w\" sizes=\"auto, (max-width: 436px) 100vw, 436px\" \/><\/a><p id=\"caption-attachment-85\" class=\"wp-caption-text\">Fig. 14: Zyggie Android Application Retargeting Tab<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4 id=\"aui_3_4_0_1_1327\">GUI<\/h4>\n<p>Two Graphical User Interfaces (GUI) were developped to control and get information from the Zyggie network. These interfaces allow users to visualize raw data like IMU data, RSSI values and UWB distances. Many calibration, tracking and geolocation algorithms were implemented to move a skeleton in a 3D environment.<\/p>\n<h4>Matlab<\/h4>\n<p>The Matlab GUI interface also contains postures and movements reproducing applications.<\/p>\n<p>First application is a Simon Game. User has to replicate the maximum number of postures during a given time to get the best score. Another application is movement recognization. Several movements have to be reproduced by the user to perform a functionnal rehabilitation of his arms. All these applications use motion data to apply classification algorithms. A posture library was built to recognize movements.<\/p>\n<div id=\"attachment_83\" style=\"width: 411px\" class=\"wp-caption alignright\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Tracking.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-83\" class=\" wp-image-83\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Tracking-1024x585.png\" alt=\"\" width=\"401\" height=\"229\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Tracking-1024x585.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Tracking-300x171.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Tracking-768x438.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Tracking-150x86.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Tracking.png 1305w\" sizes=\"auto, (max-width: 401px) 100vw, 401px\" \/><\/a><p id=\"caption-attachment-83\" class=\"wp-caption-text\">Fig. 16: Zyggie Matlab GUI Tracking Tab<\/p><\/div>\n<div id=\"attachment_84\" style=\"width: 410px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Network.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-84\" class=\" wp-image-84\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Network-1024x584.png\" alt=\"\" width=\"400\" height=\"228\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Network-1024x584.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Network-300x171.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Network-768x438.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Network-150x86.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Zyggie_V2_GUI_Network.png 1304w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><p id=\"caption-attachment-84\" class=\"wp-caption-text\">Fig. 15: Zyggie Matlab GUI Network Tab<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4 id=\"aui_3_4_0_1_1376\">Android<\/h4>\n<p>Zyggie can be connected to an Android tablet to perform 3D tracking and geolocation. A real time RF scan was added to determine\u00a0Zigbee channel occupancy.<\/p>\n<div id=\"attachment_81\" style=\"width: 402px\" class=\"wp-caption alignright\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_tracking_v2_1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-81\" class=\" wp-image-81\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_tracking_v2_1-1024x640.png\" alt=\"\" width=\"392\" height=\"245\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_tracking_v2_1-1024x640.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_tracking_v2_1-300x188.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_tracking_v2_1-768x480.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_tracking_v2_1-150x94.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_tracking_v2_1.png 1920w\" sizes=\"auto, (max-width: 392px) 100vw, 392px\" \/><\/a><p id=\"caption-attachment-81\" class=\"wp-caption-text\">Fig. 18: Zyggie Android Application Tracking Ta<\/p><\/div>\n<div id=\"attachment_82\" style=\"width: 400px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_network_v2_1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-82\" class=\" wp-image-82\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_network_v2_1-1024x640.png\" alt=\"\" width=\"390\" height=\"244\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_network_v2_1-1024x640.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_network_v2_1-300x188.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_network_v2_1-768x480.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_network_v2_1-150x94.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/android_onglet_network_v2_1.png 1920w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/><\/a><p id=\"caption-attachment-82\" class=\"wp-caption-text\">Fig. 17: Zyggie Android Application Network Tab<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4 id=\"aui_3_4_0_1_1412\">Experimentations with Zyggie V2<\/h4>\n<h4 id=\"aui_3_4_0_1_1405\">Protocol<\/h4>\n<p>An experimentation was conducted in collaboration with the M2S laboratory using Zyggie and the Vicon system. Nine Zyggie sensors were placed on a body (Intra-BAN network) to measure UWB distances between nodes.\u00a0The Vicon system is composed of 16 cameras placed around the subject at different heights. These cameras sense markers position sticked on each Zyggie card.<\/p>\n<p>6 postures and 4 movements were selected to compare Zyggie measure quality with Vicon reference in different cases.<\/p>\n<div id=\"attachment_79\" style=\"width: 555px\" class=\"wp-caption alignright\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Acquisitions-Rennes.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-79\" class=\" wp-image-79\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Acquisitions-Rennes-1024x571.png\" alt=\"\" width=\"545\" height=\"304\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Acquisitions-Rennes-1024x571.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Acquisitions-Rennes-300x167.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Acquisitions-Rennes-768x428.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Acquisitions-Rennes-150x84.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Acquisitions-Rennes.png 1257w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/a><p id=\"caption-attachment-79\" class=\"wp-caption-text\">Fig. 20: Vicon\/Zyggie Acquisitions<\/p><\/div>\n<div id=\"attachment_80\" style=\"width: 142px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Placement-capteurs-Acquisitions-Rennes.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-80\" class=\" wp-image-80\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Placement-capteurs-Acquisitions-Rennes.png\" alt=\"\" width=\"132\" height=\"289\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Placement-capteurs-Acquisitions-Rennes.png 349w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Placement-capteurs-Acquisitions-Rennes-137x300.png 137w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Placement-capteurs-Acquisitions-Rennes-68x150.png 68w\" sizes=\"auto, (max-width: 132px) 100vw, 132px\" \/><\/a><p id=\"caption-attachment-80\" class=\"wp-caption-text\">Fig. 19: Zyggie On-body Disposition<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3 id=\"aui_3_4_0_1_1446\">Results<\/h3>\n<p>As shown on Figure 21, we calculated mean distance errors of each node across time. On average over all postures and movements, error is around 10-15cm. So, these distances could be merged to\u00a0motion data for posture processing.\u00a0The aim is to\u00a0use less often motion sensors (gyroscope for example) to improve power consumption. For future work, UWB distances could be also used for <strong>Interactive Mesh<\/strong> 3D representation.<\/p>\n<div id=\"attachment_78\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Erreur-distances-acquisitions-Rennes.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-78\" class=\"size-large wp-image-78\" src=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Erreur-distances-acquisitions-Rennes-1024x522.png\" alt=\"\" width=\"900\" height=\"459\" srcset=\"https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Erreur-distances-acquisitions-Rennes-1024x522.png 1024w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Erreur-distances-acquisitions-Rennes-300x153.png 300w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Erreur-distances-acquisitions-Rennes-768x391.png 768w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Erreur-distances-acquisitions-Rennes-150x76.png 150w, https:\/\/project.inria.fr\/bowi\/files\/2019\/06\/Erreur-distances-acquisitions-Rennes.png 1076w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-78\" class=\"wp-caption-text\">Fig. 21: Mean Distances Error For a Given Posture<\/p><\/div>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Zyggie is an innovative Wireless Body Sensor Network platform developed for the CominLabs BoWI project to validate concepts and algorithms provided by the researchers. Zyggie\u2026<\/p>\n<p> <a class=\"continue-reading-link\" href=\"https:\/\/project.inria.fr\/bowi\/zyggie-wbsn-platform\/\"><span>Continue reading<\/span><i class=\"crycon-right-dir\"><\/i><\/a> <\/p>\n","protected":false},"author":1611,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-165","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/pages\/165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/users\/1611"}],"replies":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/comments?post=165"}],"version-history":[{"count":1,"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/pages\/165\/revisions"}],"predecessor-version":[{"id":166,"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/pages\/165\/revisions\/166"}],"wp:attachment":[{"href":"https:\/\/project.inria.fr\/bowi\/wp-json\/wp\/v2\/media?parent=165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}