Create a SCRIMMAGE Plugins Project¶
The SCRIMMAGE core project provides a general purpose agent-based simulation framework. The SCRIMMAGE core project also provides example behaviors in the form of Autonomy plugins, motion model plugins, low-level controller plugin, metrics plugins, sensor plugins, and entity interaction plugins. While SCRIMMAGE core developers will make modifications to the SCRIMMAGE core project, most third-party developers will not modify the SCRIMMAGE core or its plugins. Instead, third-party developers will create their own SCRIMMAGE plugins project and develop their plugins in their third-party project. To facilitate setting up this third-party project, SCRIMMAGE provides a script that generates a template third-party project. The user just has to provide a name for the project and the location to place the project.
To create a SCRIMMAGE plugins project with the name “my-scrimmage-plugins” in the ~/scrimmage directory, run the following script:
$ cd /path/to/scrimmage/scripts
$ mkdir ~/scrimmage
$ ./create-scrimmage-project.py my-scrimmage-plugins ~/scrimmage
Now build your project:
$ cd ~/scrimmage/my-scrimmage-plugins
$ mkdir build && cd build
$ cmake ..
$ make
Now to make sure scrimmage will find the new plugins:
$ source ~/.scrimmage/setup.bash
Running the cmake
command will be successful if the SCRIMMAGE core project has
already been built/installed on your system. The final output of the CMake
command will look like the following if it was successful:
-- Configuring done
-- Generating done
-- Build files have been written to: /path/to/scrimmage/my-scrimmage-plugins/build
The make
command should be succesful, but since we haven’t created any
plugins yet, nothing will be built.