-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Feature: Dynamically change polygons in collision monitor #3196
Comments
It is not supposed to replace a safety scanner, to be clear. It is a collision monitor which is not certified as a replacement for any safety equipment. I need to repeat that anytime something like that is said, using those particular words. I think you know what I mean here 😉 I'm not entirely clear what you're asking for. The polygons used are published that can be subscribed to. Are you asking for the ability to dynamically change the polygons? |
Gotcha, wrong wording, I did see the discussion about that on Discourse. Anyway, yes I mean to dynamically change polygons. Updated title |
Sure, yeah, I think that sounds reasonable. Your choices would be via dynamic parameters, topics, or services. What do you think there? I might not tell people that's the recommended action, but certainly would be reasonable to have supported Edit: or do you mean disabling/enabling several different pre-established polygons? Services there would make alot of sense. |
Mmm, no I was actually thinking new unconfigured polygons for greater flexibility.
Yeah good question. I would think topics because of the potentially high frequency of change (e.g if the switching is dependent on speed and steering angle). As far as I know topics would offer the least latency, but I might be wrong with that assumption. |
In Collision Monitor, we have already subscribing on footprints in case of APPROACH behavior model. So, I do not see any obstacle to have an ability to subscribe to any arbitrary polygon for the rest of models (STOP and SLOWDOWN). |
+1 for topics. We too have a custom variant of this feature living elsewhere in the system, and like stated @tonynajjar stated here:
we change the "zones" based on the current speed and current steering angle of our robot, maybe at a rate near 10hz. I don't know if it makes sense hitting a service at quite that rate. |
Topics seems reasonable to me 👍 This should be a relatively straight forward contribution for someone interested 😄 Just need to expose a subscriber inside of the polygon class for changes in the stop/slow modes for overriding the polygon. Probably also a parameter for whether to use a parameter-defined static polygon or a dynamically changing one via a topic (but not both). |
Good. The major thing here was agreed: I'll could add this functionality in next CM update. |
Thank you very much! |
Just to state that we just tested this new feature (mainly @kaichie) and that is exactly what we were looking for. |
Does that functionality work on Humble? I need something like that to dynamically change polygons, but I cannot get it to work - params |
Since the collision monitor is supposed to replace a safety scanner, I think it would make sense to emulate field set switching by subscribing to polygons.
Typically fieldsets would change according to speed/steering angle. one could write a separate node that subscribes to speed/steering angle and publishes which fieldset/polygon should be active.
Question here is: does it undermine the safety aspect of the collision monitor?
The text was updated successfully, but these errors were encountered: