{"id":1668,"date":"2023-01-19T11:23:15","date_gmt":"2023-01-19T11:23:15","guid":{"rendered":"https:\/\/code.efi.ohmportal.de\/blog\/?p=1668"},"modified":"2023-01-19T11:25:20","modified_gmt":"2023-01-19T11:25:20","slug":"robocup-2d-simulation","status":"publish","type":"post","link":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/","title":{"rendered":"RoboCup-2D-Simulation"},"content":{"rendered":"\n<p>RoboCup ist ein seit Mitte der 1990er-Jahren weltweit stattfindendes Turnier, in welchem Teams ihre selbst programmierten \u201eAgents\u201c in Form von Fu\u00dfball-Teams gegen andere Teams antreten lassen \u2013 wie echter Fu\u00dfball halt, nur virtuell!<\/p>\n\n\n\n<p>Hierbei gibt es verschiedene Disziplinen \u2013 2D, 3D und die Disziplin unter Einsatz mechatronischer Roboter auf dem \u201eechten\u201c gr\u00fcnen Feld.<\/p>\n\n\n\n<p>Die 2D- und 3D-Simulationen sind dabei komplett <a href=\"https:\/\/ssim.robocup.org\/\">virtuell<\/a>. Doch wozu das Ganze? Hiermit m\u00f6chte man auf einladende Art und Weise einen stetigen Fortschritt im Bereich der k\u00fcnstlichen Intelligenz sowie der Robotik erzielen mit dem Fu\u00dfball als Anziehungs-Katalysator!<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Fu\u00dfball-Manager f\u00fcr Roboter<\/h4>\n\n\n\n<p>In unserem Falle haben wir uns (aus Gr\u00fcnden der (relativen) Einfachheit!) der 2D-Simulation angenommen.<\/p>\n\n\n\n<p>Hierzu dienen der RoboCup-Simulation-Server und der Monitor als fundamentale Gr\u00f6\u00dfen im Projekt. Der Server ist f\u00fcr die Kommunikation zwischen zwei Clients, auf denen die einzelnen Programme der Agents ablaufen, zust\u00e4ndig. Der Monitor hingegen dient als visuelles Fenster um solch ein Match bzw. Simulation auch betrachten zu k\u00f6nnen.<\/p>\n\n\n\n<p>Der Server unterst\u00fctzt dabei eine Reihe von Befehlen f\u00fcr die einzelnen Spieler und dar\u00fcber hinaus. Die grundlegende Art dieser Befehle wird in einer Art <a href=\"https:\/\/rcsoccersim.readthedocs.io\/\">Handbuch<\/a> festgehalten, welches es in sich hat!<\/p>\n\n\n\n<p>Auf den ersten Blick scheint es trivial zu klingen, zumindest zu Beginn, doch die Realit\u00e4t zeigt, dass das Projekt schwieriger ist, als man zuerst annehmen w\u00fcrde. Angefangen von der Recherche, z. B. wie die Tools stabil laufen (vorneweg: am besten per VM unter Ubuntu!) bis hin zu den sich  anzueignenden technischen Skills.<\/p>\n\n\n\n<p>Hier kommen dabei eine Menge von Teilbereichen zur Sprache: von mathematischen Winkelberechnungen bis hin zu komplexen Transformationen, welche n\u00f6tig sind f\u00fcr bspw. die exakte Positionsbestimmung (Stichwort: Triangulation), das Erlernen einer neuen Programmiersprache (in unserem Falle war dies Python, jedoch ist die Nutzung von C++ oder auch Java ebenso m\u00f6glich) sowie dem Eintauchen in der Welt der komplexen Software-Entwicklung abseits von \u201eHello World\u201c und \u201eErstelle ein Programm zur Berechnung von 2 Werten\u201c.<\/p>\n\n\n\n<p>Eine Projektarbeit bietet die gro\u00dfe Chance einen Gro\u00dfteil der erworbenen Kenntnisse vom Studium bis dahin einzusetzen, dar\u00fcber hinaus den eigenen Horizont zu erweitern und Neues zu erlernen. So haben wir z.B. unseren Fortschritt mittels Git aufgezeichnet. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"480\" src=\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/image.png\" alt=\"Git-Repository\" class=\"wp-image-1669\" srcset=\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/image.png 945w, https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/image-300x152.png 300w, https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/image-768x390.png 768w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/a><figcaption class=\"wp-element-caption\">Hauptseite des EFI-Git Dienstes<\/figcaption><\/figure>\n\n\n\n<p>Da (bewegte) Bilder mehr als 1000 Worte sprechen, hier zum Schluss ein kleiner Ausschnitt eines Matches!<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/RobCup_BLOG.mp4\"><\/video><figcaption class=\"wp-element-caption\">Ein typisches RoboCup-2D Match<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>RoboCup ist ein seit Mitte der 1990er-Jahren weltweit stattfindendes Turnier, in welchem Teams ihre selbst programmierten \u201eAgents\u201c in Form von Fu\u00dfball-Teams gegen andere Teams antreten lassen \u2013 wie echter Fu\u00dfball halt, nur virtuell! Hierbei gibt es verschiedene Disziplinen \u2013 2D, 3D und die Disziplin unter Einsatz mechatronischer Roboter auf dem \u201eechten\u201c gr\u00fcnen Feld. Die 2D- &hellip; <a href=\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\" class=\"more-link\"><span class=\"screen-reader-text\">RoboCup-2D-Simulation<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":4,"featured_media":1678,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[23],"tags":[],"class_list":["post-1668","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projektarbeit"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RoboCup-2D-Simulation - Code Comments<\/title>\n<meta name=\"description\" content=\"Projektarbeit zur Erstellung einer Mannschaft f\u00fcr die RoboXCup 2D Simulation\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RoboCup-2D-Simulation - Code Comments\" \/>\n<meta property=\"og:description\" content=\"Projektarbeit zur Erstellung einer Mannschaft f\u00fcr die RoboXCup 2D Simulation\" \/>\n<meta property=\"og:url\" content=\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\" \/>\n<meta property=\"og:site_name\" content=\"Code Comments\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-19T11:23:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-19T11:25:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"EFI Medizintechnik Team\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"EFI Medizintechnik Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\"},\"author\":{\"name\":\"EFI Medizintechnik Team\",\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/34d1c5d6a3b138f3313c32061fee3aaa\"},\"headline\":\"RoboCup-2D-Simulation\",\"datePublished\":\"2023-01-19T11:23:15+00:00\",\"dateModified\":\"2023-01-19T11:25:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\"},\"wordCount\":392,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png\",\"articleSection\":[\"Projektarbeit\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\",\"url\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\",\"name\":\"RoboCup-2D-Simulation - Code Comments\",\"isPartOf\":{\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png\",\"datePublished\":\"2023-01-19T11:23:15+00:00\",\"dateModified\":\"2023-01-19T11:25:20+00:00\",\"author\":{\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/34d1c5d6a3b138f3313c32061fee3aaa\"},\"description\":\"Projektarbeit zur Erstellung einer Mannschaft f\u00fcr die RoboXCup 2D Simulation\",\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage\",\"url\":\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png\",\"contentUrl\":\"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png\",\"width\":1000,\"height\":360},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/#website\",\"url\":\"https:\/\/code.efi.ohmportal.de\/blog\/\",\"name\":\"Code Comments\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/code.efi.ohmportal.de\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/34d1c5d6a3b138f3313c32061fee3aaa\",\"name\":\"EFI Medizintechnik Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/43cf179b6e1ec62cd34a4a5013f5f26e8db48f7b7591cf83f69d9d2c2bc7ebcd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/43cf179b6e1ec62cd34a4a5013f5f26e8db48f7b7591cf83f69d9d2c2bc7ebcd?s=96&d=mm&r=g\",\"caption\":\"EFI Medizintechnik Team\"},\"sameAs\":[\"https:\/\/medinf.efi.th-nuernberg.de\"],\"url\":\"https:\/\/code.efi.ohmportal.de\/blog\/author\/efimed\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RoboCup-2D-Simulation - Code Comments","description":"Projektarbeit zur Erstellung einer Mannschaft f\u00fcr die RoboXCup 2D Simulation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/","og_locale":"de_DE","og_type":"article","og_title":"RoboCup-2D-Simulation - Code Comments","og_description":"Projektarbeit zur Erstellung einer Mannschaft f\u00fcr die RoboXCup 2D Simulation","og_url":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/","og_site_name":"Code Comments","article_published_time":"2023-01-19T11:23:15+00:00","article_modified_time":"2023-01-19T11:25:20+00:00","og_image":[{"width":1000,"height":360,"url":"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png","type":"image\/png"}],"author":"EFI Medizintechnik Team","twitter_misc":{"Verfasst von":"EFI Medizintechnik Team","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#article","isPartOf":{"@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/"},"author":{"name":"EFI Medizintechnik Team","@id":"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/34d1c5d6a3b138f3313c32061fee3aaa"},"headline":"RoboCup-2D-Simulation","datePublished":"2023-01-19T11:23:15+00:00","dateModified":"2023-01-19T11:25:20+00:00","mainEntityOfPage":{"@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/"},"wordCount":392,"commentCount":0,"image":{"@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage"},"thumbnailUrl":"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png","articleSection":["Projektarbeit"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/","url":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/","name":"RoboCup-2D-Simulation - Code Comments","isPartOf":{"@id":"https:\/\/code.efi.ohmportal.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage"},"image":{"@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage"},"thumbnailUrl":"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png","datePublished":"2023-01-19T11:23:15+00:00","dateModified":"2023-01-19T11:25:20+00:00","author":{"@id":"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/34d1c5d6a3b138f3313c32061fee3aaa"},"description":"Projektarbeit zur Erstellung einer Mannschaft f\u00fcr die RoboXCup 2D Simulation","inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/code.efi.ohmportal.de\/blog\/2023\/01\/robocup-2d-simulation\/#primaryimage","url":"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png","contentUrl":"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png","width":1000,"height":360},{"@type":"WebSite","@id":"https:\/\/code.efi.ohmportal.de\/blog\/#website","url":"https:\/\/code.efi.ohmportal.de\/blog\/","name":"Code Comments","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/code.efi.ohmportal.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/34d1c5d6a3b138f3313c32061fee3aaa","name":"EFI Medizintechnik Team","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/code.efi.ohmportal.de\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/43cf179b6e1ec62cd34a4a5013f5f26e8db48f7b7591cf83f69d9d2c2bc7ebcd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/43cf179b6e1ec62cd34a4a5013f5f26e8db48f7b7591cf83f69d9d2c2bc7ebcd?s=96&d=mm&r=g","caption":"EFI Medizintechnik Team"},"sameAs":["https:\/\/medinf.efi.th-nuernberg.de"],"url":"https:\/\/code.efi.ohmportal.de\/blog\/author\/efimed\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/code.efi.ohmportal.de\/blog\/wp-content\/uploads\/2023\/01\/rob.png","jetpack_shortlink":"https:\/\/wp.me\/p8QwJV-qU","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/posts\/1668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/comments?post=1668"}],"version-history":[{"count":4,"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/posts\/1668\/revisions"}],"predecessor-version":[{"id":1676,"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/posts\/1668\/revisions\/1676"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/media\/1678"}],"wp:attachment":[{"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/media?parent=1668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/categories?post=1668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code.efi.ohmportal.de\/blog\/wp-json\/wp\/v2\/tags?post=1668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}