moveit2
The MoveIt Motion Planning Framework for ROS 2.
move_group_fixture.hpp
Go to the documentation of this file.
1 // Copyright 2024 Intrinsic Innovation LLC.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
19 #pragma once
20 
21 #include <memory>
22 
23 #include <gtest/gtest.h>
26 #include <rclcpp/rclcpp.hpp>
27 
30 class MoveGroupFixture : public ::testing::Test
31 {
32 public:
34  ~MoveGroupFixture() override;
35 
36 protected:
37  void SetUp() override;
38  void TearDown() override;
39 
40  rclcpp::Node::SharedPtr node_;
41  warehouse_ros::DatabaseConnection::Ptr db_;
42  std::shared_ptr<moveit::planning_interface::MoveGroupInterface> move_group_;
43  std::string move_group_name_;
44 
45 private:
46  void spinNode();
47 
48  std::thread spin_thread_;
49  std::atomic<bool> is_spinning_;
50 };
Test fixture to spin up a node to start a move group with.
void TearDown() override
void SetUp() override
~MoveGroupFixture() override
rclcpp::Node::SharedPtr node_
warehouse_ros::DatabaseConnection::Ptr db_
std::string move_group_name_
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > move_group_