Skip to content

Commit

Permalink
Merge pull request #30 from mani-monaj/docs-update
Browse files Browse the repository at this point in the history
Update documentation and CI
  • Loading branch information
mani-monaj authored Dec 21, 2016
2 parents b073d51 + 4b1d226 commit 1336388
Show file tree
Hide file tree
Showing 6 changed files with 157 additions and 101 deletions.
51 changes: 51 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
language: cpp

compiler:
- gcc

# by default Ubuntu Precise is included
# this results on 3 build configurations:
# Ubuntu Precise and Trusty + Latest OSX image
matrix:
include:
- os: linux
dist: trusty
sudo: required
- os: osx
osx_image: xcode8

addons:
apt:
packages:
- cmake
- libqt4-dev
- libgl1-mesa-dev
- libglu1-mesa-dev
- libprotobuf-dev
- protobuf-compiler
- libode-dev
- libboost-dev

before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install qt4 ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install protobuf ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ode --with-double-precision ; fi

install:
# vartypes
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then git clone https://github.com/szi/vartypes.git ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then git clone https://github.com/lordhippo/vartypes.git -b osx-fix; fi
- cd vartypes
- mkdir build && cd build
- cmake ..
- make
- sudo make install

script:
# grsim
- cd $TRAVIS_BUILD_DIR
- mkdir build && cd build
- cmake ..
- make
- sudo make install
30 changes: 14 additions & 16 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
# Head Developer
- Ali Koochakzadeh - Amirkabir University of Technology (ali.koochakzade@gmail.com)
## Authors

