From a90e2b014043f6001756e07e90bc8593cad667de Mon Sep 17 00:00:00 2001
From: Ernesto Corbellini <ecorbellini@ekumenlabs.com>
Date: Tue, 15 Dec 2015 12:39:01 -0300
Subject: [PATCH] Updated readme. Added instructions to the readme to build and
 run the test client.

---
 README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 61 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 4ce91aa..7fd26be 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,61 @@
-# rosjava_actionlib
- A port of actionlib to rosjava.
+# Actionlib for Rosjava
+A pure java implementation of [actionlib](http://wiki.ros.org/actionlib) for rosjava.
+For now there is a basic client implemented with the following features:
+* send goal
+* send cancel
+* callback interface for status, feedback and result messages.
+
+
+## Requirements:
+* ROS Indigo http://wiki.ros.org/
+* Rosjava ```$ sudo apt-get install ros-indigo-rosjava``` http://wiki.ros.org/rosjava/Tutorials/indigo/Installation
+* Java 1.7 or greater (OpenJDK should work)
+* Also make sure you have the following packages: ```ros-indigo-actionlib``` ```ros-indigo-actionlib-tutorials``` ```ros-indigo-genjava```
+* Download the project: ```$ git clone https://github.com/ernestmc/rosjava_actionlib.git```
+
+## Compiling:
+1. Go to the package folder: ```$ cd rosjava_actionlib```
+2. Compile the code: ```$ catkin_make```
+3. Move to the project folder: ```$ cd src/rosjava_actionlib```
+4. Build the execution target: ```$ ./gradlew deployApp```
+
+## Running:
+1. Open a new terminal and get a ros server running: ```$ roscore```
+2. In another terminal run the actionlib sample server: ```$ rosrun actionlib_tutorials fibonacci_server```
+3. Run our test client:
+  * Go back to the package folder: ```cd ../..```
+  * Source the project environment: ```$ source devel/setup.bash```
+  * Run the client: ```$ rosrun rosjava_actionlib execute com.github.ekumen.rosjava_actionlib.TestClient```
+
+## Output
+The test client will connect to the fibonacci server and send it a goal. It
+should then receive feedback from the server and a final response. The output
+should look something like this:
+```
+Sending goal #3...
+Goal sent.
+Feedback from Fibonacci server: 0 1 1
+Feedback from Fibonacci server: 0 1 1 2
+Feedback from Fibonacci server: 0 1 1 2 3
+Feedback from Fibonacci server: 0 1 1 2 3 5
+Feedback from Fibonacci server: 0 1 1 2 3 5 8
+Feedback from Fibonacci server: 0 1 1 2 3 5 8 13
+Got Fibonacci result sequence!0 1 1 2 3 5 8 13
+Sending goal #2...
+Goal sent.
+Feedback from Fibonacci server: 0 1 1
+Feedback from Fibonacci server: 0 1 1 2
+Feedback from Fibonacci server: 0 1 1 2 3
+Feedback from Fibonacci server: 0 1 1 2 3 5
+Feedback from Fibonacci server: 0 1 1 2 3 5 8
+Feedback from Fibonacci server: 0 1 1 2 3 5 8 13
+Got Fibonacci result sequence!0 1 1 2 3 5 8 13
+Sending goal #1...
+Goal sent.
+Feedback from Fibonacci server: 0 1 1
+Feedback from Fibonacci server: 0 1 1 2
+Feedback from Fibonacci server: 0 1 1 2 3
+Feedback from Fibonacci server: 0 1 1 2 3 5
+Feedback from Fibonacci server: 0 1 1 2 3 5 8
+Feedback from Fibonacci server: 0 1 1 2 3 5 8 13
+```
-- 
GitLab