{"id":634,"date":"2017-02-24T20:17:34","date_gmt":"2017-02-25T00:17:34","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/?page_id=634"},"modified":"2017-05-11T15:02:49","modified_gmt":"2017-05-11T19:02:49","slug":"robot-arm-simulation","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/robot-arm-simulation\/","title":{"rendered":"Robot Arm Simulation"},"content":{"rendered":"<p>We use the RobotStudio\u00ae to simulation the movement of the robot.<\/p>\n<p>The simulation can divide in three part<br \/>\n1. Environment model generation 2. robot movement control 3. trigger signal generation.<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=ZMTiOUySDgM\">https:\/\/www.youtube.com\/watch?v=ZMTiOUySDgM<\/a><\/p>\n<ol>\n<li>Environment model<\/li>\n<\/ol>\n<p>In the environment modeling, we use Solidworks to generate the basic model which has basic environment\u00a0setting including the Dome, floor, and light because that are the things that were fixed in the dome and stayed inside the dome when calibration was conducting.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-673\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton.jpg\" alt=\"\" width=\"642\" height=\"368\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton.jpg 811w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton-300x172.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton-768x440.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton-700x401.jpg 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton-520x298.jpg 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton-360x206.jpg 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton-250x143.jpg 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/environment-simulaiton-100x57.jpg 100w\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" \/><\/p>\n<p>We used the robot work range and the environment dimension to decide the safe work space.(safe distance = 30cm)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-674\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom.png\" alt=\"\" width=\"535\" height=\"373\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom.png 1445w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-300x209.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-768x536.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-1024x714.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-700x488.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-520x363.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-360x251.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-250x174.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/safezoom-100x70.png 100w\" sizes=\"auto, (max-width: 535px) 100vw, 535px\" \/><\/p>\n<p>2.robot movement control<\/p>\n<p>There were three types of movement in the RobotStudio, which were moveL,moveC, moveJ. \u00a0We used the moveJ mode to control the robot arm, which would adjust the robot&#8217;s joint configuration to reach the target position and orientation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-675\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype.png\" alt=\"\" width=\"1708\" height=\"821\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype.png 1708w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-300x144.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-768x369.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-1024x492.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-700x336.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-520x250.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-360x173.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-250x120.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/movetype-100x48.png 100w\" sizes=\"auto, (max-width: 1708px) 100vw, 1708px\" \/>\u00a03. Trigger signal<\/p>\n<p>We used the ABB robot controller&#8217;s output signal generator to generate the signal.<\/p>\n<p>In the basic process, we will move the robot to the target position, and then stop and generate the pulse signal and after the signal has been generated, the robot would start moving.<\/p>\n<p>To do this stop-and-go is because we want to reduce the motion blur when capturing the images which would influence the accuracy of camera calibration.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-676\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger.png\" alt=\"\" width=\"1355\" height=\"536\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger.png 1355w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-300x119.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-768x304.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-1024x405.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-700x277.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-520x206.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-360x142.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-250x99.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-content\/uploads\/sites\/18\/2017\/02\/Trigger-100x40.png 100w\" sizes=\"auto, (max-width: 1355px) 100vw, 1355px\" \/><\/p>\n<p>Collision check<\/p>\n<p><span style=\"font-weight: 400\">The programming work space was basing on the assumption that the dome was a sphere, but the floor and some extra part like a camera were not been considered in that assumption. Therefore the collision checking still needed to apply. It allowed us to add the extra parts in the environment and didn\u2019t have to change the original path design flow if there is no collision. The threshold of the near object and it would indicate the close part by changing the color to yellow. If the collision was detected, the color in both connected parts would change to red to warn the users. In our final implementation, we allowed some robot motion to get closer than the threshold but didn\u2019t hit to make the robot path more smooth.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=wzUXOhvVvsQ&#038;feature=youtu.be\">https:\/\/www.youtube.com\/watch?v=wzUXOhvVvsQ&amp;feature=youtu.be<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We use the RobotStudio\u00ae to simulation the movement of the robot. The simulation can divide in three part 1. Environment model generation 2. robot movement control 3. trigger signal generation. Environment model In the environment modeling, we use Solidworks to [&hellip;]<\/p>\n","protected":false},"author":78,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-634","page","type-page","status-publish","hentry","clearfix"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages\/634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/comments?post=634"}],"version-history":[{"count":8,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages\/634\/revisions"}],"predecessor-version":[{"id":799,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/pages\/634\/revisions\/799"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teamg\/wp-json\/wp\/v2\/media?parent=634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}