SMACH sequences from configuration file
I am implementing my first ROS solution. I need to control some motors and sensors in various sequences. Some stuff must execute in parallel and some only if certain conditions are present.
It is my impression that the most standard way of doing this in ROS is:
- use ROS actions, e.g. to run a motor
- use SMACH for tasks, e.g. to create a sequence of ROS actions: move motor X, then move motor Y, then move both XY in parallel.
I want to be able to create such SMACH tasks from one or more configuration files. For example, I want to define an initialization task which moves motors to certain start positions, in a certain order and with a certain speed. The configuration should be able to create named tasks, and then combine such tasks into new, higher level tasks. The definition of a task should allow specifying parameters that affects the actions, e.g. motor speed.
Does a system like that exist in the ROS eco system or do you know of concepts that I can adapt to my need? Any input to the above plans are welcome, thanks.