Implement Py Trees
User Story/Description
As Pepper I want to take decisions in order to complete competition tasks.
Definition of Done
Py Trees implementation exists and have basic information integrated such as Pepper battery level, known people, locations etc. Additionally, there exist mock behaviors for the General Purpose Service Robot task in Stage 1 of the competition.
How
Divide this issue up into more issues containing
- Read the documentation for Py Trees, create an understanding of the package to create better issues
- For every data, a new issue (e.g. implement 'blackboard' for battery, etc
Task suggestions:
- Create a Py Trees node in lhw_intelligence
- Put relevant information (battery, joints, known people) in the "blackboard"
- On full battery, make Pepper say "My battery is full"
- On low battery < 10% make Pepper say "My battery is low and I need charging"
- On people in frame, say "Hello"
- Make Pepper show a yes or no image on the tablet upon hearing "yes" or "no"
- Make Pepper move forward 1 meter upon request
- Make Pepper visit a specific website on the tablet on request
- Make Pepper wake up (to "Life") by a tap on its head
Resources
- Rule Book https://robocupathome.github.io/RuleBook/rulebook/master.pdf
- Py Trees API Documentation https://py-trees.readthedocs.io/en/devel/
- Py Trees tutorial documentation https://py-trees-ros-tutorials.readthedocs.io/en/devel/tutorials.html