{"id":4498,"date":"2013-04-12T09:00:41","date_gmt":"2013-04-12T13:00:41","guid":{"rendered":"https:\/\/blogs.mathworks.com\/pick\/?p=4498"},"modified":"2018-01-18T09:10:34","modified_gmt":"2018-01-18T14:10:34","slug":"simulate-robots-with-sim-i-am","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/pick\/2013\/04\/12\/simulate-robots-with-sim-i-am\/","title":{"rendered":"Simulate Robots with Sim.I.am"},"content":{"rendered":"<div class=\"content\"><p><a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/15007\">Jiro<\/a>'s pick this week is <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/40860-sim-i-am\">Sim.I.am<\/a> by <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/331930\">Jean-Pierre de la Croix<\/a>.<\/p><p>This week, I had a trip to University of Cincinnati with my colleague (and fellow blogger) Sean de Wolski. There, I did a session titled \"Enabling Project-Based Learning with MATLAB, Simulink, and Hardware\". <a href=\"http:\/\/en.wikipedia.org\/wiki\/Project-based_learning\">Project-based learning<\/a> is a \"collaborative education style facilitated by teachers, aimed at increasing students' retention of content in a way that is directly engaging, through projects applicable to life outside of the classroom.\" There are various tools that would serve the purpose of engaging students, and MATLAB and Simulink are certainly among them.<\/p><p>With MATLAB and Simulink, you can have software-based projects (simulations) and hardware-based projects. I wrote about some of the <a href=\"https:\/\/blogs.mathworks.com\/pick\/2013\/03\/15\/additional-hardware-support-in-r2013a\/\">hardware support<\/a> that is included with Simulink, and this allows you to easily take what you have in simulation onto low cost hardware. However, when you are trying to implement a project-based learning approach for a class of hundreds of students, purchasing hardware devices for every student becomes impractical. In that case, simulation becomes even more important.<\/p><p>Jean-Pierre is a Ph.D. student in <a title=\"http:\/\/gritslab.gatech.edu\/home\/ (link no longer works)\">GRITSLab<\/a> at <a href=\"http:\/\/www.gatech.edu\/\">Georgia Tech<\/a> (my alma mater!). Sim.I.am is a simulator that can be used to learn and apply control theory for mobile robots. The robot used in the simulator is based on the <a href=\"http:\/\/www.k-team.com\/mobile-robotics-products\/khepera-iii\">Khepera III (K3)<\/a> mobile robot. This File Exchange submission comes with a detailed manual for the simulator, although the App is user-friendly and self-explanatory. What I like even more is the collection of programming exercises included with the package. It's ready to be used in a robotics course right away!<\/p><p>In this animation, you can see a target-seeking algorithm in action. The green dot indicates the target that the robot seeks.<\/p><p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/pick\/jiro\/potw_simiam\/simiam_simulator_animation.gif\" alt=\"\"> <\/p><p>At my session at University of Cincinnati, I also talked about a similar MATLAB-based Simulator for the iRobot&reg; Create&reg;. This simulator works alongside the <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/32698-matlab-toolbox-for-the-irobot-create-v2-0\">MATLAB-iRobot Create interface<\/a>, and this allows students to test their control algorithms they developed in simulation on the actual robot.<\/p><p>You can find other project-based learning materials created by people from around the world in the <a href=\"https:\/\/www.mathworks.com\/academia\/courseware.html\">MATLAB Courseware<\/a> page. Check out the <a https:\/\/www.mathworks.com\/academia.htmlhardware\/\">Hardware for Project-Based Learning<\/a> page to see what kind of hardware platforms interface with MATLAB and Simulink.<\/p><p><b>Comments<\/b><\/p><p>Are you involved with project-based learning? Let us know about it <a href=\"https:\/\/blogs.mathworks.com\/pick\/?p=4498#respond\">here<\/a> and leave a <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/40860-sim-i-am#comments\">comment<\/a> for Jean-Pierre.<\/p><script language=\"JavaScript\"> <!-- \r\n    function grabCode_b14eeac56d6144d1a4015d90465cd909() {\r\n        \/\/ Remember the title so we can use it in the new page\r\n        title = document.title;\r\n\r\n        \/\/ Break up these strings so that their presence\r\n        \/\/ in the Javascript doesn't mess up the search for\r\n        \/\/ the MATLAB code.\r\n        t1='b14eeac56d6144d1a4015d90465cd909 ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' b14eeac56d6144d1a4015d90465cd909';\r\n    \r\n        b=document.getElementsByTagName('body')[0];\r\n        i1=b.innerHTML.indexOf(t1)+t1.length;\r\n        i2=b.innerHTML.indexOf(t2);\r\n \r\n        code_string = b.innerHTML.substring(i1, i2);\r\n        code_string = code_string.replace(\/REPLACE_WITH_DASH_DASH\/g,'--');\r\n\r\n        \/\/ Use \/x3C\/g instead of the less-than character to avoid errors \r\n        \/\/ in the XML parser.\r\n        \/\/ Use '\\x26#60;' instead of '<' so that the XML parser\r\n        \/\/ doesn't go ahead and substitute the less-than character. \r\n        code_string = code_string.replace(\/\\x3C\/g, '\\x26#60;');\r\n\r\n        copyright = 'Copyright 2013 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('<pre>\\n');\r\n        d.write(code_string);\r\n\r\n        \/\/ Add copyright line at the bottom if specified.\r\n        if (copyright.length > 0) {\r\n            d.writeln('');\r\n            d.writeln('%%');\r\n            if (copyright.length > 0) {\r\n                d.writeln('% _' + copyright + '_');\r\n            }\r\n        }\r\n\r\n        d.write('<\/pre>\\n');\r\n\r\n        d.title = title + ' (MATLAB code)';\r\n        d.close();\r\n    }   \r\n     --> <\/script><p style=\"text-align: right; font-size: xx-small; font-weight:lighter;   font-style: italic; color: gray\"><br><a href=\"javascript:grabCode_b14eeac56d6144d1a4015d90465cd909()\"><span style=\"font-size: x-small;        font-style: italic;\">Get \r\n      the MATLAB code <noscript>(requires JavaScript)<\/noscript><\/span><\/a><br><br>\r\n      Published with MATLAB&reg; R2013a<br><\/p><p class=\"footer\"><br>\r\n      Published with MATLAB&reg; R2013a<br><\/p><\/div><!--\r\nb14eeac56d6144d1a4015d90465cd909 ##### SOURCE BEGIN #####\r\n%%\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/15007\r\n% Jiro>'s pick this week is\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/40860-sim-i-am Sim.I.am> by\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/331930\r\n% Jean-Pierre de la Croix>.\r\n%\r\n% This week, I had a trip to University of Cincinnati with my colleague\r\n% (and fellow blogger) Sean de Wolski. There, I did a session titled\r\n% \"Enabling Project-Based Learning with MATLAB, Simulink, and Hardware\".\r\n% <http:\/\/en.wikipedia.org\/wiki\/Project-based_learning Project-based\r\n% learning> is a \"collaborative education style facilitated by teachers,\r\n% aimed at increasing students' retention of content in a way that is\r\n% directly engaging, through projects applicable to life outside of the\r\n% classroom.\" There are various tools that would serve the purpose of\r\n% engaging students, and MATLAB and Simulink are certainly among them.\r\n%\r\n% With MATLAB and Simulink, you can have software-based projects\r\n% (simulations) and hardware-based projects. I wrote about some of the\r\n% <https:\/\/blogs.mathworks.com\/pick\/2013\/03\/15\/additional-hardware-support-in-r2013a\/\r\n% hardware support> that is included with Simulink, and this allows you to\r\n% easily take what you have in simulation onto low cost hardware. However,\r\n% when you are trying to implement a project-based learning approach for a\r\n% class of hundreds of students, purchasing hardware devices for every\r\n% student becomes impractical. In that case, simulation becomes even more\r\n% important.\r\n%\r\n% Jean-Pierre is a Ph.D. student in <http:\/\/gritslab.gatech.edu\/home\/\r\n% GRITSLab> at <http:\/\/www.gatech.edu\/ Georgia Tech> (my alma mater!).\r\n% Sim.I.am is a simulator that can be used to learn and apply control\r\n% theory for mobile robots. The robot used in the simulator is based on the\r\n% <http:\/\/www.k-team.com\/mobile-robotics-products\/khepera-iii Khepera III\r\n% (K3)> mobile robot. This File Exchange submission comes with a detailed\r\n% manual for the simulator, although the App is user-friendly and\r\n% self-explanatory. What I like even more is the collection of programming\r\n% exercises included with the package. It's ready to be used in a robotics\r\n% course right away!\r\n%\r\n% In this animation, you can see a target-seeking algorithm in action. The\r\n% green dot indicates the target that the robot seeks.\r\n%\r\n% <<simiam_simulator_animation.gif>>\r\n%\r\n% At my session at University of Cincinnati, I also talked about a similar\r\n% <http:\/\/verifiablerobotics.com\/CreateMATLABsimulator\/createsimulator.html\r\n% MATLAB-based Simulator> for the\r\n% <http:\/\/store.irobot.com\/shop\/index.jsp?categoryId=3311368 iRobot\u00c2\u00ae\r\n% Create\u00c2\u00ae>. This simulator works alongside the\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/32698-matlab-toolbox-for-the-irobot-create-v2-0 MATLAB-iRobot\r\n% Create interface>, and this allows students to test their control\r\n% algorithms they developed in simulation on the actual robot.\r\n%\r\n% You can find other project-based learning materials created by people\r\n% from around the world in the\r\n% <https:\/\/www.mathworks.com\/academia.htmlclassroom-resources\/ Classroom\r\n% Resources> page. Check out the\r\n% <https:\/\/www.mathworks.com\/academia.htmlhardware-resources\/ Hardware for\r\n% Project-Based Learning> page to see what kind of hardware platforms\r\n% interface with MATLAB and Simulink.\r\n% \r\n% *Comments*\r\n%\r\n% Are you involved with project-based learning? Let us know about it\r\n% <https:\/\/blogs.mathworks.com\/pick\/?p=4498#respond here> and leave a\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/40860-sim-i-am#comments\r\n% comment> for Jean-Pierre.\r\n\r\n##### SOURCE END ##### b14eeac56d6144d1a4015d90465cd909\r\n-->","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img decoding=\"async\"  class=\"img-responsive\" src=\"https:\/\/blogs.mathworks.com\/images\/pick\/jiro\/potw_simiam\/simiam_simulator_animation.gif\" onError=\"this.style.display ='none';\" \/><\/div><p>Jiro's pick this week is Sim.I.am by Jean-Pierre de la Croix.This week, I had a trip to University of Cincinnati with my colleague (and fellow blogger) Sean de Wolski. There, I did a session titled... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/pick\/2013\/04\/12\/simulate-robots-with-sim-i-am\/\">read more >><\/a><\/p>","protected":false},"author":35,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/4498"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/comments?post=4498"}],"version-history":[{"count":14,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/4498\/revisions"}],"predecessor-version":[{"id":9380,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/4498\/revisions\/9380"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/media?parent=4498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/categories?post=4498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/tags?post=4498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}