cbteeple / pressure_control_interface

The top-level control interface for controlling a Ctrl-P pressure control system.
https://ctrl-p.cbteeple.com/latest/top-level
MIT License
1 stars 1 forks source link

Control multiple pressure control systems together #3

Closed cbteeple closed 3 years ago

cbteeple commented 3 years ago

Feature description

Run two or more pressure controllers as if they are one big pressure control system. Right now the pressure control functions work for one single pressure control system over serial, but it would be nice to chain several system together for more channels.

The ideal solution

This is conceptually simple: define how many channels each pressure controller has, what order they should be controlled in, and split up trajectories to be sent to both controllers, and synchronize the run and stop commands.

Inputs:

Proposed Functionality:

Alternatives?

This functionality is partially-implemented when using the ROS driver for this system. In ROS, you can spawn several controller nodes, one for each physical device you're controlling. If you split up your trajectory into two parts, you can send it simultaneously to several pressure controllers.

Pros:

Cons:

Will this require substantial changes to the codebase?

Yes - This requires a fundamental redesign of how we handle communication, since right now it's just assumed we are using only one controller. We will need to implement an array of controllers. In addition, the controller setup file changes form as well.