grSim was originally developed by [Ali Koochakzadeh](https://github.com/ali-k) and [Mani Monajjemu](https://mani.im) from [Parsian](http://wiki.robocup.org/Small_Size_League/Teams#Parsian), the RoboCup Small Size Team of [Amirkabir University of Technology](http://www.aut.ac.ir/aut/). Since 2011, it has received numerous contributions from the RoboCup SSL community as well as Parsian team members (listed below). grSim is Currently maintained by [Mohammad Mahdi Rahimi](https://github.com/Mahi97).

# Project Manager
- Mani Monajjemi - Simon Fraser University (https://github.com/mani-monaj)
### Contributers

- [Christopher Head](https://github.com/Hawk777) - Thunderbots (University of British Coloumbia)
- [Jonathan Fraser](https://github.com/Binaryblade) - Thunderbots (University of British Coloumbia)
- [Verónica Raspeño](vero.uc3m@gmail.com) - University Carlos III of Madrid
- [Alejandro Caparrós](alexcap.uc3m@gmail.com) - University Carlos III of Madrid
- [Jan Segre](jan@segre.in) - RoboIME
- [Henrique Bonini de Britto Menezes](henrique.menezes@usp.br) - Universidade de São Paulo

# Other Contributers
- Christopher Head - University of British Coloumbia (https://github.com/Hawk777)
- Jonathan Fraser - University of British Coloumbia (https://github.com/Binaryblade)
- Verónica Raspeño - University Carlos III of Madrid- (vero.uc3m@gmail.com)
- Alejandro Caparrós - University Carlos III of Madrid - (alexcap.uc3m@gmail.com)
- Jan Segre - RoboIME Team (jan@segre.in)
- Henrique Bonini de Britto Menezes - Universidade de São Paulo - (henrique.menezes@usp.br)
### Contributers from Parsian SSL

# Contributers from Parsian Small Size Team from Amirkabir University of Technology
- Sepehr Mohaimanianpour (s.mehdi.mohaimanianpour@gmail.com)
- Arash Behmand (arashbehmand@gmail.com)
- Mohammad Mahdi Rahimi (https://github.com/Mahi97)
- Ehsan Omidi (ehomid@microsoft.com)
- [Sepehr Mohaimanianpour](http://sepehr.im)
- [Arash Behmand](https://github.com/arashbehmand)
- [Mohammad Mahdi Rahimi](https://github.com/Mahi97)
- [Ehsan Omidi](#)
138 changes: 71 additions & 67 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,113 +1,117 @@
# GrSim - INSTALL

## Overview

We developed grSim on Ubuntu 9.10+ OS. (Ubuntu 14.04+ tested and is recommended). It is very important that the Graphics Card Driver is installed. (Ubuntu packages of nVidia and AMD(ATI) graphics cards are available). grSim will compile and run in both 32 and 64 bits Linux and Mac-osx.
We developed grSim on Ubuntu OS. (Ubuntu 14.04+ tested and is recommended). It is important that the graphics card driver is installed properly (the official Ubuntu packages for nVidia and AMD(ATI) graphics cards are available). grSim will compile and run in both 32 and 64 bits Linux and Mac OS.

GrSim is written in C++, in order to compile it, you will need a working toolchain and a c++ compiler.

## Dependencies

GrSim depends on:

- OpenGL <https://www.opengl.org>
- Qt4 Development Libraries <https://www.qt.io>
- Open Dynamics Engine (ODE) <http://www.ode.org>
- VarTypes Library <https://github.com/szi/vartypes>
- Google Protobuf <https://github.com/google/protobuf>

We use CMake <http://www.cmake.org/> to build and install GrSim.
- [CMake](https://cmake.org/) version 2.8+
- [OpenGL](https://www.opengl.org)
- [Qt4 Development Libraries](https://www.qt.io) version 4.8+
- [Open Dynamics Engine (ODE)](http://www.ode.org)
- [VarTypes Library](https://github.com/szi/vartypes)
- [Google Protobuf](https://github.com/google/protobuf)
- [Boost development libraries](http://www.boost.org/) (needed by VarTypes)

**Note:** It's necessary to compile ODE in double precision. This is default when installing the ODE binaries in Ubuntu. However, if you are compiling ODE from source (e.g on Mac OS), please make sure to enable the double precision during the configuration step: `./configure --enable-double-precision`.

> It's neccessery to use ode double percision so if you'r using source code, please attention to use `./configure --enable-double-precision` for configuration.
## Linux/Unix Installation
### Linux/Unix Installation

If you run a Debian system, or derivative, first ensure that these dependencies are there:

```bash
sudo apt-get install build-essential cmake libqt4-dev libgl1-mesa-dev libglu1-mesa-dev libprotobuf-dev protobuf-compiler libode-dev
$ sudo apt-get install git build-essential cmake libqt4-dev libgl1-mesa-dev libglu1-mesa-dev libprotobuf-dev protobuf-compiler libode-dev libboost-dev
```

Next we need to install VarTypes manually, which itself depends on Qt4 so please make sure that you installed Qt4 first :
Next compile and install VarTypes from source. In the following we install VarTypes from source using `git`.

$ (Get VarTypes)
$ cd ./vartypes
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
```bash
$ cd /tmp
$ git clone https://github.com/szi/vartypes.git
$ cd vartypes
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
```

Next, pull down the project:
Next, clone grSim into your preferred location.

$ git clone https://github.com/mani-monaj/grSim.git
$ cd ./grSim
```bash
$ cd /path/to/grsim_ws
$ git clone https://github.com/mani-monaj/grSim.git
$ cd grSim
```

Create a build directory within the project (this is ignored by .gitignore):

$ mkdir build
$ cd build
```bash
$ mkdir build
$ cd build
```

Run CMake to generate the makefiles:

$ cmake ..
```bash
$ cmake ..
```

Then compile the program:

$ make

The program is now under ../bin directory with the name grSim. You can run it from here just by typing "../bin/grSim"

## Mac OS X Installation

To make it easier to install the dependencies, you can use a package manager like Homebrew.
First ensure the dependencies are there:

$ brew install cmake
$ brew install ode --enable-double-precision
$ brew install qt4
$ brew install protobuf

If you run into build issues, you may need to run this first:

$ brew update
$ brew doctor
```bash
$ make
```

Next we need to install VarTypes manually :
The binary is copied to the `../bin` folder after a successful compilation.

> Note : the vartypes need some edits to be compatible with mac-osx so it's recommanded to use :
> <https://github.com/lordhippo/vartypes.git> (branch -> osx-fix)
### Mac OS X Installation

Pre-requirements:

$ (Get VarTypes)
$ cd ./vartypes
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
- [Xcode](https://developer.apple.com/xcode/) or Xcode Command Line Tools 8.0 or newer
- [Homebrew](http://brew.sh/) package manager.

Next, pull down the project:
First ensure the dependencies are there:

$ git clone https://github.com/mani-monaj/grSim.git
$ cd ./grSim
```bash
$ brew install cmake
$ brew install ode --with-double-precision
$ brew install qt4
$ brew install protobuf
```

Create a build directory within the project (this is ignored by .gitignore):
If you run into build issues, you may need to run this first:

$ mkdir build
$ cd build
```bash
$ brew update
$ brew doctor
```

Run CMake to generate the makefiles:
Next we need to install VarTypes manually. Please refer to the documentation above for the procedure.

$ cmake ..
**IMPORTANT NOTE:** VarTypes currently does not compile on MacOS. Please use the following fork of Vartypes instead of the official repository: `https://github.com/lordhippo/vartypes.git (branch: osx-fix)`

Then compile the program:
The steps to compile grSim on Mac OS is similar to the steps outlines above for Linux:

$ make

The program is now under `../bin` directory with the name grSim. You can run it from here just by typing `../bin/grSim`;
```bash
$ cd /path/to/grsim_ws
$ git clone https://github.com/mani-monaj/grSim.git
$ cd ./grSim
$ mkdir build
$ cd build
$ cmake ..
$ make
```

The binary files (grSim and the sample client) will be placed in `../bin`.

you may want to use a cmake-gui instead of cmake, or maybe ccmake for ncurses fans.
## Notes on the performance

The binary files (grSim and sample client) will be placed in `./bin`. Check the fps in status bar, if it is running on 65fps everything is ok, otherwise check the graphics card installation and OpenGL settings. If you received linker error about GL related libraries, also check your graphics card driver
When running grSim, check the FPS in the status bar. If it is running at **60 FPS** or higher, everything is ok. Otherwise check the graphics card's driver installation and OpenGL settings.
3 changes: 3 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
grSim - RoboCup Small Size League Simulator
Copyright (c) 2011 Parsian SSL Team (Amirkabir University of Technology)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
Expand Down
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
[![Run Status](https://api.shippable.com/projects/5620224e1895ca44741e0b4d/badge?branch=2.0-dev)](https://app.shippable.com/projects/5620224e1895ca44741e0b4d)

grSim
=====
[grSim](http://github.com/mani-monaj/grSim) [![Run Status](https://api.shippable.com/projects/5620224e1895ca44741e0b4d/badge?branch=2.0-dev)](https://app.shippable.com/projects/5620224e1895ca44741e0b4d)
=======================

RoboCup Small Size League Simulator
[RoboCup Small Size League](http://wiki.robocup.org/Small_Size_League) Simulator.

![grSim on Ubuntu](docs/img/screenshot01.jpg?raw=true "grSim on Ubuntu")

- [Install instructions](INSTALL.md)
- [Authors](AUTHORS.md)
- [Changelog](CHANGELOG.md)
- License: [GNU General Public License (GPLv3)](LICENSE.md)

System Requirements
-----------------------

grSim will likely run on a modern dual core PC with good graphics card. Typical configuration is:
grSim will likely run on a modern dual core PC with a decent graphics card. Typical configuration is:

- Dual Core CPU (2.0 Ghz+)
- 1GB of RAM
Expand All @@ -21,29 +26,24 @@ Note that it may run on lower end equipment though good performance is not guara
Software Requirements
---------------------

grSim uses these libraries:
grSim compiles on Linux (tested on Ubuntu variants only) and Mac OS. It depends on the following libraries:

- Qt 4.8+ (provided by libqt4-dev on debian based distros)
- Qt 4.8+ (provided by libqt4-dev on Debian based distributions)
- OpenGL
- Open Dynamics Engine (ODE)
- VarTypes Library
- Google ProtoBuf


Installation
------------

Please refer to INSTALL file.


Usage
-----

Receiving data from grSim is exactly like receiving from [SSL-Vision](http://code.google.com/p/ssl-vision) using Google Protobuf library
Sending data to Simulator is also possible using Google Protobuf. Sample clients are included in [clients](./clients) folder. There are two clients available, qt-based and Java-based. The native client is compiled during the grSim compilation. To compile the Java client, please consult client's `README` file.
Receiving data from grSim is similar to receiving data from [SSL-Vision](https://github.com/RoboCup-SSL/ssl-vision) using [Google Protobuf](https://github.com/google/protobuf) library.
Sending data to the simulator is also possible using Google Protobuf. Sample clients are included in [clients](./clients) folder. There are two clients available, *qt-based* and *Java-based*. The native client is compiled during the grSim compilation. To compile the Java client, please consult the corresponding `README` file.

Changelog
---------
Citing
------

Please refer to the CHANGELOG file.
If you use grSim in your research, please cite [the following paper](http://link.springer.com/chapter/10.1007/978-3-642-32060-6_38):

> Monajjemi, Valiallah (Mani), Ali Koochakzadeh, and Saeed Shiry Ghidary. "grSim – RoboCup Small Size Robot Soccer Simulator." In Robot Soccer World Cup, pp. 450-460. Springer Berlin Heidelberg, 2011.
Binary file added docs/img/screenshot01.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1336388

Please sign in to comment.