{"id":294,"date":"2024-04-21T03:05:14","date_gmt":"2024-04-21T03:05:14","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/?p=294"},"modified":"2024-04-21T03:56:29","modified_gmt":"2024-04-21T03:56:29","slug":"chris-status-report-for-04-20-2024","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/2024\/04\/21\/chris-status-report-for-04-20-2024\/","title":{"rendered":"Chris&#8217; Status Report for 04\/20\/2024"},"content":{"rendered":"<h1>What I did last week<\/h1>\n<p>Worked on kinematics and set up testing environment.<\/p>\n<h1>What I did this week<\/h1>\n<p>My work this week was centered around finishing the kinematics module and installing Linux on an old laptop I have.<\/p>\n<p>Due to some roadblocks, we have had to switch which FPGA we are using in our system.\u00a0 Originally we were using the AMD Kria which has the ability to run ROS and has reasonably powerful embedded scalar cores.\u00a0 We have transitioned to using the AMD Ultra96v2 which does not have as powerful scalar cores and does not have the same ROS functionality.\u00a0 Therefore in order to make the transition we need additional scalar cores and have chosen to use a laptop for this purpose.<\/p>\n<p>The laptop we are using is an x86 Mac which we needed to install Linux on in order to run ROS.\u00a0 We had previously attempted to use a KVM but the hypervisor calls add too much overhead when we are handling perception data.\u00a0 Installing Linux on Macs can be non-trivial as Apple includes a T2 security chip which will prevent naive attempts at installing another OS.\u00a0 Luckily there exists open source Linux distros that have been tweaked to circumvent this.\u00a0 After some debug related to the WIFI and Bluetooth drivers, I was able to install Linux and the packages we need for our system onto the laptop.\u00a0 This laptop will be the center of our system integration in the following week.<\/p>\n<p>This week I also continued work on kinematics.\u00a0 This involved a partial rewrite of the forward kinematics module in order to use a more robust version of rotation and translation matrices.\u00a0 The inverse kinematics problem is solved analytically by computing angles for 2 link systems and then computing the difference in angles to find the angle of the third link.\u00a0 This module will be calibrated beginning tomorrow.<\/p>\n<h1>What I plan to do next week<\/h1>\n<p>System integration, calibration, and debug.<\/p>\n<h1>Learning Reflection<\/h1>\n<p>Before this project I knew some basic principles of robotics but not to the level of depth that I do now.\u00a0 In order to learn about this I have read many academic papers on robotics in general as well as in more specific areas like motion planning and kinematics.\u00a0 In order to implement RRT and A* I was able to use my learning from the research papers as well as pseudocode that is publicly available on Wikipedia.<\/p>\n<p>I have also found Wikipedia to be an extremely helpful tool for reviewing the mathematical and geometric equations that are used in kinematics.\u00a0 Luckily I am currently taking a course on Discrete Differential Geometry so my general knowledge is up to date.\u00a0 Textbooks and literature from this course have proved to be invaluable general knowledge and significantly reduced the learning curve.<\/p>\n<p>Kinematics is the area in which I have learned the most.\u00a0 This was necessary as I have implemented a custom forward kinematics solver, analytic inverse kinematics solver, and a graphical simulation environment.\u00a0 In order to do so I <a href=\"https:\/\/manipulation.csail.mit.edu\/index.html\">watched a series of lectures at MIT as well as reviewed the available course notes.<\/a>\u00a0 I also found the <a href=\"https:\/\/www.cs.cmu.edu\/~16311\/current\/schedule\/scheduleindex.html\">lecture notes from a robotics class at CMU<\/a> and this <a href=\"https:\/\/motion.cs.illinois.edu\/RoboticSystems\/\">robotics textbook<\/a> helpful.<\/p>\n<p>Finally I was able to review the lecture notes and other resources from <a href=\"https:\/\/users.ece.cmu.edu\/~jhoe\/doku\/doku.php?id=18-643_reconfigurable_logic\">18-643<\/a> in order to get up to speed on FPGAs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What I did last week Worked on kinematics and set up testing environment. What I did this week My work this week was centered around finishing the kinematics module and installing Linux on an old laptop I have. Due to some roadblocks, we have had to switch which FPGA we are using in our system.\u00a0 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/2024\/04\/21\/chris-status-report-for-04-20-2024\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Chris&#8217; Status Report for 04\/20\/2024&#8221;<\/span><\/a><\/p>\n","protected":false},"author":922,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/posts\/294"}],"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\/922"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/comments?post=294"}],"version-history":[{"count":7,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/posts\/294\/revisions"}],"predecessor-version":[{"id":302,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/posts\/294\/revisions\/302"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/media?parent=294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/categories?post=294"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s24-teamc5\/wp-json\/wp\/v2\/tags?post=294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}