ROS Driver
Dependencies
Hardware
- A pressure control system running my Ctrl-P firmware
- A desktop computer running Linux (currently tested only in Ubuntu 18.04)
Software
- 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 requirements file.
pip install -r requirements.txt
- All python dependencies are managed in the requirements file.
Installation
Install things in this order to ensure everything works:
- Clone the Python Control Interface package to the
src
folder of your catkin workspace.- Go into the folder and switch to the
devel-ros
branchcd pressure_control_interface git checkout devel-ros
- Go into the folder and switch to the
- 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
- Install rqt_multiplot (instructions selected from documentation)
sudo apt-get install ros-melodic-rqt sudo apt-get install libqwt-dev sudo apt-get update sudo apt-get install ros-melodic-rqt-multiplot
- In the root folder of this package, run
pip install -r requirements.txt
to install python dependencies for this package and the “pressure_control_interface” package. - In the root folder of your catkin workspace, run
catkin_make
to enable the custom python modules in this package to work. - Add the teensy udev rules to enable communication with the pressure controller.
- Download the udev rule file. Be sure to save it as “00-teensy.rules”
- Open a terminal in the Downloads folder and run
sudo cp 00-teensy.rules /etc/udev/rules.d/
to copy the file to the correct location. - Log out of Ubuntu and log back in.
Usage
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