A module to do pressure control in ROS with a Ctrl-P pressure control system.
You can always keep up to date by using the version in the master branch. For previous stable versions, checkout the releases.
- A pressure control system running my Ctrl-P firmware
- A desktop computer running Linux (currently tested only in Ubuntu 18.04)
- ROS Melodic
- The rqt_multiplot package for nice plot layouts and custom axes
- Cython HID Library from Trezor:
- The Python Control Interface package for this project
- Various python libraries:
- All python dependencies are managed in the reqirements file.
pip install -r requirements.txt
- All python dependencies are managed in the reqirements file.
- Clone the Python Control Interface package to the
src
folder of your catkin workspace. - Clone this package to the
src
folder of your catkin workspace. - Install cython-hid dependencies (as specified in the Cython HID Library)
sudo apt-get install python-dev libusb-1.0-0-dev libudev-dev sudo pip install --upgrade setuptools
- In the root folder of this package, run
pip install -r requirements.txt
to install python dependencies. - In the root folder of your catkin workspace, run
catkin_make
to enable the custom python modules in this package to work.
This driver is split into two ROS packages:
- pressure_trajectory_ros is where trajectories are set up, built, and stored for execution
- pressure_control_ros is the main driver that actually interfaces with the pressure control hardware
The Ctrl-P project is a full-stack pneumatic control system featuring smooth control of pressure at a high bandwidth.
Ctrl-P has four parts:
- Arduino-Based Firmware: Contains the low-level pressure control
- Python Hardware Interface: The low-level device drivers and command handling via serial comms
- Python Control Interface: High-level handling of pressure trajectories in raw python
- ROS Driver: High-level handling of pressure trajectories in ROS
Related Packages:
- Pressure Controller Skills: Build complex parametric skills using straightforward definition files.
- Visual Servoing: Example of setting up a realtime feedback controller.