We use ROS as our communication framework to allow different processes to talk with each other.
The official ROS tutorials are very comprehensive, however I found the way they present ROS to a beginner results in a very steep learning curve. Here is our own set of tutorials, which are a work in progress.
Check out this page for common errors and fixes: common errors and fixes