{"id":369,"date":"2022-03-18T03:48:50","date_gmt":"2022-03-18T03:48:50","guid":{"rendered":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/?page_id=369"},"modified":"2022-05-07T04:22:40","modified_gmt":"2022-05-07T04:22:40","slug":"ice-resurfacer-model","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/implementation\/ice-resurfacer-model\/","title":{"rendered":"Zamboni Simulation Setup\u00a0"},"content":{"rendered":"\n<div class=\"wp-block-image is-style-default\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"412\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-content\/uploads\/sites\/62\/2022\/04\/image-1-900x412.png\" alt=\"\" class=\"wp-image-512\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-content\/uploads\/sites\/62\/2022\/04\/image-1-900x412.png 900w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-content\/uploads\/sites\/62\/2022\/04\/image-1-300x137.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-content\/uploads\/sites\/62\/2022\/04\/image-1-768x352.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-content\/uploads\/sites\/62\/2022\/04\/image-1-1536x703.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-content\/uploads\/sites\/62\/2022\/04\/image-1.png 1896w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><figcaption>Figure 1. Zamboni Ice Resurfacer Setup in Simulation<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-left\">The URDF file for the Zamboni vehicle was developed first, which had an Ackermann steering mechanism. To better organize the model description, XACRO was used to build the vehicle model. For better visualization, a detailed mesh file for the Zamboni was developed, which was exported from the Solidworks CAD model provided by the sponsor. However, the CAD model has over 1,000 parts describing all the details of a car. We combined all the parts into only five: the four wheels and a car body and exported them as mesh files. Due to the complexity of the original mesh file, gazebo will get stuck when loading the vehicle. Thus, we used MeshLab to simplify the faces and vectors on of the mesh file, deleting unnecessary detail while keeping the major outer appearance. Finally, Blender was to change the scale, center position, and more importantly, the color of each face.<br><\/p>\n\n\n\n<p>Since we will command the motion of the vehicle by sending steering and velocity command to gazebo, we used <em>gazebo_ros_control<\/em> Gazebo plugin. It provides a pluginlib-based interface to implement custom interfaces between Gazebo and <em>ros_control<\/em> for simulating more complex mechanisms. The<em> ros_control <\/em>packages take as input the joint state data from your robot\u2019s actuator\u2019s encoders and an input set point. It uses a generic control loop feedback mechanism, typically a PID controller, to control the output, typically effort, sent to your actuators. <em>ros_control<\/em> gets more complicated for physical mechanisms that do not have one-to-one mappings of joint positions, efforts, etc but these scenarios are accounted for using transmissions. By tuning the PID, the Zamboni vehicle finally react very fast after sending the command.<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The URDF file for the Zamboni vehicle was developed first, which had an Ackermann steering mechanism. To better organize the model description, XACRO was used to build the vehicle model. For better visualization, a detailed mesh file for the Zamboni was developed, which was exported from the Solidworks CAD model provided by the sponsor. However,<br \/><a class=\"moretag\" href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/implementation\/ice-resurfacer-model\/\">+ Read More<\/a><\/p>\n","protected":false},"author":292,"featured_media":329,"parent":361,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-369","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/pages\/369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/users\/292"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/comments?post=369"}],"version-history":[{"count":6,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/pages\/369\/revisions"}],"predecessor-version":[{"id":519,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/pages\/369\/revisions\/519"}],"up":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/pages\/361"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/media\/329"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teami\/wp-json\/wp\/v2\/media?parent=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}