Robotics

Fedora provides a multitude of useful packages for roboticists of all skill levels and areas of concentration. The Fedora Robotics SIG focuses on making the latest and greatest robotics software available to the Fedora community. This page showcases some of the technologies included in Fedora. These packages are all part of the Robotics Suite in Fedora 15 and beyond.

=Player= {| border="0" cellpadding="2" width="100%"
 * - valign="center"
 * scope="row" width="70%" |

About
Player is a free and open networked robotics server. The Player server acts like a "robot abstraction layer," providing standardized interfaces and messaging management for many classes of robotics-related devices (camera, ranger, planner, etc.) Drivers for individual devices abstract information into these interfaces and use them to communicate amongst each other. Player also includes a set of client libraries in C, C++, Python, and Ruby which enable outside programs to subscribe to interfaces provided by the Player server. Several utilities are included for logging, viewing, and sending data. Also included are example programs using the client libraries and examples of plugin device drivers.

In Fedora, Player provides over 130 different drivers, ranging from device drivers and data processing drivers, to complex path planning and obstacle avoidance algorithms.

Try it
Install Player with the following command: su -c 'yum install player' Start Player with a configuration file providing "dummy" devices: player /etc/player/config/dummy.cfg In a separate terminal or from the Applications menu, launch PlayerV playerv The dummy interfaces publish sample data which can be used to verify the operation of Player. PlayerV can also be used to visualize data from real sensors or from Stage (see the Simulators section.)

Learn More
Player webpage Player manual


 * width="30%" | Playerv-3.2.2-Laserscan.png
 * }

=Fawkes= {| border="0" cellpadding="2" width="100%"
 * - valign="center"
 * scope="row" width="70%" |

About
Fawkes was developed and used over four years for cognitive robotics real-time applications like soccer and service robotics. It supports fast information exchange and efficient combination and coordination of different components to suit the needs of mobile robots operating in uncertain environments.

Try it
Install Fawkes with the following command: su -c 'yum install fawkes fawkes-plugin-flite fawkes-plugin-skiller' Start the Fawkes application using the following command: fawkes In another terminal, load the flite and skiller plugins, then execute the skillet application: ffplugin -l flite ffplugin -l skiller skillet From the skillet prompt, issue a text to speech command: say{text="Hello world"}

Learn More
Fawkes webpage Fawkes manual


 * width="30%" | Fawkes-firestation.jpg
 * }

= Stage = {| border="0" cellpadding="2" width="100%"
 * - valign="center"
 * scope="row" width="70%" |

About
Stage is a free and open 2.5D robot simulator. It can be used on its own, or as an extension of the Player robot server. Stage supports simulation of vehicle movement, and various sensors such as scanning laser range finders, SONAR arrays, cameras, fiducial markers, etc. Use of simplified sensor and movement models provide good fidelity and great scalability: Stage can easily simulate 100 or more robots, and can be easily expanded to provide new and interesting capabilities.

Try it
Install Stage with the following command: su -c 'yum install stage stage-playerplugin' Now, you can run Player with a sample configuration file that launches a Stage world: player /usr/share/stage/worlds/simple.cfg In a separate terminal or from the Applications menu, launch PlayerV playerv You can use PlayerV to subscribe to and visualize the interfaces provided by Stage, as well as send movement commands to the simulated robot.

Learn More
Stage webpage Stage manual
 * width="30%" | Stage-3.2.2-Autolab.png
 * }

= RoboCup Soccer Simulator = {| border="0" cellpadding="2" width="100%"
 * - valign="center"
 * scope="row" width="70%" |

About
The RoboCup Soccer Simulator(RCSS) is a research and educational tool for multi-agent systems and artificial intelligence. It enables for two teams of simulated autonomous robotic players to play soccer (football).

Two separate versions of this simulation environment exist: a 2D version and a 3D version. The 2D versions provide an environment to study high level strategies for playing soccer by hiding low level details of player robots. The 3D simulator exposes much more of the challenges of real robots and provides a rich environment to study humanoid soccer player robots. It is built on top of SimSpark simulation environment.

2D Simulator
Install 2D simulator with the following command: su -c 'yum install rcssserver-gui' In a separate terminal or from the Applications menu, launch RoboCup 2D Soccer Simulation: rcsoccersim Which will run both a server and a monitor waiting for players to connect. You can write your own team or use one of 2D team binaries and/or source codes available in internet.

You can also install 'rcsslogplayer' package to play log files saved by the 2D simulator.

3D Simulator
Install 3D simulator with the following command: su -c 'yum install rcssserver3d' In a separate terminal or from the Applications menu, launch RoboCup Soccer Server 3D: rcsoccersim3d Which will run both a server and a monitor waiting for players to connect. A very simple agent is provided which you can run with the following command: rcssagent3d

Learn More
RCSSServer webpage (2D) 2D Simulator Users Manual SimSpark/RCSSServer3D webpage (3D) 3D Simulator Users Manual


 * width="30%" | Screenshot-3d.jpeg Screenshot-2d.png
 * }

= Robotics Suite = Fedora 15 and beyond include the Robotics Suite, a package group that consolidates these and other robotics-related packages included in Fedora. To use it, fire up the Fedora software manager, and look for the "Robotics" package group. Alternatively, you can use yum to install the group via the command su -c 'yum groupinstall Robotics'

= Get Involved = Interested in robotics software development? Writing tutorials? Packaging? The Fedora Robotics SIG is always looking for new members. Get in touch with us if you want to help the Fedora Robotics effort!