<launch> <!-- specify the planning pipeline --> <arg name="pipeline" default="ompl" /> <!-- By default, we do not start a database (it can be large) --> <arg name="db" default="false" /> <!-- Allow user to specify database location --> <arg name="db_path" default="$(find panda_moveit_config)/default_warehouse_mongo_db" /> <!-- By default, we are not in debug mode --> <arg name="debug" default="false" /> <!-- By default we will load the gripper --> <arg name="load_gripper" default="true" /> <!-- By default, we will load or override the robot_description --> <arg name="load_robot_description" default="true"/> <!-- Choose controller manager: fake, simple, or ros_control --> <arg name="moveit_controller_manager" default="fake" /> <!-- Set execution mode for fake execution controllers --> <arg name="fake_execution_type" default="interpolate" /> <!-- Transmission used for joint control: position, velocity, or effort --> <arg name="transmission" /> <!-- By default, hide joint_state_publisher's GUI in 'fake' controller_manager mode --> <arg name="use_gui" default="false" /> <arg name="use_rviz" default="true" /> <!-- Use rviz config for MoveIt tutorial --> <arg name="rviz_tutorial" default="false" /> <!-- If needed, broadcast static tf for robot root --> <node pkg="tf2_ros" type="static_transform_publisher" name="virtual_joint_broadcaster_0" args="0 0 0 0 0 0 world panda_link0" /> <group if="$(eval arg('moveit_controller_manager') == 'fake')"> <!-- We do not have a real robot connected, so publish fake joint states via a joint_state_publisher MoveIt's fake controller's joint states are considered via the 'source_list' parameter --> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" unless="$(arg use_gui)"> <rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam> </node> <!-- If desired, a GUI version is available allowing to move the simulated robot around manually This corresponds to moving around the real robot without the use of MoveIt. --> <node name="joint_state_publisher" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" if="$(arg use_gui)"> <rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam> </node> <!-- Given the published joint states, publish tf for the robot links --> <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" /> </group> <!-- Run the main MoveIt executable without trajectory execution (we do not have controllers configured by default) --> <include file="$(dirname)/move_group.launch" pass_all_args="true"> <arg name="allow_trajectory_execution" value="true" /> <arg name="info" value="true" /> </include> <!-- Run Rviz and load the default config to see the state of the move_group node --> <include file="$(dirname)/moveit_rviz.launch" if="$(arg use_rviz)"> <arg name="rviz_tutorial" value="$(arg rviz_tutorial)"/> <arg name="rviz_config" value="$(dirname)/moveit.rviz"/> <arg name="debug" value="$(arg debug)"/> </include> <!-- If database loading was enabled, start mongodb as well --> <include file="$(dirname)/default_warehouse_db.launch" if="$(arg db)"> <arg name="moveit_warehouse_database_path" value="$(arg db_path)"/> </include> </launch>