-
Notifications
You must be signed in to change notification settings - Fork 307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added recover and stop in RobotHW #294
base: kinetic-devel
Are you sure you want to change the base?
Added recover and stop in RobotHW #294
Conversation
I'm in favour of this— particularly when using combined_robot_hw, it would be nice to have a way to notify all RobotHW plugins to stop or start up again based on some external system state. Should there be something added to ControllerManager to actually call the stop function on shutdown, since the comment hints that that will occur? |
Could you please add a test that could double as a reference implementation for our documentation as well please? Also, if the rob@work drivers are public that'd be a nice addition :) |
I am not sure about this.. I can see @mikepurvis' point with combined_robot_hw, but this PR does not address this fully. IMHO we need interfaces in the other direction, to notify that some joints are not active anymore.
rob@work is the industrial version of Care-O-bot, almost all of the (original) drivers are public. |
@mikepurvis : Regarding ControllerManager we have our own generic implementation of ControllerManager since I was annoyed to write for every hardware the same controller manager code. For the example of the generic controller manager see under. @bmagyar: Would something like this be suitable as test? @ipa-mdl: one of the main reasons to implement this is actually better support for hardware drivers provided by your department (e.g. rob@work, schunk_modular_robotics). Without this on any error, or after Emergency-Stop you can only restart the component completely...
|
Your code uses the standard ControllerManager.. I have just noticed that RobotHW got
Our department switched to |
Yes. What I meant is that is reused on multiple hardware. Currently for most of the RobotHW implementation there is also CM implementation to start the node (it is not wrong, but not efficient for managing 5+ robots)
OK, but how should be than responsible for hardware initialization and stopping? In current implementation for initialization is CM but not for stopping. IMHO we can put it in RobotHW interface...
I know. I am also using your repositories on daily basis :) Actually this was also inspired with your CM implementation in |
This would be really useful - I would strongly vote for this to be merged! I would also propose to add this functionality to the CombinedRobotHW class |
I am very interested in having such methods in the hardware interface for a simple robot ( In our case, we want to implement a wireless soft emergency stop for our battery-operated robots. This seems to be the best place to stop and restart the robots. On the restart, we would then have the controller manager's We had considered the option of switching controllers, but this seems to be an other possible point of failure in the system, which we would like to avoid. |
Hi all, we updated our branch to be compatible with combined_robot_hw. Is this no OK? |
This applies here as well: #357 (comment) |
Proposal for extension of RobotHW with recover and stop functions for easier hardware management. See code comments for explanation of this functions. Hope this can be also useful for many other robots, since we are using it with Schunk modules/robots and rob@work mobile robot.