{"id":7118,"date":"2021-01-24T21:00:10","date_gmt":"2021-01-24T20:00:10","guid":{"rendered":"https:\/\/robolyon.com\/?p=7118"},"modified":"2022-02-26T17:49:53","modified_gmt":"2022-02-26T16:49:53","slug":"programmation-has-already-started","status":"publish","type":"post","link":"https:\/\/robolyon.com\/index.php\/2021\/01\/24\/programmation-has-already-started\/","title":{"rendered":"Programmation has already started"},"content":{"rendered":"<div class=\"smart_content_wrapper\">\n<p>This year, programming is a crucial element. Indeed, out of the 5 challenges of the \u00ab\u00a0At Home Challenge\u00a0\u00bb, 3 are based solely on the movement of the robot, including 2 in total autonomy, without any human intervention.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/robolyon.com\/wp-content\/uploads\/2021\/01\/AxelR_pilotage_compressed-1024x576.jpg\" alt=\"L\u2019attribut alt de cette image est vide, son nom de fichier est AxelR_pilotage_compressed-1024x576.jpg.\"\/><\/figure>\n\n\n\n<p>This week we worked on the acceleration ramps. This consists in making the robot accelerate progressively to better control its speed.&nbsp;If we vary the speed of the robot too abruptly, the robot skates, shakes and\/or resonates; this reaction is terrible for us because if the wheels of the robot turn without the robot moving forward, it jams the tracking of the robot, it won&rsquo;t reach its destination and we won&rsquo;t validate the challenge.<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p>To avoid this while wanting to go as fast as possible, we need to program acceleration and deceleration ramps.&nbsp;<\/p>\n\n\n\n<p>To fully understand our problem, we need to know that the more energy an engine receives, the faster it goes.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Currently we don&rsquo;t know how to tell the engines that \u00ab\u00a0I give you 8 Volts, turn\u00a0\u00bb, but we should be able to tell them \u00ab\u00a0go forward at 20km\/h\u00a0\u00bb, in order to better follow and control the robot&rsquo;s progress.&nbsp;<\/p>\n\n\n\n<p>For that, from Saturday, we started speed tests with different voltages, in order to recover a maximum of data: speed, acceleration, rotation, \u2026&nbsp;<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/robolyon.com\/wp-content\/uploads\/2021\/01\/chiffres-1024x436.png\" alt=\"L\u2019attribut alt de cette image est vide, son nom de fichier est chiffres-1024x436.png.\"\/><\/figure>\n\n\n\n<p>From the data collected, we are now able to tell the robot to go at 20km\/h, and the program takes care of translating this into a precise voltage.&nbsp;<\/p>\n\n\n\n<p>We use the simplified equation :&nbsp;<\/p>\n\n\n\n<p>Applied voltage = Kv<em>Speed + Ka<\/em>Acceleration + Kc&nbsp;&nbsp;<\/p>\n\n\n\n<p>Where Kv, Ka and Kc are constants that we calculated from thousands of data collected during our speed tests.<\/p>\n\n\n\n<p>They define a plane for each motor in a \u00ab\u00a03D space\u00a0\u00bb where the coordinates of the points are [ speed, acceleration, voltage ].<\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/robolyon.com\/wp-content\/uploads\/2021\/01\/motor-profile.jpg\" alt=\"L\u2019attribut alt de cette image est vide, son nom de fichier est motor-profile.jpg.\"\/><figcaption>Visualization of the \u00ab\u00a0Plane\u00a0\u00bb characterizing one of the motors of SCRUMTROOPER [our robot].<\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\"\/>\n\n\n\n<p>Below is a link to download an HTML file containing the interactive 3D data collected during our tests.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/robolyon.com\/wp-content\/uploads\/2021\/01\/motor-profile.html\n<\/div><\/figure>\n\n\n\n<p><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>This week, we worked on acceleration ramps. This consists of gradually accelerating the robo to better control his speed. If we vary too brutally the speed of the robo, it skates, trembles and \/ or resonates; that reaction is terrible for us because if the robo&rsquo;s wheels turned, without it moving forward, that scrambles robot tracking, it he will not arrive at his destination and we will not validate the challenge.<\/p>\n","protected":false},"author":1,"featured_media":6982,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[86,96,110],"tags":[243],"class_list":["post-7118","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-seasonandrobot","category-season2021","tag-apprentissage-en"],"jetpack_featured_media_url":"https:\/\/robolyon.com\/wp-content\/uploads\/2021\/01\/AxelR_pilotage_compressed.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/posts\/7118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/comments?post=7118"}],"version-history":[{"count":4,"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/posts\/7118\/revisions"}],"predecessor-version":[{"id":7280,"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/posts\/7118\/revisions\/7280"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/media\/6982"}],"wp:attachment":[{"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/media?parent=7118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/categories?post=7118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robolyon.com\/index.php\/wp-json\/wp\/v2\/tags?post=7118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}