-
Notifications
You must be signed in to change notification settings - Fork 126
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
Add manual mower control actions in AreaRecording mode #162
base: main
Are you sure you want to change the base?
Conversation
Previously users would call mower_comms setMowEnabled directly to enable the mower while in AreaRecording mode. However this should not have been possible since AreaRecording::mower_enabled() always returned false. mower_logic now confirms that the mower state is as expected, so bypassing it in this way no longer works. Add actions to toggle AreaRecording::mower_enabled() instead.
7bf65f9
to
54e1bbf
Compare
Use 22.04 for build, pre-commit action fails on latest
3185b56
to
7c1a384
Compare
Quite thanks for the PR! Just fetched and compiled, but unfortunately does now work as I expected 😢 (removed GPS messages)
|
Are you expecting calling the |
Yip, had expected it 😇
Quite thanks for the command, did not know that before 🤫 and now after checking the sources, I do see. Is it expected to call the command with a rate i.e. Now, the danger part: When failed to start, exited area-recording and went back to area-recording. That immediately started the mow motor again. This is somehow dangerous when used during assembling 😱 |
Safety checks in mower_logic still apply, so if GPS drops I expect it will stop the mower, which might explain this - https://github.com/ClemensElflein/open_mower_ros/blob/main/src/mower_logic/src/mower_logic/mower_logic.cpp#L491 Also may need to keep the mower moving or mower_comms check will stop the mower https://github.com/ClemensElflein/open_mower_ros/blob/main/src/mower_comms/src/mower_comms.cpp#L114 If we want to allow mowing with bad/no GPS might need to create a new behavior class instead of using AreaRecording |
Previously users would call mower_comms setMowEnabled directly to enable the mower while in AreaRecording mode.
However this should not have been possible since AreaRecording::mower_enabled() always returned false.
mower_logic now confirms that the mower state is as expected, so bypassing it in this way no longer works.
Add actions to toggle AreaRecording::mower_enabled() instead.