This is a draft for an alternative restrictions handling system which utilises the python eval functionality in an efficient manner to filter out nodes which do not match a given condition.
Some examples are included towards the end of restrictions_handler.py showing how this can be utilised with the existing restriction conditions in practice, while also offering new facilities.
A key limitation with the old approach was the assumption that planning restrictions were only capable of being categorised as robot type or task type, and new code needs to be added for any other categorising. This alternative approach by contrast is much more dynamic.
Additionally a qol update offers the inclusion of the restriction condition in the launch file so this is not needed to be published from a separate node (though this can still be done to offer dynamic changes).
I still have to include a ROS2 launch file and fully test the functionality, but am curious in the meantime to hear the thoughts of @marc-hanheide and @francescodelduchetto as to whether this is a reasoned approach.
This is a draft for an alternative restrictions handling system which utilises the python eval functionality in an efficient manner to filter out nodes which do not match a given condition.
Some examples are included towards the end of
restrictions_handler.py
showing how this can be utilised with the existing restriction conditions in practice, while also offering new facilities.A key limitation with the old approach was the assumption that planning restrictions were only capable of being categorised as robot type or task type, and new code needs to be added for any other categorising. This alternative approach by contrast is much more dynamic.
Additionally a qol update offers the inclusion of the restriction condition in the launch file so this is not needed to be published from a separate node (though this can still be done to offer dynamic changes).
I still have to include a ROS2 launch file and fully test the functionality, but am curious in the meantime to hear the thoughts of @marc-hanheide and @francescodelduchetto as to whether this is a reasoned approach.