Created
January 4, 2022 15:30
-
-
Save tlpss/deb3a03b5ba4073d144811487b588053 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <rclcpp/rclcpp.hpp> | |
#include <moveit/move_group_interface/move_group_interface.h> | |
#include <moveit/planning_scene_interface/planning_scene_interface.h> | |
#include <moveit_msgs/msg/display_robot_state.hpp> | |
#include <moveit_msgs/msg/display_trajectory.hpp> | |
#include <moveit_msgs/msg/attached_collision_object.hpp> | |
#include <moveit_msgs/msg/collision_object.hpp> | |
#include "std_msgs/msg/string.hpp" | |
using std::placeholders::_1; | |
// All source files that use ROS logging should define a file-specific | |
// static const rclcpp::Logger named LOGGER, located at the top of the file | |
// and inside the namespace with the narrowest scope (if there is one) | |
static const rclcpp::Logger LOGGER = rclcpp::get_logger("move_group_demo"); | |
class MinimalSubscriber : public rclcpp::Node | |
{ | |
public: | |
MinimalSubscriber() | |
: Node("minimal_subscriber") | |
{ | |
subscription_ = this->create_subscription<std_msgs::msg::String>( | |
"topic", 10, std::bind(&MinimalSubscriber::topic_callback, this, _1)); | |
} | |
private: | |
void topic_callback(const std_msgs::msg::String::SharedPtr msg) const | |
{ | |
RCLCPP_INFO(this->get_logger(), "I heard: '%s'", msg->data.c_str()); | |
} | |
rclcpp::Subscription<std_msgs::msg::String>::SharedPtr subscription_; | |
}; | |
int main(int argc, char** argv) | |
{ | |
rclcpp::init(argc, argv); | |
rclcpp::NodeOptions node_options; | |
node_options.automatically_declare_parameters_from_overrides(true); | |
auto move_group_node = std::make_shared<MinimalSubscriber>(); | |
rclcpp::executors::SingleThreadedExecutor executor; | |
executor.add_node(move_group_node); | |
std::thread([&executor]() { executor.spin(); }).detach(); | |
static const std::string PLANNING_GROUP = "panda_arm"; | |
moveit::planning_interface::MoveGroupInterface move_group(move_group_node, PLANNING_GROUP); | |
moveit::planning_interface::PlanningSceneInterface planning_scene_interface; | |
const moveit::core::JointModelGroup* joint_model_group = | |
move_group.getCurrentState()->getJointModelGroup(PLANNING_GROUP); | |
rclcpp::spin(std::make_shared<MinimalSubscriber>()); | |
rclcpp::shutdown(); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment