Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
R
rosjava_actionlib
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Sebastian Ebert
rosjava_actionlib
Commits
53d17753
Commit
53d17753
authored
9 years ago
by
Ernesto Corbellini
Browse files
Options
Downloads
Patches
Plain Diff
Updated running instructions.
parent
4684e7f2
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+58
-28
58 additions, 28 deletions
README.md
with
58 additions
and
28 deletions
README.md
+
58
−
28
View file @
53d17753
# Actionlib for Rosjava
# Actionlib for Rosjava
A pure java implementation of
[
actionlib
](
http://wiki.ros.org/actionlib
)
for rosjava.
A pure java implementation of
[
actionlib
](
http://wiki.ros.org/actionlib
)
for
[
rosjava
](
http://wiki.ros.org/rosjava
)
.
F
or now there is a basic client implemented with the following features
:
F
eatures implemented
:
*
send goal
Basic client:
*
send cancel
*
methods for publishing goal and cancel messages.
*
callback interface for status, feedback and result messages.
*
callback interface for status, feedback and result messages.
*
goal state tracking is not implemented yet
Basic server:
*
methods for publishing result, feedback and status messages.
*
periodic goal status publishing as heartbeat
*
callback interface for accepting goals, and receiving cancel messages.
*
multi-goal state tracking.
## Requirements:
## Requirements:
...
@@ -19,43 +25,67 @@ For now there is a basic client implemented with the following features:
...
@@ -19,43 +25,67 @@ For now there is a basic client implemented with the following features:
3.
Move to the project folder:
```$ cd src/rosjava_actionlib```
3.
Move to the project folder:
```$ cd src/rosjava_actionlib```
4.
Build the execution target:
```$ ./gradlew deployApp```
4.
Build the execution target:
```$ ./gradlew deployApp```
## Running:
## Running
a test client
:
1.
Open a new terminal and get a ros
serv
er running:
```$ roscore```
1.
Open a new terminal and get a ros
mast
er running:
```$ roscore```
2.
In another terminal run the actionlib sample server:
```$ rosrun actionlib_tutorials fibonacci_server```
2.
In another terminal run the actionlib sample server:
```$ rosrun actionlib_tutorials fibonacci_server```
3.
Run our
test
client:
3.
Run our client:
*
Go back to the package folder:
```cd ../..```
*
Go back to the package folder:
```cd ../..```
*
Source the project environment:
```$ source devel/setup.bash```
*
Source the project environment:
```$ source devel/setup.bash```
*
Run the client:
```$ rosrun rosjava_actionlib execute com.github.ekumen.rosjava_actionlib.TestClient```
*
Run the client:
```$ rosrun rosjava_actionlib execute com.github.ekumen.rosjava_actionlib.TestClient```
## Output
## Output
from the test client
The test client will connect to the fibonacci server and send it a goal. It
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 then receive feedback from the server and a final response. The output
should look something like this:
should look something like this:
```
```
Sending goal #3...
Sending goal #0...
Goal sent.
Got Fibonacci result sequence!0 1
Sending goal #1...
Goal sent.
Goal sent.
Feedback from Fibonacci server: 0 1 1
Feedback from Fibonacci server: 0 1 1
Feedback from Fibonacci server: 0 1 1 2
Got Fibonacci result sequence!0 1 1
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...
Sending goal #2...
Goal sent.
Goal sent.
Feedback from Fibonacci server: 0 1 1
Sending goal ID: fibonacci_test_3...
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.
Goal sent.
Feedback from Fibonacci server: 0 1 1
Feedback from Fibonacci server: 0 1 1
Feedback from Fibonacci server: 0 1 1 2
Got Fibonacci result sequence!Feedback from Fibonacci server:
Feedback from Fibonacci server: 0 1 1 2 3
0 1 1
Feedback from Fibonacci server: 0 1 1 2 3 5
Cancelling goal ID: fibonacci_test_3
Feedback from Fibonacci server: 0 1 1 2 3 5 8
Got Fibonacci result sequence!
Feedback from Fibonacci server: 0 1 1 2 3 5 8 13
```
## Running a test server:
1.
Run our server:
*
Go back to the package folder:
```cd ../..```
*
Source the project environment:
```$ source devel/setup.bash```
*
Run the server:
```$ rosrun rosjava_actionlib execute com.github.ekumen.rosjava_actionlib.TestClient```
2.
If its not already running, open a new terminal and get a ros master running:
```$ roscore```
3.
In another terminal run the actionlib sample client:
```$ rosrun actionlib_tutorials fibonacci_client```
4.
Once finished, use Ctrl+C to close the server.
## Output from the test server
The test server will start running and wait for clients to connect and send goal messages.
Once the fibonacci client sends a goal, the server accepts it and sends a result. The output
should look something like this:
```
Goal received.
Goal accepted.
Sending result...
```
## Running demos for the server and the client
You can launch a demo client and a fibonacci action server all at once using:
```
roslaunch rosjava_actionlib client_demo.launch --screen
```
```
You can also launch a demo server and a fibonacci action client all at once using:
```
roslaunch rosjava_actionlib server_demo.launch --screen
```
Use Ctrl+C to stop the execution once it's finished.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment