Purpose
The Fedora Robotics SIG plans to create a Robotics LiveCD. This spin will keep robotics developers in mind, but we'd also like to lower the barrier to entry for people interested in robotics who haven't developed any software or behaviors. To that end, we're developing demo programs to showcase some of the best features of the robotics packages that we've worked to incorporate into Fedora. Below is an outline of where we'd like to focus our efforts.
Demo Programs
For now, this is a list of ideas for demos we can include with the Robotics Spin
Demo "Game" using Fawkes with Player/Stage/Gazebo
Fawkes provides a Lua-based scripting environment to make it easy to write programs to control the robot on a task level. Player provides the connection to the Stage and Gazebo simulators.
The idea for this demo is creating a small game-like application, which is based on the Fawkes Behavior engine. It will ask the user to make the robot to perform certain tasks, which will increase in difficulty based on the current level in the game. Levels could include (in ascending difficulty):
- go to a certain place by clicking on a map
- go to the place by typing a command
- make the robot find an object, using place names to go to, then turn and detect the object
- carry found objects to a specified place
This is not an exhaustive or fixed list, just examples to get the idea across. For the beginning the software stack would most likely be limited to Fawkes/Player/Stage, as it is easier for the start to work on a 2.5D simulation. Later there might be a second "level pack" involving Gazebo. The idea is similar to Player/Stage/Gazebo, but with the scripting environment we want to achieve a higher level of abstraction, allowing the demo user to descent slower into the code. Additionally, it allows for people from different upstream projects to cooperate, integrate and present their work.
Player/Stage/Gazebo
- Use Player and Stage to create a series of tutorials
- Drive robot to specific position
- Write a program to get a robot to a specific position
- Avoid obstacles
- Make a robot "talk" as it navigates the environment
- Grab a box and move it
- Gazebo Driving Simulator using Playerjoy
- Edit GUI programs (playerv, playernav, playervcr) to support starting without a running player server
- Add connection dialog
- Support libplayersd? Try to autodiscover localhost:6665 before falling back to connection dialog?
- Create pretty icons
RCSS
- The 2D soccer simulation server does not come with any demos
- The 3D soccer simulation server comes with a very basic demo which doesn't do anything interesting
- For both, there are a set of released sources by teams participating in the competitions and some of them are under open source licenses. But are they usable as demos?! They can just play against another team (which can be themselves too). These teams are autonomous, so the user cannot interact with them at all.