{Next tutorial}[link:files/doc/tutorials/02-GoForward_rdoc.html] = Getting started == Initializing an empty Roby application Go into a shell into the directory you want your application in and run $ roby init creating tasks/ creating tasks/.gitattributes creating scripts/ creating scripts/test creating scripts/shell creating scripts/server creating scripts/run creating scripts/results creating scripts/replay creating scripts/generate/ creating scripts/generate/bookmarks creating scripts/distributed creating planners/ creating planners/main.rb creating data/ creating data/.gitattributes creating controllers/ creating controllers/.gitattributes creating config/ creating config/roby.yml creating config/init.rb creating config/app.yml creating Rakefile creating README.txt You can see that the following directories are created: tasks:: definition of task models planners:: definition of planner models controllers:: definition of the robot controllers data:: data files config:: robots configurations test:: the test suites log:: the log files (output of the last run) results:: sets of logs that have been saved by scripts/results scripts:: the standard Roby tools. Call them with --help to know what they are doing The .gitattributes in empty directories is a trick allowing to commit an empty Roby application with +git+ using git init git add . git commit Without it, +git+ would ignore those directories. == Overview of Roby applications structure In a single Roby application, someone can define multiple specific _controllers_, tailored for specific robots. A specific Roby controller is defined by a /robot name/ and a /robot type/. These two parameters define what models and what configuration files the system will load on startup. Both models and configuration files can be sorted into: * a set common to all robots and robot types * a set specific to all robots of the same type * a set specific to a single robot See Roby::Application for more details on the configuration/models loading logic. == Creating a simple robot During the tutorials, we will be creating different robots which is done by the roby robot command. For instance, run $ roby robot EmptyRobot creating planners/EmptyRobot/ creating planners/EmptyRobot/main.rb creating tasks/EmptyRobot/ creating tasks/EmptyRobot/.gitattributes creating controllers/EmptyRobot.rb creating config/EmptyRobot.rb This creates the basic templates for the robot named EmptyRobot. The following tutorials will explain their role to you. = Next tutorial {The next tutorial}[link:files/doc/tutorials/02-GoForward_rdoc.html] will show you the basic plan model used by Roby and some central tool, which allow to execute the Roby applications and to interact/control them remotely. --- vim: tw=80