-
Notifications
You must be signed in to change notification settings - Fork 698
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
refactor(emergency_handler, mrm_handler) change MRM operators to classes inside Handler Nodes #6589
refactor(emergency_handler, mrm_handler) change MRM operators to classes inside Handler Nodes #6589
Conversation
…gency Handler Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
namespace structure
Do you mean comfortable_stop_operator in emergency_handler? It looks fine.
FYI: It can be written as namespace emergency_handler::comfortable_stop_operator
update_rate of handlers
Previously, it was 10 Hz in emergency_handler, while 33 Hz in
Since it changes the publishing rate of control commands, please check whether it has any effect on vehicle control. Also, it is better to treat the topic rate and processing rate separately.
emergency_stop_operator.
how to pass parameters to each operator
Where is this about? I think it would be better to use declare_parameter
in each operator class, as is the current implementation.
When to publish emergency commands in emergency_stop operator class
only in operate() or both operate() and onTimer() ?
I think it's better to always publish if there are no performance problems.
Are commands gear and hazard_light used only when emergency_stop is enabled?
If so, should they included in emergency_stop class, not in handlers?
Yes. At the meeting the other day, we decided to publish a command for each MRM, so please move it in the operator class. It should be needed for comfortable_stop as well.
system/emergency_handler/include/operators/comfortable_stop.hpp
Outdated
Show resolved
Hide resolved
system/emergency_handler/include/operators/comfortable_stop.hpp
Outdated
Show resolved
Hide resolved
As soon as this node is started up, the process dies. |
@TetsuKawa |
Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
@veqcc |
Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
@isamu-takagi
Yes I meant it. I have fixed the namespace following it. |
Yes I meant the parameters in configuration files. |
I see. I will move these parameters and functions to operators from handlers. |
Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
@veqcc That's right. So for this PR, it is enough to move the command publishers to the emergency_stop operator class. |
Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
I have changed following your advice. Now |
Both the current implementaion and my modification always publish them. |
Signed-off-by: veqcc <ryuta.kambe@tier4.jp>
This pull request has been automatically marked as stale because it has not had recent activity. |
I willl close it. |
Description
Delete MRM operators and implemented those operators inside Handlers (Emergency Handler, MRM Handler) as classes based on #6539 .
Related links
#6539
Tests performed
Not yet.
Notes for reviewers
Please review especially in terms of:
update_rate
of handlersemergency_handler
, while 33 Hz inemergency_stop_operator
.operate()
or bothoperate()
andonTimer()
?gear
andhazard_light
used only whenemergency_stop
is enabled?emergency_stop
class, not in handlers?Interface changes
We cannot access MRM operators directly.
All inputs/outputs of operators are included in the Handler's interfaces.
Effects on system behavior
Handlers do not have to call ROS 2 services anymore to invoke mrm oprations.
It changes to function calls and thus mrm operations can work more quickly in terms of:
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.