Comments (3)
Understood. However, SimpleActionServer already has the flexibility to allow users to do complicated things if they want by subscribing to the goal and preempt callbacks: http://wiki.ros.org/actionlib_tutorials/Tutorials/SimpleActionServer%28GoalCallbackMethod%29.
I can certainly envision some advanced behaviors that one might want when a goal must be rejected, but I think the SimpleActionServer should do something simple like preempting the current goal.
I fail to see how adding this option in any way decreases the usefulness or simplicity of SimpleActionServer.
from actionlib.
The goal of the SimpleActionServer is to provide a simple solution which covers the simple use cases only, allowing an action server to be implemented in a few lines of code. It does not try to provide full coverage of the Action state space. If you want more complicated behaviours it's recommended to create your own action server implementation.
from actionlib.
Resurrecting an old issue:
@benaxelrod actually the SimpleActionServer has very limited flexibility. If you examine closely the
template <class ActionSpec> void SimpleActionServer<ActionSpec>::goalCallback(GoalHandle goal)
function you will see that the user can only do very few things with his custom goal callback. E.g. he cannot reject it and keep executing the previous goal as it's preemption status has been altered.
As @tfoote has suggested, you must implement your own ActionServer. My only -minor- complain is that there are no other Action Servers/Clients provided besides the Simple ones.
from actionlib.
Related Issues (20)
- How to resume a task after canceled a task
- Noetic Python 2 dependency on wxtools HOT 6
- Segmentation Fault when I run client node HOT 2
- `waitForResult` returns before doneCb HOT 1
- [noetic] Where is axclient.py ? HOT 7
- Restarting the action-server during goal execution makes CPP-action-client crash in windows, ROS1 Melodic HOT 1
- race condition in SimpleActionClient HOT 1
- exercise_simple_client test failing on Noetic HOT 1
- wait_for_server can return before result or feedback topic is fully connected
- Implement interfaces for easier mocking
- Suppress debug in stdout HOT 1
- noetic install broken HOT 2
- Broken sending goals from doneCb in noetic HOT 3
- After calling cancel_all_goals() isNewGoalAvailable returns true
- New release for ros noetic? HOT 4
- "getElem() should not see invalid handles" in kinetic HOT 1
- race condition in SimpleActionClient.send_goal
- GoalStatus.to_string(0) in action_client.py result the wrong key attribute
- Lost feedback on python actionclient HOT 2
- Getting an error when I try to open axclient.py
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from actionlib.