Skip to content

isselab/featxsuite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FeatX

License

This work presents a novel technique to load and unload robot features to and from a configuration. It extends the concept of feature models to support flexible feature binding. This is achieved by combining time and mode bindings to deliver a robust mechanism for managing variability in such systems. This technique is delivered via a domain-specific language that can be used to define features and bind them according to the user's prefereed time and mode bindings. The configuration and reconfiguration process is managed by a configurator tool, with the entire implementation integrated via the ros2cli. We evaluated our tool with case studies drawn from a simulated warehouse scenario.

Overview

featxcli: provides infrastructure for the featx command and its verbs integrated into ros2cli

featxbinder: rclcpp module responsible for managing manual and plugin compositions of features

featx_interfaces: custom rclpy infrastructure that makes provision for rclpy plugins via services

Project Website

https://jgyimah.github.io/featx/

 ███████████                     █████    █████ █████
░░███░░░░░░█                    ░░███    ░░███ ░░███ 
 ░███   █ ░   ██████   ██████   ███████   ░░███ ███  
 ░███████    ███░░███ ░░░░░███ ░░░███░     ░░█████   
 ░███░░░█   ░███████   ███████   ░███       ███░███  
 ░███  ░    ░███░░░   ███░░███   ░███ ███  ███ ░░███ 
 █████      ░░██████ ░░████████  ░░█████  █████ █████
░░░░░        ░░░░░░   ░░░░░░░░    ░░░░░  ░░░░░ ░░░░░ 

About

FeatX: A lightweight ros2-based command line tool which extends feature models to support flexible feature binding. It provides a CLI, DSL and a configurator to manage the variability of robotic systems

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors