Skip to content

aozgelen/rteam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RTEAM is a robot control software built for running experiments on human supervised multi-robot teams. It is developed and maintained by Metrobotics team at CUNY Brooklyn College. This document aims to give an idea about how RTEAM code and it's utilities can be obtained, built and ran.

Obtaining the code: 

1) open a terminal window and type: 
   $> git clone git@github.com:aozgelen/rteam.git
   this will download the source code from the repository from my GitHub dashboard.

2) to be notified of the changes, open an account in GitHub, go to the project directory (http://github.com/aozgelen/rteam) and click on 'watch' button. 

Building: 

1) makefile in the modules directory is the main makefile of the project. 

2) when 'make' command is invoked the first time, it will build 3 libraries ( Localization Metroutil and PathPlanner ) into project lib directory ( ./lib ), will compile all the source files within the root of the modules directory and will link the libraries and .o files into an output executable (controller) 

3) if any change is made within subdirectories contributing to any of the libraries, for that change to take effect they have to be rebuild within that subdirectory ( this will recompile the source and deploy the library to the project lib directory ). This means you have to make an extra effort to make the changes effective for the overall project. The reason for this is to avoid synchronization problems. I'm making no claims about this being the best approach but this is the case at the moment.    

4) build the Skygrid
   - cd into <PROJECT_PATH>/utils/Skygrid/src
   - make

5) build MetroboticsGUI
   - cd into <PROJECT_PATH>/utils/MetroboticsGUI-v2
   - make

Running rteam code: 

1) Run the player using a .cfg file from the <PROJECT_PATH>/modules/config_files directory. 
   e.g. $> player surveyor.cfg

2) Run the Central Server. Latest version is called 'SkyGrid'. 
   - cd into <PROJECT_PATH>/utils/Skygrid/src
   - ./skygrid -i -l <logfile_name> -b <server_hostname> -p <server_port> 
   the default server port used is 6667, -i stands for interactive mode 

3) Run the controller 
   - cd into <PROJECT_PATH>/modules
   - ./controller -d -f <config-file>
   [-d] option runs the visual debugger and is optional
   f option is mandatory at the moment and specifies the configuration file name 
   that contains the map-file, central server and player server
   info (ip and port). An example configuration file is: 
   <PROJECT_PATH>/modules/config-files/robot.conf 
   If no errors occured in 1) and 2) then this should work fine. 
   If your code is autonomous, meaning doesn't require input from and operator, this is where you should stop. 

4) Running the MetroboticsGUI (for operator control): 
   - cd into <PROJECT_PATH>/utils/MetroboticsGUI_v2/
   - java -jar metroboticsGUI.jar -s <central_server_host> <central_server_port> 
     To use it with the central server and the controlller, add these arguments: -s <server_ip> <server_port>  
     To use it to directly control the robot (via Player) use args: -p <player_ip> <player_port> nofile

About

Contains utils, libraries and all the source for RTEAM code, a Human - Robot Team Environment, developed by METROBOTICS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published