Giter VIP home page Giter VIP logo

robot-programming-competition-disabled's Introduction

Robot Programming Competition

webots.cloud - Competition

Description

Learn how to program a simple wheeled robot using the Python language, GitHub and the Webots simulator. The goal of this competition is simply to drive the robot to achieve a precise location.

Information

  • Difficulty: Middle School
  • Robot: Thymio2
  • Language: Python
  • Commitment: A few minutes

How to Participate

If not already done, sign in to your GitHub account or create one if you don't have any.

1. Create your own Participant Repository from this Template

Click here to create your own repository automatically or do it manually by clicking on the green button "Use this template". If you get a 404 page it's probably because you are not connected to your GitHub account.

  • Fill the "Repository name" field with a name for your controller.
  • Set the visibility of your repository to "Private" unless you don't care about people looking at your code.
  • Finally, click on the green button "Create repository from template".

You should continue reading this document on your own repository page and not the one of the competition organizer. This is important in order to be able to use the links in the following sections. Remember that you can open a link in a new tab by middle-clicking the link.

2. Add the Organizer as a Collaborator

You can skip this step if you created your repository as "Public" instead of "Private".

2. Add omichel as a Collaborator

You can skip this step if you created your repository as "Public" instead of "Private".

Otherwise, you must grant access to your repository to the competition organizer so that your code can be checked out to evaluate its performance and the organizer can post issues on your repository in case of problems with your code.

  • Click here to go to the "Collaborators" setting page. You might need to confirm the access by re-entering your GitHub password.
  • You should see a "Manage access" box where you will see the current collaborators of the repo. Click on the "Add people" and search for "omichel". When you found the organizer, add him to the repository.

3. Modify your Robot Controller

You can now edit your participant.json file to set your name, description and country information and also modify your main robot controller file or create new files in this folder and push the modification to the main branch of your repository. A series of automated actions will take place in a few seconds. If everything went well, your repository should appear after some time in the leaderboard of the competition. If there was a problem, an issue will be open automatically on your repository by the organizer. You will have to read it, fix what is wrong and push the changes to your main branch to re-run the automated verification.

Going Further

Repository Structure

You repository contains many folders and files. However, you should make modifications only in your robot controller directory, as only this directory is taken into consideration during the evaluation process, all the other files being taken from the competition organizer repository.

Supervisor

The supervisor controller is a special controller that evaluates the performance of your robot controller. You should inspect its source code to understand more in detail how your controller will be evaluated.

Webots

It is recommended to install Webots on your computer and to checkout your repository. This will allow you to work on the robot controller and test immediately your changes by running the world file in Webots. Once you are statisfied with your changes, you can push them to GitHub to trigger the evaluation of the new version of your robot controller.

Note: if you push your changes on a branch which is not the default branch of your repository, no evalution will be triggered.

Docker

Your controller is evaluated in a Docker container. If your robot controller has dependencies, such as some specific libraries, python modules or a complete ROS framework, be sure to update the controllers/Dockerfile to include all these dependencies. The default Webots Docker container includes the tools needed to run and compile simple C, C++ and Python controllers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.