diff --git a/config/tiago_dual_arm_module_default.yaml b/config/tiago_dual_arm_module_default.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3d8ab3f318c371af51483954f931037928e5862d
--- /dev/null
+++ b/config/tiago_dual_arm_module_default.yaml
@@ -0,0 +1,26 @@
+arm_module_rate_hz: 1.0
+
+move_num_retries: 1
+move_feedback_watchdog_time_s: 1.0
+move_enable_watchdog: False
+move_timeout_s: 10.0
+move_enable_timeout: True
+move_enabled: True
+
+#joint states watchdog time
+js_watchdog_time_s: 1.0
+
+planner_id: "RRTkConfigDefault"
+group_name: "arm_left_torso"
+max_plan_attempts: 5
+max_plan_time: 10.0
+max_vel_scale: 1.0
+end_effector_tool: "arm_left_tool_link"
+
+ws_frame_id: "/base_footprint"
+ws_x_min: -1.0
+ws_y_min: -1.0
+ws_z_min: -1.0
+ws_x_max: 1.0
+ws_y_max: 1.0
+ws_z_max: 1.0
diff --git a/config/tiago_dual_move_groups.yaml b/config/tiago_dual_move_groups.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..050e19b78b406c78d7e4fcd4fe4163545361af44
--- /dev/null
+++ b/config/tiago_dual_move_groups.yaml
@@ -0,0 +1,39 @@
+move_groups:
+  - arm_left
+  - arm_left_torso
+  - arm_right
+  - arm_right_torso
+arm_left:
+  - arm_left_1_joint
+  - arm_left_2_joint
+  - arm_left_3_joint
+  - arm_left_4_joint
+  - arm_left_5_joint
+  - arm_left_6_joint
+  - arm_left_7_joint
+arm_left_torso:
+  - torso_lift_joint
+  - arm_left_1_joint
+  - arm_left_2_joint
+  - arm_left_3_joint
+  - arm_left_4_joint
+  - arm_left_5_joint
+  - arm_left_6_joint
+  - arm_left_7_joint
+arm_right:
+  - arm_right_1_joint
+  - arm_right_2_joint
+  - arm_right_3_joint
+  - arm_right_4_joint
+  - arm_right_5_joint
+  - arm_right_6_joint
+  - arm_right_7_joint
+arm_right_torso:
+  - torso_lift_joint
+  - arm_right_1_joint
+  - arm_right_2_joint
+  - arm_right_3_joint
+  - arm_right_4_joint
+  - arm_right_5_joint
+  - arm_right_6_joint
+  - arm_right_7_joint
diff --git a/launch/tiago_dual_arm_client.launch b/launch/tiago_dual_arm_client.launch
new file mode 100644
index 0000000000000000000000000000000000000000..7979f3ea8dcb37e527570d11ec333a3c9a6707a4
--- /dev/null
+++ b/launch/tiago_dual_arm_client.launch
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launch>
+  <arg name="node_name" default="arm_client" />
+  <arg name="output" default="screen" />
+  <arg name="launch_prefix" default="" />
+  <arg name="config_file" default="$(find tiago_arm_module)/config/tiago_dual_arm_module_default.yaml" />
+  <arg name="move_groups_file" default="$(find tiago_arm_module)/config/tiago_dual_move_groups.yaml" />
+  <arg name="joint_states_topic" default="/joint_states"/>
+  <arg name="arm_action" default="/move_group"/>
+  <arg name="planning_scene_topic" default="/planning_scene"/>
+  <arg name="get_planning_scene_service" default="/get_planning_scene"/>
+
+  <include file="$(find tiago_arm_module)/launch/tiago_arm_client.launch">
+    <arg name="node_name"                  value="$(arg node_name)" />
+    <arg name="output"                     value="$(arg output)" />
+    <arg name="launch_prefix"              value="$(arg launch_prefix)" />
+    <arg name="config_file"                value="$(arg config_file)" />
+    <arg name="move_groups_file"           value="$(arg move_groups_file)" />
+    <arg name="joint_states_topic"         value="$(arg joint_states_topic)"/>
+    <arg name="arm_action"                 value="$(arg arm_action)"/>
+    <arg name="planning_scene_topic"       value="$(arg planning_scene_topic)"/>
+    <arg name="get_planning_scene_service" value="$(arg get_planning_scene_service)"/>
+  </include>
+
+</launch>
+