Git Product home page Git Product logo

rrc_phase_2's Introduction

Example Package for the Real Robot Challenge Submission System

This is a basic example for a package that can be submitted to the robots of the Real Robot Challenge.

It is a normal catkin package. The only special things are the following files which are used by the robot cluster system:

  • goal.json: Contains the desired difficulty level and optionally a specific goal. In the given example, the goal is "commented out" by changing the key name. If no goal is given, a random one is sampled based on the specified difficulty level. Note that the difficulty level is always needed, also if a specific goal is given, as it is needed for computing the reward.
  • run: Script that is executed when submitting the package to the robot. This can, for example, be a Python script or a symlink to a script somewhere else inside the repository. In the given example, it is a shell script running a Python script via rosrun. This approach would also work for C++ executables. When executed, the difficulty level and the goal pose of the object are passed as arguments.

This example uses purely Python but you could also add C++ code. In this case you need to add the corresponding build commands in CMakeLists.txt (and potentially specify dependencies in package.xml as for any catkin package.

Scripts need to be executable

It is important that the run script is executable as is. For this, you need to do two things:

  1. Add a shebang line at the top of the file (e.g. #!/usr/bin/python3 when using Python or #!/bin/bash when using bash).
  2. Mark the file as executable (e.g. with chmod a+x run).

When inside of run you want to call another script using rosrun (as it is done in this example), this other script needs to fulfil the same requirements.

rrc_phase_2's People

Contributors

luator avatar cbschaff avatar

Watchers

James Cloos avatar

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.