Design of a Human-Assistance Robot System with Contextual Action Recognition
Organizations: Warsaw University of Technology, Warsaw, Poland · SANO Centre for Computational Personalized Medicine, Krakow, Poland
Abstract
This paper presents a conceptual design for a proactive human assisting robot system capable of recognizing human activities and responding proactively. The system leverages contextual human activity recognition to interpret human actions across diverse contexts, while behavior trees are utilized to define dynamic and interpretable robot behaviors. We outline the system architecture, incorporating contextual human action recognition (HAR), behavior trees (BTs), and ROS, using the Spot robot platform as a representative example. We explain how HAR enables the robot to provide proactive assistance, discuss its limitations, and introduce methodologies for contextual HAR to address these limitations, thereby enhancing the robot's decision-making in complex human activity scenarios.
Figures & tables
| Aspect | BTs | FSMs |
|---|---|---|
| Structure | Hierarchical tree of nodes | Flat collection of states and transitions |
| Modularity | High; subtrees can be reused colledanchise2017behavior | Low; difficult to reuse states |
| Scalability | Scales well with complexity | Poor scalability; prone to state explosion colledanchise2018behavior |
| Flexibility | Allows dynamic modification at runtime marzinotto2014towards | Static; changes require redesign |
| Debugging | Easier due to hierarchical nature | Can be difficult with complex transitions |
| Library | Language | ROS Integration | Key Features |
|---|---|---|---|
| BehaviorTree.CPP faconti2020behaviortreecpp | C++ | Yes | High performance, Groot visualization, asynchronous actions |
| PyTrees stonier2015pytrees | Python | Yes | Ease of use, rapid prototyping, ROS support |
| BehaviorTree.NET | C# | Limited | Suitable for .NET applications |
| Aspect | Spot SDK | Spot ROS integration |
|---|---|---|
| Communication Protocol | gRPC-based API | ROS messages and services |
| Language Support | Multiple languages (Python, C++, Java, etc.) bostondynamics2020spotSDK | Primarily C++ and Python within ROS |
| Ease of Integration | Direct access to robot functionalities via SDK | Seamless integration with ROS-based systems and tools |
| Community Support | Official support from Boston Dynamics | Community-driven support and development |
| Tools and Libraries | SDK-specific tools; requires custom development | Access to ROS tools ( rviz , rosbag , tf ) and libraries |
Assistive Robotics
Assistive robotics develops robots and wearable devices that support mobility, daily activities, rehabilitation, and care.
See all 208 papers