-
Notifications
You must be signed in to change notification settings - Fork 0
Fast, Modular and Simple simulator
License
AlexandreCampo/FaMouS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
88888888888 88b d88 ad88888ba 88 888b d888 d8" "8b 88 88`8b d8'88 Y8, 88aaaaa ,adPPYYba, 88 `8b d8' 88 ,adPPYba, 88 88 `Y8aaaaa, 88""""" "" `Y8 88 `8b d8' 88 a8" "8a 88 88 `"""""8b, 88 ,adPPPPP88 88 `8b d8' 88 8b d8 88 88 `8b 88 88, ,88 88 `888' 88 "8a, ,a8" "8a, ,a88 Y8a a8P 88 `"8bbdP"Y8 88 `8' 88 `"YbbdP"' `"YbbdP'Y8 "Y88888P" A Fast, Modular, and Simple simulator =============================================================================== For the impatients =============================================================================== - use a recent debian based linux distribution (debian, ubuntu, mint, ...) - run setup.sh - you're done, test demos in the experiments directory don't forget : press space to toggle pause and run the simulator keyboard shortcuts are displayed on the terminal =============================================================================== What is it ? =============================================================================== FaMouS is a simulator initially designed to study swarm robotics. It aims at speed, simplicity and modularity to allow fast development and quick results in complex scenarios with many entities. Main concepts are the services and the objects. Example of services include an OpenGL render and a 3d physics engine based on bullet. There are objects such as a floor, a robot, an arena. Objects must be designed to interact with services. To do so, they inherit from an interface that comes with the service. If an object implements that interface, it becomes de facto compatible with the service and it can register in it. In addition, objects can have devices (such as sensors and actuators : motors, infrared sensors etc...) and any object can be assigned a controller. A fundamental idea of FaMouS is modularity. Any object/service/device/controller can be easily copy/pasted, modified and reused with no consequence on other parts of the simulator (exception is changes to service interface which also imply changes to objects implementing that interface). The simulator itself comes as a library that you can link to your code. We expect users to just create directories in which they throw new services / objects / devices / controllers adapted from existing sources. If some material is frequently reused, we will promote it and integrate it in the core of the simulator. =============================================================================== Requirements =============================================================================== Libraries required : - modified bullet library (go in directory bullet and follow the instructions in README, running setup.sh is easier) - make g++ dos2unix automake libtool libglu1-mesa-dev libgl1-mesa-dev freeglut3-dev libgsl0-dev libtinyxml-dev libboost-program-options-dev =============================================================================== Building FaMouS =============================================================================== To compile, you need premake4 (http://industriousone.com/premake/download). If you have used setup.sh, you will find premake4 in the root directory. Premake4 is used to generate Makefiles, based on a premake4.lua script. To clean and/or generate makefiles : premake4 clean premake4 gmake To clean and/or build the simulator library: make [clean] make config=debug [clean] make config=profile [clean] In the experiments directory, a variety of projects can be compiled in the same way, using premake4 to generate makefiles and make to produce an executable file. =============================================================================== Getting started =============================================================================== To work with FaMouS, you can heavily rely on copy/paste, duplication and modification of other material. In the experiments directory you will find some examples that you can test, study, and hack. Create a directory for yourself, and add your projects there. =============================================================================== Contact =============================================================================== Questions, problems : alexandre.campo@ulb.ac.be, alexandre.campo@gmail.com
About
Fast, Modular and Simple simulator
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published