The ROS package is divided into three nodes:
- armcontrol - calculates the joint velocities of the arm using the twist and space Jacobian and uses the Sawyer API to set its joint velocities and retrieve end effector position, which is published.
- pong_master - contains the game logic, such as boundary checking and paddle reflection, and publishes updated twist used for armcontrol. Also handles the GUI.
- sense_hands - reads serial distance sensor data sent by Arduino and publishes it to a topic.
The launch file also has configurable parameters for ball speed and paddle size.
Please see project repository for details and documentation.