{"id":10070,"date":"2023-07-17T08:12:28","date_gmt":"2023-07-17T12:12:28","guid":{"rendered":"https:\/\/blogs.mathworks.com\/student-lounge\/?p=10070"},"modified":"2023-07-17T08:12:28","modified_gmt":"2023-07-17T12:12:28","slug":"dive-into-the-water-design-a-px4-based-underwater-robot-with-matlab","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/student-lounge\/2023\/07\/17\/dive-into-the-water-design-a-px4-based-underwater-robot-with-matlab\/","title":{"rendered":"Dive into the Water: Design a PX4 based Underwater Robot with MATLAB"},"content":{"rendered":"<div class=\"rtcContent\">\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">In today\u2019s post, Liping from the Student programs team will share how a student team used MATLAB and the PX4 platform to design an underwater robot and won the China Graduate Electronic Design Contest (GEDC) in 2022. Over to you, Liping&#8230;<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">As a judge of the MathWorks awards in GEDC, one of the most famous competitions for graduate students in China, I was happy to see a lot of innovative work from students every year.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Last year, among more than 900 entries, I was very impressed by the work of a team from Southwest Petroleum University, where three graduate students Yujie Huang, Lixiao Liu, and Youwen Zhang used MATLAB to design and develop an underwater robot, and won the 1st prize of the MathWorks Awards in GEDC 2022. Let us see how their robot works.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 533px; height: 300px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_1.gif\" alt=\"underwaterRobot.gif\" width=\"533\" height=\"300\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">What a fantastic underwater robot, right? It has a new type of vectorial propulsion system composed of three spherical magnetic coupling vector thrusters. The team used MATLAB for algorithm simulation and development. Let us see the details of their work!<\/div>\n<h2 id=\"H_9FB58BCA\" style=\"margin: 20px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">Algorithm design<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Traditional underwater robots usually use multiple fixed thrusters to achieve multi-Degree-of-Freedom (DOF) propulsion. Compared with fixed thrusters, vector thrusters have the advantages of more degrees of freedom, less parasitic thrust, and higher efficiency.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">However, with multiple vector thrusters, how to set up the thrusters\u2019 layout and allocate the desired thrust among the thrusters should be well designed.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">To find a proper configuration of the thrusters\u2019 layout so that the maximum 6-DoF decoupled generalized thrust can be achieved, the team designed a genetic-based algorithm to optimize the installation positions and the angles of the three vector thrusters as follows.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 415px; height: 246px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_2.png\" alt=\"Fig1_thrusterLayoutAlgorithm.png\" width=\"415\" height=\"246\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Architecture of the Thrusters\u2019 Layout Configuration Algorithm<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">With the optimal thrusters\u2019 layout, the next problem is how to allocate the desired 6-DOF generalized thrust to the three reconfigurable thrusters.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The team formalized the problem into a convex optimization problem where the objective is to minimize the sum of the error and the energy consumption considering the optimal thrusters\u2019 layout and the angle and the thrust limits of the magnetically coupled thrusters. They used the traditional Lagrange method to solve the problem and find the optimal control allocation in real-time.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 419px; height: 329px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_3.png\" alt=\"Fig2_thrustAllocation.png\" width=\"419\" height=\"329\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Convex Optimization for Control allocation<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">For motion control, the team used the backstepping method on the horizontal plane to stabilize the tracking error based on the Lyapunov function, and the PID algorithm to control the depth on the vertical plane. Moreover, they used the RBF network to compensate for the saturation output of the vector thrusters.<\/div>\n<h2 id=\"H_638DD773\" style=\"margin: 20px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">Simulation<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The team implemented the algorithms in MATLAB and built Simulink models for simulations, so the team can tune, test, and verify the designed algorithms without doing experiments on a prototype, thus saving time and cost. The Simulink model they built consists of three main modules: controller, control allocation, and robot dynamics.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 443px; height: 131px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_4.png\" alt=\"Fig3_SimulinkModelRobot.png\" width=\"443\" height=\"131\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Simulink model of the Underwater Robot<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Each module was built with models provided by the Simulink Library and a few handwritten MATLAB functions. For instance, the following figure shows their robot dynamic model in Simulink.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 416px; height: 176px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_5.png\" alt=\"Fig4_RobotDynamics.png\" width=\"416\" height=\"176\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Robot Dynamics in Simulink<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The following figure shows the result from the Trajectory Tracking simulation, where you can see the Backstepping Control Algorithm works very well.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 239px; height: 191px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_6.png\" alt=\"Fig5_trajectoryTrackingSim.png\" width=\"239\" height=\"191\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Result of Trajectory Tracking Simulation<\/div>\n<h2 id=\"H_F7699EAE\" style=\"margin: 20px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">Development<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Then the team developed the underwater robot with a modular and bus-based design, where they used the Holybro Pixhawk 4, an open-source hardware based on the Pixhawk FMUv5 project as the communication and control computing platform.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 381px; height: 316px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_7.png\" alt=\"Fig6_robotDesign.png\" width=\"381\" height=\"316\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Modular and Bus-based design of the Underwater Robot<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">PX4 is an open-source platform that is widely used for developing autonomous systems, especially drones. It was initially developed by Lorenz Meier in 2011 and has grown into a large open-source community now.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">The team used the MATLAB coder to automatically generate the control allocation algorithm into C code and then deployed the code to the PX4 controller with slight changes. Code generation using the MATLAB coder saved their developing time and effort.<\/div>\n<h2 id=\"H_17210C7D\" style=\"margin: 20px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;\">Experiment<\/h2>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Finally, the team did some experiments to test the performance of the prototype. The following figure shows the result of an experiment when the underwater robot was set to autonomously track a trajectory in a pool.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 586px; height: 279px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_8.png\" alt=\"Fig7_trajectoryTrackingEx.png\" width=\"586\" height=\"279\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Result from a Trajectory Tracking Experiment<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Due to their innovative design and productive results, the team won not only the 1st prize of the MathWorks Awards but also the overall 2nd prize in GEDC 2022! Congratulations to the team members, and also their tutor Associate Professor Yu Wang from <a><span style=\"text-decoration: underline;\">Southwest Petroleum University<\/span><\/a> in China!<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">To help the team promote their excellent work, we invited them to present the underwater robot in CN MATLAB EXPO 2023 EDU Demo Booth, which was held in Beijing on June 8th, 2023. During the event, they received a lot of interest and praise from the participants from the academy and the industry.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\"><img decoding=\"async\" loading=\"lazy\" class=\"imageNode\" style=\"vertical-align: baseline; width: 484px; height: 322px;\" src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/23July17_9.png\" alt=\"Fig8_teamInEXPO.png\" width=\"484\" height=\"322\" \/><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: center;\">Team Presented the Robot in CN MATLAB EXPO<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\"><\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">For future work, the team could learn more about the <a href=\"https:\/\/ww2.mathworks.cn\/matlabcentral\/fileexchange\/70016-uav-toolbox-support-package-for-px4-autopilots\">UAV Toolbox Support Package for PX4\u00ae Autopilots<\/a>. With the support package, they can directly access autopilot peripherals from MATLAB and Simulink. With the support package and the Embedded Coder, they can automatically generate C\/C++ code and use the PX4 toolchain to build and deploy algorithms tailored specifically for not only Pixhawk but also Pixracer Flight Management Units (FMUs). This will help them adopt <a href=\"https:\/\/ww2.mathworks.cn\/solutions\/model-based-design.html\">Model-Based Design<\/a>, an advanced development workflow that is widely used in the industry, to achieve a more efficient design and deployment in the future.<\/div>\n<div style=\"margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: #212121; font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left;\">Finally, wish the students\u2019 experience, knowledge, and MATLAB skills would help them have a brilliant future! Look forward to more outstanding entries in GEDC 2023!<\/div>\n<\/div>\n<p><script type=\"text\/javascript\">var css = ''; var head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text\/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/student-lounge\/files\/2023\/07\/Picture1.png\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div>\n<p>In today\u2019s post, Liping from the Student programs team will share how a student team used MATLAB and the PX4 platform to design an underwater robot and won the China Graduate Electronic Design&#8230; <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/student-lounge\/2023\/07\/17\/dive-into-the-water-design-a-px4-based-underwater-robot-with-matlab\/\">read more >><\/a><\/p>\n","protected":false},"author":183,"featured_media":10076,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[145,6,14],"tags":[151,659],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts\/10070"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/users\/183"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/comments?post=10070"}],"version-history":[{"count":1,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts\/10070\/revisions"}],"predecessor-version":[{"id":10073,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/posts\/10070\/revisions\/10073"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/media\/10076"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/media?parent=10070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/categories?post=10070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/student-lounge\/wp-json\/wp\/v2\/tags?post=10070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}