/ROS2_DDS_Service_Demo

Demo application to demonstrate communication between ROS2 and DDS domains based on service-client communication model

Primary LanguageC

ROS2_DDS_Service_Demo

Architecture

WhatsApp Image 2023-06-01 at 3 24 41 PM

Prerequisites

DDS Server

Terminal 1 (XRCE-Agent)

  • Run XRCE Agent using the following command cd /usr/local/bin && MicroXRCEAgent udp4 -p 2019

Terminal 2 (XRCE-Client)

  • In the DDS_Server folder, compile the Server file as gcc Server.c -lmicrocdr -lmicroxrcedds_client
  • Run the Server script as ./a.out 127.0.0.1 2019

Terminal 3 (Integration Service)

  • Source ROS 2 installation
  • Source Integration Services from your workspace
  • Run the service using the following command integration-service fastdds_server__addtwoints.yaml from the DDS_Server folder

Terminal 4 (ROS-2)

  • Source ROS-2 installation
  • Run the ROS-2 client as ros2 service call /add_two_ints example_interfaces/srv/AddTwoInts "{a: 5, b: 17}"

ROS2 Server

Terminal 1 (ROS-2)

  • Source ROS-2 installation
  • Run the ROS-2 server as ros2 run demo_nodes_cpp add_two_ints_server

Terminal 2 (Integration Service)

  • Source ROS 2 installation
  • Source Integration Services from your workspace
  • Run the service using the following command integration-service ros2_server__addtwoints.yaml from the ROS2_Server folder

Terminal 3 (XRCE-Agent)

  • Run XRCE Agent using the following command cd /usr/local/bin && MicroXRCEAgent udp4 -p 2019

Terminal 4 (XRCE-Client)

  • In the ROS2_Server folder, compile the Client file as gcc Client.c -lmicrocdr -lmicroxrcedds_client
  • Run the Client script as ./a.out 127.0.0.1 2019