Overview of the system
The system consists of several ROS2 nodes, each specialized for its own task and divided into different ROS2 packages within the repository:
- panda_interfaces: consisting of messages, services and actions interfaces used in the other packages.
- panda_world: containing the files relative to the simulation and a few nodes bridging the ROS2 controller and keypoint recognition system with the gazebo simulation.
- kinect_ros2: the kinect_ros2 package, allowing the publication of images and depth maps from the kinect v1 to the ROS2 network.
- yolo_ros: the yolo_ros ROS2 package, used for the keypoint recognition using the Ultralytics YOLO models.
- image_processing: consisting of the skeleton tracker algorithm that publishes the TFs of the keypoint, along with other messages regarding the skeleton, on the ROS2 network.
- panda_utils: consisting of the nodes used for the control and data publication of the Franka Emika Panda robot used in this work.
- demo_visulization_app: containing a ROS2 node allowing the activation of the robot's controller and launching the demo.