roborescue / adf-sample-agent-java

A sample team using RCRS Agent Development Framework
https://roborescue.github.io/rcrs-adf-sample/
BSD 3-Clause "New" or "Revised" License
10 stars 26 forks source link

Directories component, agent, launcher nonexistent in adf-sample/src/adf #7

Closed blmussati closed 6 years ago

blmussati commented 6 years ago

Hi, I followed the "RoboCupRescue Simulator and Agent Development Framework Manual" to download the project In section 2.3 I was unable to use the suggested commands to download ADF, so instead I reached manually https://github.com/RCRS-ADF/RCRS-ADF/releases and then followed the link https://github.com/RCRS-ADF/sample and I git clone the repository.

The problem is that in section 5.1 and the figure on top of page 7 they refer to the following directories which should be located at adf-sample/src/adf:

component

agent

launcher

but when I look into that directory on my local machine I cannot find any of them

Am I supposed to create such directories? From the instructions it seem they should already be provided, but I cannot find them. Especially it concerns me the absence of directory "agent".

I noticed that in RCRS-ADF/releases there is also the link to https://github.com/roborescue/rcrs-adf-core (it initially send you to a closed repo where I found this link) And in that repo, in directory rcrs-adf-core/build/docs/javadoc/adf/ There are the three directories "component", "agent", "launcher", together with "debug". They all contains the correct subdirectories, even some more.

Should I clone the repository from https://github.com/roborescue/rcrs-adf-core and combine the parts I am currently missing in mine?

Any help would be appreciated

gnardin commented 6 years ago

Hi @blmussati , Thank you for point this inconsistency, we need to update the documentation. We moved the RCRS (RoboCup Rescue Simulator) and the ADF (Agent Development Framework) repositories to https://github.com/roborescue organization and we did not update the documentation. We will make this update it soon.

Meanwhile, you can download all the official RoboCup Rescue Simulation repositories from https://github.com/roborescue.

Figure 5 (page 7) describes the complete ADF dircetory structure, which is formed by the rcrs-adf-core and rcrs-adf-sample. The directories you mentioned are part of the rcrs-adf-core and the source is not included in the rcrs-adf-sample.

The rcrs-adf-sample depends on the rcrs-adf-core, which is released as a compiled jar file named rcrs-adf-core.jar located under the directory $RCRS-ADF-SAMPLE/library/rescue/adf.

To run the rcrs-adf-sample implementation, you run the launch.sh script, which already includes all necessary jar files, including the rcrs-adf-core.jar in the classpath. This means that you do not necessarily need to clode the rcrs-adf-core to run and modify the rcrs-adf-sample, unless you want to know or change how the core is structured.

Please let me know if you were able to run the simulator and ADF.

Best, @gnardin

blmussati commented 6 years ago

Hi @gnardin and thank you for the answer

I was able to download rcrs-server using the instructions in section 2.2, should I instead git clone the repository from https://github.com/roborescue ? Is there any significant difference?

I have some issues:

  1. I am currently unable to run ant but this is because I am using a machine of my university and thus I have no sudo privileges. I get this error

    Problem: failed to create task or type junitreport Cause: the class org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator was not found.

  2. For the rcrs-adf-sample I deleted the one I got from https://github.com/RCRS-ADF/sample and instead git clone the repository from https://github.com/roborescue as per your suggestion.

However now, when I try to run Sample Agents on the Simulation Server (section 3.1.2 of the manual) the agents don't connect with the simulator. I tried sh start.sh sh launch.sh sh launcher.sh but none of these worked

Note that the server runs correctly when following instructions in 3.1.1

Yesterday I was able to run both server and adf

  1. From your instruction is not clear to me how can I edit the agents file. I want the software to run my own simulation and test reinforcement learning algorithms on the agents, but if rcrs-adf-core is all in a jar file, how can I do it? Where are located the files that I can edit and how I can connect those files once created?

Many thanks!

gnardin commented 6 years ago

Hi @blmussati

I was able to download rcrs-server using the instructions in section 2.2, should I instead git clone the repository from https://github.com/roborescue? Yes, there are some differences. The version in the Github is the one we are improving. For example, just today we change the build tool used from Ant to Gradle. I am currently updating the document that you downloaded with the old instructions.

1. I am currently unable to run ant but this is because I am using a machine of my university and thus I have no sudo privileges. We changed the build tool used to compile the code, please look at the https://github.com/roborescue/rcrs-server for instructions of how to download, build and run the simulator.

2. For the rcrs-adf-sample I deleted the one I got from https://github.com/RCRS-ADF/sample and instead git clone the repository from https://github.com/roborescue as per your suggestion. There was a bug in the rcrs-adf-sample. I fixed it, you should be able to run it now.

3. From your instruction is not clear to me how can I edit the agents file. I want the software to run my own simulation and test reinforcement learning algorithms on the agents, but if rcrs-adf-core is all in a jar file, how can I do it? Where are located the files that I can edit and how I can connect those files once created? The rcrs-adf-core is a framework that provides an agent architecture structured with the main modules that agents will need to perform during the simulation run. The rcrs-adf-sample is a sample implementation of all the modules using the framework. This provides beginners with a complete agent structure allowing them to put their effort on changing specific modules instead of requiring the full implementation of an agent and its tasks, which is very time consuming.

Suppose you are interested in integrating Reinforcement Learning to improve the allocation of tasks. You will not need to make changes to how agents deal with path planning, you can use the one already available at rcrs-adf-sample. But you would like to change the Target Allocator codes under the folder adf/sample/module/complex. These classes extend abstract classes from the rcrs-adf-core providing a layer of abstraction between the details of the simulator and the agent.

You can find more detailed information about the Agent Development Framework in the book chapter

Takami S., Takayanagi K., Jaishy S., Ito N., Iwata K. (2018) Design of Agent Development Framework for RoboCupRescue Simulation. In: Lee R. (eds) Computational Science/Intelligence and Applied Informatics. CSII 2017. Studies in Computational Intelligence, vol 726. Springer, Cham. DOI 10.1007/978-3-319-63618-4_14.

IMPORTANT: General questions about the use and architecture of the simulator and ADF should be directed to the email robocup-rescue-s@cc.gatech.edu

Please let me know if you were able to run the simulator and sample agents using the instructions in the Github pages.

Best, @gnardin

gnardin commented 6 years ago

Hi @blmussati I just finish updating the "RoboCupRescue Simulator and Agent Development Framework Manual". Please download the new version available at http://roborescue.sf.net/docs/rcrs-manual-20181012.pdf. Best,

gnardin commented 6 years ago

Close due to lack of response.