{"id":188,"date":"2016-11-18T15:56:19","date_gmt":"2016-11-18T15:56:19","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/?page_id=188"},"modified":"2017-04-08T02:41:26","modified_gmt":"2017-04-08T02:41:26","slug":"perception","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/perception\/","title":{"rendered":"Perception"},"content":{"rendered":"<h2>Perception<\/h2>\n<ul>\n<li>RGB Camera (mvBlueFox-MLC200wG)<\/li>\n<li>LiDAR Sensor (Velodyne VLP-16)<\/li>\n<li>IMU (VN-100 Rugged)<\/li>\n<li>Custom Sensor Mount<\/li>\n<\/ul>\n<p>The perception \u00a0subsystem collects imaging and positional data and forwards it to the relevant subsystems on and off board Arcus. Calibration was a very crucial part of assembling this subsystem, where we needed to get camera intrinsics and extrinsics calibrated for pixel error and distortion, and movement, respectively.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-272 size-full\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/kalibr.png\" alt=\"kalibr\" width=\"1368\" height=\"1072\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/kalibr.png 1368w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/kalibr-300x235.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/kalibr-768x602.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/kalibr-1024x802.png 1024w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><\/p>\n<p style=\"text-align: center\"><em>Camera intrinsic calibration using Kalibr<\/em><\/p>\n<p>Kalibr was used to calibrate the camera intrinsics to get a pixel reprojection error within 0.8px.<\/p>\n<p>Kalibr was then used to calibrate the Camera-IMU extrinsics to obtain the camera-IMU axes transform. The camera reprojection error was reduced to 1px. But it will be later recomputed for greater reprojection accuracy, after conducting full-system flight tests<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-270 size-full\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/cam-imu-extrinsi.png\" alt=\"cam-imu-extrinsi\" width=\"1239\" height=\"993\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/cam-imu-extrinsi.png 1239w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/cam-imu-extrinsi-300x240.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/cam-imu-extrinsi-768x616.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/cam-imu-extrinsi-1024x821.png 1024w\" sizes=\"auto, (max-width: 1239px) 100vw, 1239px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-271 \" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/extrinsic.png\" alt=\"extrinsic\" width=\"545\" height=\"207\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/extrinsic.png 2291w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/extrinsic-300x114.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/extrinsic-768x291.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/extrinsic-1024x388.png 1024w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/p>\n<p style=\"text-align: center\"><em>Kalibr Camera-IMU Extrinsic Calibration results. Top: Camera reprojection errors, Bottom (from left to right): IMU acceleration prediction errors, IMU angular velocity prediction errors<\/em><\/p>\n<p>Additionally, the IMU-camera extrinsics needed to be calibrated for distortion correction and the LiDAR-camera extrinsics needed calibration for map matching.<\/p>\n<p>To keep our calibration true, we needed to design a sensor mount to keep everything rigid. Starting off, some preliminary designs were sketched out.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-243 size-full aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageBottomPlate.png\" alt=\"undercarriagebottomplate\" width=\"470\" height=\"214\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageBottomPlate.png 470w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageBottomPlate-300x137.png 300w\" sizes=\"auto, (max-width: 470px) 100vw, 470px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-244 size-full aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageFront.png\" alt=\"undercarriagefront\" width=\"459\" height=\"277\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageFront.png 459w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageFront-300x181.png 300w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-245 size-full aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageEnvelope.png\" alt=\"undercarriageenvelope\" width=\"603\" height=\"418\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageEnvelope.png 603w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/undercarriageEnvelope-300x208.png 300w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/p>\n<p>The mount undercarriage hangs below the bottom base plate from carbon fiber rods that the undercarriage envelops. The battery, LiDAR, IMU, and RGB camera were all planned to be installed onto this mount.<\/p>\n<p>This is the initial version of the undercarriage mount.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-242 size-full\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/assy_whole.png\" alt=\"assy_whole\" width=\"627\" height=\"505\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/assy_whole.png 627w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/assy_whole-300x242.png 300w\" sizes=\"auto, (max-width: 627px) 100vw, 627px\" \/><\/p>\n<p>After further refinement and filleting, this is the final mount that was 3D printed. The base plate was made out of MDF for the initial prototype but we will switch it out for an Al-6061 plate.<\/p>\n<p>&nbsp;<\/p>\n<p>Finally, we have installed the sensors and batteries to make sure that everything fits.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-247\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/sensorsIntegrated-1024x484.png\" alt=\"sensorsintegrated\" width=\"474\" height=\"224\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/sensorsIntegrated-1024x484.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/sensorsIntegrated-300x142.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/sensorsIntegrated-768x363.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-content\/uploads\/sites\/13\/2016\/11\/sensorsIntegrated.png 1243w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Perception RGB Camera (mvBlueFox-MLC200wG) LiDAR Sensor (Velodyne VLP-16) IMU (VN-100 Rugged) Custom Sensor Mount The perception \u00a0subsystem collects imaging and positional data and forwards it to the relevant subsystems on and off board Arcus. Calibration was a very crucial part of assembling this subsystem, where we needed to get camera intrinsics and extrinsics calibrated for &hellip; <a href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/perception\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Perception<\/span><\/a><\/p>\n","protected":false},"author":62,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-188","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/pages\/188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/users\/62"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/comments?post=188"}],"version-history":[{"count":14,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/pages\/188\/revisions"}],"predecessor-version":[{"id":443,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/pages\/188\/revisions\/443"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamb\/wp-json\/wp\/v2\/media?parent=188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}