From 1d2cfeb60c64cd96bd2175c6ae4fcde004f570a1 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Fri, 29 May 2020 13:21:16 +0200 Subject: [PATCH] renamings and launch file fix --- CMakeLists.txt | 9 +--- controller_plugins.xml | 3 -- launch/simulation_constraint.launch | 62 ------------------------- launch/simulation_rosrag.launch | 65 +++------------------------ launch/simulation_rosrag_test.launch | 67 +++------------------------- package.xml | 11 ++--- 6 files changed, 19 insertions(+), 198 deletions(-) delete mode 100644 controller_plugins.xml delete mode 100644 launch/simulation_constraint.launch diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a6481f..7a09237 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 2.8.3) -project(panda_simulation) +project(panda_mqtt_connector) add_compile_options(-std=c++14) set(GCC_COVERAGE_COMPILE_FLAGS "-fpermissive") @@ -49,7 +49,7 @@ message(${JSONCPP_LIBRARIES}) add_subdirectory(lib/paho.mqtt.c) -set(PAHO_MQTT_C_LIBRARIES "${panda_simulation_BINARY_DIR}/lib/paho.mqtt.c/src/libpaho-mqtt3a.so") +set(PAHO_MQTT_C_LIBRARIES "${panda_mqtt_connector_BINARY_DIR}/lib/paho.mqtt.c/src/libpaho-mqtt3a.so") set(PAHO_MQTT_C_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/lib/paho.mqtt.c/src") add_subdirectory(lib/paho.mqtt.cpp) @@ -89,16 +89,12 @@ include_directories( add_dependencies(paho-mqttpp3 paho-mqtt3c) -# add custom controller as library -add_library(${PROJECT_NAME}_controllers_lib src/joint_position_controller.cpp) add_library(TrajectoryUtil src/util/TrajectoryUtil.cpp src/util/TrajectoryUtil.h) # Specify libraries to link a library or executable target against -target_link_libraries(${PROJECT_NAME}_controllers_lib ${catkin_LIBRARIES}) target_link_libraries(TrajectoryUtil ${catkin_LIBRARIES}) add_executable(robot_control_node src/robot_control_node.cpp) -add_executable(robot_state_initializer_node src/robot_state_initializer.cpp) add_executable(SafetyAwarePlanner src/SafetyAwarePlanner.cpp src/SafetyEnvironmentCreator.cpp) add_executable(SampleConstraintPlanner src/samples/SampleConstraintPlanner.cpp) add_executable(SampleTimedCartesianPlanner src/samples/SampleTimedCartesianPlanner.cpp) @@ -108,7 +104,6 @@ add_executable(MqttToRosNode src/MqttToRosNode.cpp ${PROTO_SRCS} ${PROTO_HDRS}) add_executable(MqttRosConnectionTestNode src/MqttRosConnectionTestNode.cpp ${PROTO_SRCS} ${PROTO_HDRS}) target_link_libraries(robot_control_node ${catkin_LIBRARIES} boost_filesystem ${JSONCPP_LIBRARIES}) -target_link_libraries(robot_state_initializer_node ${catkin_LIBRARIES}) target_link_libraries(SafetyAwarePlanner ${catkin_LIBRARIES}) target_link_libraries(SampleConstraintPlanner ${catkin_LIBRARIES}) target_link_libraries(SampleTimedCartesianPlanner ${catkin_LIBRARIES}) diff --git a/controller_plugins.xml b/controller_plugins.xml deleted file mode 100644 index c9462ee..0000000 --- a/controller_plugins.xml +++ /dev/null @@ -1,3 +0,0 @@ -<library path="lib/libpanda_simulation_controllers_lib"> - <class name="panda_simulation/JointPositionController" type="panda_simulation::JointPositionController" base_class_type="controller_interface::ControllerBase" /> -</library> \ No newline at end of file diff --git a/launch/simulation_constraint.launch b/launch/simulation_constraint.launch deleted file mode 100644 index 1042803..0000000 --- a/launch/simulation_constraint.launch +++ /dev/null @@ -1,62 +0,0 @@ -<launch> - <param name="robot_description" command="$(find xacro)/xacro $(find franka_description)/robots/panda_arm_hand.urdf.xacro" /> - - <!-- GAZEBO arguments --> - <arg name="paused" default="false" /> - <arg name="use_sim_time" default="true" /> - <arg name="gui" default="true" /> - <arg name="headless" default="false" /> - <arg name="debug" default="false" /> - <arg name="load_gripper" default="true" /> - - <!--launch GAZEBO with own world configuration --> - <include file="$(find gazebo_ros)/launch/empty_world.launch"> - <!-- <arg name="world_name" value="$(find robotics_assisted_tomography)/worlds/tomography.world"/> --> - <arg name="debug" value="$(arg debug)" /> - <arg name="gui" value="$(arg gui)" /> - <arg name="paused" value="$(arg paused)" /> - <arg name="use_sim_time" value="$(arg use_sim_time)" /> - <arg name="headless" value="$(arg headless)" /> - </include> - - <node name="rqt_console" pkg="rqt_console" type="rqt_console" /> - <!-- <node name="rqt_logger_level" pkg="rqt_logger_level" type="rqt_logger_level" /> --> - - <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model panda" /> - - <!-- Load joint controller configurations from YAML file to parameter server --> - <rosparam file="$(find panda_simulation)/config/panda_control.yaml" command="load" /> - - <!-- load the controllers --> - <node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="joint_state_controller panda_arm_controller" /> - <node if="$(arg load_gripper)" name="controller_spawner_hand" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="panda_hand_controller" /> - - - <!-- convert joint states to TF transforms for rviz, etc --> - <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" /> - - <include file="$(find panda_moveit_config)/launch/planning_context.launch"> - <arg name="load_robot_description" value="true" /> - <arg name="load_gripper" value="$(arg load_gripper)" /> - </include> - <include file="$(find panda_moveit_config)/launch/move_group.launch"> - <arg name="load_gripper" value="$(arg load_gripper)" /> - </include> - <group if="$(arg gui)"> - <include file="$(find panda_moveit_config)/launch/moveit_rviz.launch" /> - </group> - - <node name="joint_state_desired_publisher" pkg="topic_tools" type="relay" args="joint_states joint_states_desired" /> - - <!-- launch robot control node for moveit motion planning --> - <node pkg="panda_simulation" type="robot_control_node" name="robot_control_node" output="screen" /> - - <!-- load (not start!) custom joint position controller --> - <node pkg="controller_manager" type="spawner" name="joint_position_launcher" args="--stopped joint_position_controller" /> - - <!-- run custom node for automatic intialization --> - <node pkg="panda_simulation" type="robot_state_initializer_node" name="robot_state_initializer_node" /> - - <node name="SampleConstraintPlanner" pkg="panda_simulation" type="SampleConstraintPlanner" respawn="false" output="screen"/> - -</launch> diff --git a/launch/simulation_rosrag.launch b/launch/simulation_rosrag.launch index 7476a45..b662c1a 100644 --- a/launch/simulation_rosrag.launch +++ b/launch/simulation_rosrag.launch @@ -1,64 +1,9 @@ <launch> - <param name="robot_description" command="$(find xacro)/xacro $(find franka_description)/robots/panda_arm_hand.urdf.xacro" /> - - <!-- GAZEBO arguments --> - <arg name="paused" default="false" /> - <arg name="use_sim_time" default="true" /> - <arg name="gui" default="true" /> - <arg name="headless" default="false" /> - <arg name="debug" default="false" /> - <arg name="load_gripper" default="true" /> - - <!--launch GAZEBO with own world configuration --> - <include file="$(find gazebo_ros)/launch/empty_world.launch"> - <!-- <arg name="world_name" value="$(find robotics_assisted_tomography)/worlds/tomography.world"/> --> - <arg name="debug" value="$(arg debug)" /> - <arg name="gui" value="$(arg gui)" /> - <arg name="paused" value="$(arg paused)" /> - <arg name="use_sim_time" value="$(arg use_sim_time)" /> - <arg name="headless" value="$(arg headless)" /> - </include> - + <include file="$(find panda_simulation)/launch/simulation.launch"/> + <include file="$(find panda_moveit_config)/launch/moveit_rviz.launch" /> <node name="rqt_console" pkg="rqt_console" type="rqt_console" /> - <!-- <node name="rqt_logger_level" pkg="rqt_logger_level" type="rqt_logger_level" /> --> - - <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model panda" /> - - <!-- Load joint controller configurations from YAML file to parameter server --> - <rosparam file="$(find panda_simulation)/config/panda_control.yaml" command="load" /> - - <!-- load the controllers --> - <node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="joint_state_controller panda_arm_controller" /> - <node if="$(arg load_gripper)" name="controller_spawner_hand" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="panda_hand_controller" /> - - - <!-- convert joint states to TF transforms for rviz, etc --> - <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" /> - - <include file="$(find panda_moveit_config)/launch/planning_context.launch"> - <arg name="load_robot_description" value="true" /> - <arg name="load_gripper" value="$(arg load_gripper)" /> - </include> - <include file="$(find panda_moveit_config)/launch/move_group.launch"> - <arg name="load_gripper" value="$(arg load_gripper)" /> - </include> - <group if="$(arg gui)"> - <include file="$(find panda_moveit_config)/launch/moveit_rviz.launch" /> - </group> - - <node name="joint_state_desired_publisher" pkg="topic_tools" type="relay" args="joint_states joint_states_desired" /> - - <!-- launch robot control node for moveit motion planning --> - <node pkg="panda_simulation" type="robot_control_node" name="robot_control_node" output="screen" /> - - <!-- load (not start!) custom joint position controller --> - <node pkg="controller_manager" type="spawner" name="joint_position_launcher" args="--stopped joint_position_controller" /> - - <!-- run custom node for automatic intialization --> - <node pkg="panda_simulation" type="robot_state_initializer_node" name="robot_state_initializer_node" /> - - <node name="TimedPlanner" pkg="panda_simulation" type="TimedPlanner" respawn="false" output="screen"/> - <node name="MqttToRosNode" pkg="panda_simulation" type="MqttToRosNode" respawn="false" output="screen"/> - <node name="RobotStateProvider" pkg="panda_simulation" type="RobotStateProvider" respawn="false" output="screen"/> + <node name="TimedPlanner" pkg="panda_mqtt_connector" type="TimedPlanner" respawn="false" output="screen"/> + <node name="MqttToRosNode" pkg="panda_mqtt_connector" type="MqttToRosNode" respawn="false" output="screen"/> + <node name="RobotStateProvider" pkg="panda_mqtt_connector" type="RobotStateProvider" respawn="false" output="screen"/> </launch> diff --git a/launch/simulation_rosrag_test.launch b/launch/simulation_rosrag_test.launch index d9e5a92..c1b2c2c 100644 --- a/launch/simulation_rosrag_test.launch +++ b/launch/simulation_rosrag_test.launch @@ -1,65 +1,10 @@ <launch> - <param name="robot_description" command="$(find xacro)/xacro $(find franka_description)/robots/panda_arm_hand.urdf.xacro" /> - - <!-- GAZEBO arguments --> - <arg name="paused" default="false" /> - <arg name="use_sim_time" default="true" /> - <arg name="gui" default="true" /> - <arg name="headless" default="false" /> - <arg name="debug" default="false" /> - <arg name="load_gripper" default="true" /> - - <!--launch GAZEBO with own world configuration --> - <include file="$(find gazebo_ros)/launch/empty_world.launch"> - <!-- <arg name="world_name" value="$(find robotics_assisted_tomography)/worlds/tomography.world"/> --> - <arg name="debug" value="$(arg debug)" /> - <arg name="gui" value="$(arg gui)" /> - <arg name="paused" value="$(arg paused)" /> - <arg name="use_sim_time" value="$(arg use_sim_time)" /> - <arg name="headless" value="$(arg headless)" /> - </include> - + <include file="$(find panda_simulation)/launch/simulation.launch"/> + <include file="$(find panda_moveit_config)/launch/moveit_rviz.launch" /> <node name="rqt_console" pkg="rqt_console" type="rqt_console" /> - <!-- <node name="rqt_logger_level" pkg="rqt_logger_level" type="rqt_logger_level" /> --> - - <node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-param robot_description -urdf -model panda" /> - - <!-- Load joint controller configurations from YAML file to parameter server --> - <rosparam file="$(find panda_simulation)/config/panda_control.yaml" command="load" /> - - <!-- load the controllers --> - <node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="joint_state_controller panda_arm_controller" /> - <node if="$(arg load_gripper)" name="controller_spawner_hand" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="panda_hand_controller" /> - - - <!-- convert joint states to TF transforms for rviz, etc --> - <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" /> - - <include file="$(find panda_moveit_config)/launch/planning_context.launch"> - <arg name="load_robot_description" value="true" /> - <arg name="load_gripper" value="$(arg load_gripper)" /> - </include> - <include file="$(find panda_moveit_config)/launch/move_group.launch"> - <arg name="load_gripper" value="$(arg load_gripper)" /> - </include> - <group if="$(arg gui)"> - <include file="$(find panda_moveit_config)/launch/moveit_rviz.launch" /> - </group> - - <node name="joint_state_desired_publisher" pkg="topic_tools" type="relay" args="joint_states joint_states_desired" /> - - <!-- launch robot control node for moveit motion planning --> - <node pkg="panda_simulation" type="robot_control_node" name="robot_control_node" output="screen" /> - - <!-- load (not start!) custom joint position controller --> - <node pkg="controller_manager" type="spawner" name="joint_position_launcher" args="--stopped joint_position_controller" /> - - <!-- run custom node for automatic intialization --> - <node pkg="panda_simulation" type="robot_state_initializer_node" name="robot_state_initializer_node" /> - - <node name="TimedPlanner" pkg="panda_simulation" type="TimedPlanner" respawn="false" output="screen"/> - <node name="MqttToRosNode" pkg="panda_simulation" type="MqttToRosNode" respawn="false" output="screen"/> - <node name="MqttRosConnectionTestNode" pkg="panda_simulation" type="MqttRosConnectionTestNode" respawn="false" output="screen"/> - <node name="RobotStateProvider" pkg="panda_simulation" type="RobotStateProvider" respawn="false" output="screen"/> + <node name="TimedPlanner" pkg="panda_mqtt_connector" type="TimedPlanner" respawn="false" output="screen"/> + <node name="MqttToRosNode" pkg="panda_mqtt_connector" type="MqttToRosNode" respawn="false" output="screen"/> + <node name="MqttRosConnectionTestNode" pkg="panda_mqtt_connector" type="MqttRosConnectionTestNode" respawn="false" output="screen"/> + <node name="RobotStateProvider" pkg="panda_mqtt_connector" type="RobotStateProvider" respawn="false" output="screen"/> </launch> diff --git a/package.xml b/package.xml index af9830f..8a2ba17 100644 --- a/package.xml +++ b/package.xml @@ -1,19 +1,20 @@ <?xml version="1.0"?> <package format="2"> - <name>panda_simulation</name> - <version>0.2.0</version> - <description>The panda_simulation package</description> + <name>panda_mqtt_connector</name> + <version>0.1.0</version> + <description>MQTT control interface for the Franka Emika Panda robot</description> <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --> - <maintainer email="erdal@todo.todo">erdal</maintainer> + <maintainer email="sebastian.ebert@tu-dresden.de">Sebastian Ebert</maintainer> + <maintainer email="johannes.mey@tu-dresden.de">Johannes Mey</maintainer> <!-- One license tag required, multiple allowed, one license per tag --> <!-- Commonly used license strings: --> <!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --> - <license>TODO</license> + <license>BSD</license> <buildtool_depend>catkin</buildtool_depend> -- GitLab