manavkulshrestha / 2D-Robotics

2D robotics involving kinematics, inverse kinematics, tracking, Q learning etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

roger

The repository for socket version of Roger-the-Crab simulator.

Setup Guide

SYSTEM REQUIREMENTS

1- You may need certain packages before installation. The neccessary packages on a fresh installation of Ubuntu 18.04 can be obtained by running:

sudo apt install make gcc libx11-dev libxt-dev libxmu-dev libxaw7-dev libgsl-dev

STEPS FOR COMPILING THE SIMULATOR

1- Unzip roger.zip

2- Go to RogerSimulator. run

make clean; make

3- Go to RogerClient run

make clean; make

4- Create a symbolic link between the generated libraries to RogerProjects and RogerSimulator. In each Directory you can run:

       ln -s ../RogerClient/lib/

4.1 - You may also need to create additional symbolic links for the include folder. In each Directory you can run:

       ln -s ../RogerClient/include/

The above steps need to be done only once.

5- Compile RogerProjects by running

make clean; make

This will generate an executable named roger

STEPS FOR RUNNING THE SIMULATOR

1- Open two terminal windows. 2- In the first window, change the current directory to RogerSimulator. In the other two windows, change the directory to RogerProjects. 3- In the first window run:

./simulator EnvironmentNum RobotNum

,where EnvironmentNum and RobotNum are integer arguments that determine the simulation environment and number of robots respectively. EnvironmentNum = 0 : ARENA EnvironmentNum = 1 : DEVELOPMENT This starts up the simulator. However, the simulator will not display until it has connection from RobotNum different rogers. 4- In the second window run:

./roger 127.0.0.1 8000

5- Repeat step 4 in other terminal windows with different port numbers RobotNum times:

  ./roger 127.0.0.1 8001

The port numbers start from 8000 for the first player and increment by 1 for each new player. This will start the simulator with RobotNum Rogers.

About

2D robotics involving kinematics, inverse kinematics, tracking, Q learning etc.


Languages

Language:C 60.6%Language:Jupyter Notebook 36.9%Language:Makefile 1.6%Language:TeX 0.4%Language:Rich Text Format 0.2%Language:Python 0.2%Language:Shell 0.0%