{"id":98,"date":"2024-02-18T02:32:35","date_gmt":"2024-02-18T02:32:35","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/?page_id=98"},"modified":"2024-02-18T02:32:43","modified_gmt":"2024-02-18T02:32:43","slug":"chris-status-report-for-02-17-2024","status":"publish","type":"page","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/weekly-status-reports\/chris-status-reports\/chris-status-report-for-02-17-2024\/","title":{"rendered":"Chris&#8217; Status Report for 02\/17\/2024"},"content":{"rendered":"<h1>What I did last week<\/h1>\n<p>Repository set up.\u00a0 Initialized simulator in python and RRT in C.\u00a0 Learned and used ctypes to facilitate calls to the RRT implementation.<\/p>\n<p>Researched motion planning algorithms.<\/p>\n<h1>What I did this week<\/h1>\n<p>I began the week by working on the octree design and implementation.\u00a0 This implementation is almost done therefore I have begun to transition to the baseline RRT implementation.<\/p>\n<p>My teammates and I created an outline of the interface between the perception module (real &amp; simulated) and the motion planning module. Now that we have this, I have continued work on the perception simulator and on the initialization of our motion planning module&#8217;s data structures.\u00a0 I did research on efficient ways of compressing the motion planning data structures for transmission to and for use by the FPGA.\u00a0 Key ideas involve one time initialization of the state space and only transmitting deltas in the collision data.\u00a0 The goal is to create an efficient representation of the state space, allow for massive parallelism during search, and efficient reconstruction of paths.\u00a0 This design decision will heavily impact our micro-architecture and work is still ongoing.<\/p>\n<p>One major step that was still unclear going into this week was how we would have our robot actually follow the paths we generated.\u00a0 RRT generates a path between two points in the state space.\u00a0 This path is a list of edges and will likely need to be smoothed before the robotic arm can follow it.\u00a0 Not only this but RRT does not account for the sweep of the arm in the state space.\u00a0 We also must generate the correct controls for the robotic arm to follow the path.\u00a0 In order to handle this, I spent this week researching these problems and found an open source library to do inverse-kinematics.\u00a0 This along with the texts I have compiled will allow us to address the aforementioned issues.<\/p>\n<p>I also helped created the design presentation slides.<\/p>\n<h1>What I plan to do next week<\/h1>\n<p>Continue work on the baseline RRT implementation<\/p>\n<p>Continue work on the perception module simulator.<\/p>\n<p>Begin work on path pruning, smoothing, and optimization<\/p>\n<p>Begin work with inverse-kinematics library to check path feasibility and generate robotic arm control signals.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What I did last week Repository set up.\u00a0 Initialized simulator in python and RRT in C.\u00a0 Learned and used ctypes to facilitate calls to the RRT implementation. Researched motion planning algorithms. What I did this week I began the week by working on the octree design and implementation.\u00a0 This implementation is almost done therefore I &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/weekly-status-reports\/chris-status-reports\/chris-status-report-for-02-17-2024\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Chris&#8217; Status Report for 02\/17\/2024&#8221;<\/span><\/a><\/p>\n","protected":false},"author":922,"featured_media":0,"parent":52,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/pages\/98"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/users\/922"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/pages\/98\/revisions"}],"predecessor-version":[{"id":99,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/pages\/98\/revisions\/99"}],"up":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/pages\/52"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/media?parent=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}