<launch> <!-- The planning and execution components of MoveIt! configured to run --> <!-- using the ROS-Industrial interface. --> <!-- the "sim" argument controls whether we connect to a Simulated or Real robot --> <!-- - if sim=false, a robot_ip argument is required --> <arg name="sim" default="true" /> <arg name="robot_ip" unless="$(arg sim)" /> <!-- load robot specific joint names (in order expected by controller) --> <rosparam command="load" file="$(find ur5_moveit_config)/config/joint_names.yaml"/> <!-- load the robot_description parameter before launching ROS-I nodes --> <include file="$(find ur5_moveit_config)/launch/planning_context.launch" > <arg name="load_robot_description" value="true" /> </include> <!-- run the robot simulator and action interface nodes --> <group if="$(arg sim)"> <include file="$(find industrial_robot_simulator)/launch/robot_interface_simulator.launch" /> </group> <!-- run the "real robot" interface nodes --> <!-- - this typically includes: robot_state, motion_interface, and joint_trajectory_action nodes --> <!-- - replace these calls with appropriate robot-specific calls or launch files --> <group unless="$(arg sim)"> <!-- UR driver consists of a single node - does not currrently follow ROS-I convention --> <node name="ur_driver" pkg="ur_driver" type="driver.py" args="$(arg robot_ip)" > <remap from="follow_joint_trajectory/" to="joint_trajectory_action/"/> </node> </group> <!-- publish the robot state (tf transforms) --> <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /> <include file="$(find ur5_moveit_config)/launch/move_group.launch"> <arg name="publish_monitored_planning_scene" value="true" /> </include> <include file="$(find ur5_moveit_config)/launch/moveit_rviz.launch"> <arg name="config" value="true"/> </include> <include file="$(find ur5_moveit_config)/launch/default_warehouse_db.launch" /> </launch>