{"id":260,"date":"2024-04-07T01:55:51","date_gmt":"2024-04-07T01:55:51","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/?p=260"},"modified":"2024-04-07T02:11:08","modified_gmt":"2024-04-07T02:11:08","slug":"yufeis-status-report-for-04-06-2024","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/2024\/04\/07\/yufeis-status-report-for-04-06-2024\/","title":{"rendered":"Yufei\u2019s Status Report for 04\/06\/2024"},"content":{"rendered":"<h1>What I did the week before<\/h1>\n<p>My last week was spent on getting started on developing the mapping software.<\/p>\n<h1>What I did this week<\/h1>\n<p>I finished implementing the mapping from 3d point cloud to 3d voxels. Here&#8217;s an example:<\/p>\n<h1><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-265 aligncenter\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-content\/uploads\/sites\/289\/2024\/04\/Screenshot-from-2024-04-02-19-06-59-300x169.png\" alt=\"\" width=\"523\" height=\"295\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-content\/uploads\/sites\/289\/2024\/04\/Screenshot-from-2024-04-02-19-06-59-300x169.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-content\/uploads\/sites\/289\/2024\/04\/Screenshot-from-2024-04-02-19-06-59-768x432.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-content\/uploads\/sites\/289\/2024\/04\/Screenshot-from-2024-04-02-19-06-59-1024x576.png 1024w\" sizes=\"(max-width: 523px) 100vw, 523px\" \/><\/h1>\n<p>The mapping software is able to map a 2m x 2m x 2m scene to a voxel grid precisely (+\/- 1cm).<\/p>\n<p>The mapping module is named <code>kinect2_map<\/code>\u00a0and will be made publicly available as an open-source ROS 2 node.<\/p>\n<p>I then looked into calibrating the camera. So far everything is manual, especially the part that transforms the mapped grid into the RRT* world coordinates. So we need to come up with a solution that can do that semi-automatically (since we aim to support various scenes, not just a static one, it will require a human operator to guide the mapping module).<\/p>\n<h1>What I plan to be doing next week<\/h1>\n<p>I&#8217;ve already started implementing calibration. I expect to get a prototype of it done within the next week. Then the perception module is complete and I could help with porting software RRT to FPGA and optimizations.<\/p>\n<h1>Testing and Verification<\/h1>\n<p>I have been testing the perception module when developing it and plan to keep on doing it as I add more features to it. The verification is done by measuring the dimensions of the real-world objects and comparing that to the voxelized mapping. Currently, each voxel has a dimension of 1cm x 1cm x 1cm so it is relatively easy to manually verify by using a tape measure and comparing the measured dimensions of the real-world object and the mapped object. The same applies to verification of mapping calibration.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What I did the week before My last week was spent on getting started on developing the mapping software. What I did this week I finished implementing the mapping from 3d point cloud to 3d voxels. Here&#8217;s an example: The mapping software is able to map a 2m x 2m x 2m scene to a &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/2024\/04\/07\/yufeis-status-report-for-04-06-2024\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Yufei\u2019s Status Report for 04\/06\/2024&#8221;<\/span><\/a><\/p>\n","protected":false},"author":854,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/posts\/260"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/users\/854"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/comments?post=260"}],"version-history":[{"count":4,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/posts\/260\/revisions"}],"predecessor-version":[{"id":267,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/posts\/260\/revisions\/267"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/media?parent=260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/categories?post=260"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/tags?post=260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}