From 3aeaaf8b6b4cc3ca79b1bf968247d26cf046fc4c Mon Sep 17 00:00:00 2001 From: Young Joon Lee Date: Mon, 13 May 2024 13:18:34 +0900 Subject: [PATCH] feat: Add collision object to planning scene --- .../figs/planning_around_object.png | Bin 0 -> 96306 bytes .../planning_around_objects/hello_moveit.cpp | 124 ++++++++++++++++++ .../week11/planning_around_objects/index.md | 94 +++++++++++++ 3 files changed, 218 insertions(+) create mode 100644 src/cobots2024/book/week11/planning_around_objects/figs/planning_around_object.png create mode 100644 src/cobots2024/book/week11/planning_around_objects/hello_moveit.cpp create mode 100644 src/cobots2024/book/week11/planning_around_objects/index.md diff --git a/src/cobots2024/book/week11/planning_around_objects/figs/planning_around_object.png b/src/cobots2024/book/week11/planning_around_objects/figs/planning_around_object.png new file mode 100644 index 0000000000000000000000000000000000000000..7715e578b736abd2a770fc699203ffd60df3c9da GIT binary patch literal 96306 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 z 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 literal 0 HcmV?d00001 diff --git a/src/cobots2024/book/week11/planning_around_objects/hello_moveit.cpp b/src/cobots2024/book/week11/planning_around_objects/hello_moveit.cpp new file mode 100644 index 0000000..ef98f24 --- /dev/null +++ b/src/cobots2024/book/week11/planning_around_objects/hello_moveit.cpp @@ -0,0 +1,124 @@ +#include +#include +#include + +#include +#include +#include + +int main(int argc, char* argv[]) +{ + // Initialize ROS and create the Node + rclcpp::init(argc, argv); + auto const node = std::make_shared( + "hello_moveit", rclcpp::NodeOptions().automatically_declare_parameters_from_overrides(true)); + + // Create a ROS logger + auto const logger = rclcpp::get_logger("hello_moveit"); + + // We spin up a SingleThreadedExecutor for the current state monitor to get + // information about the robot's state. + rclcpp::executors::SingleThreadedExecutor executor; + executor.add_node(node); + auto spinner = std::thread([&executor]() { executor.spin(); }); + + // Create the MoveIt MoveGroup Interface + using moveit::planning_interface::MoveGroupInterface; + auto move_group_interface = MoveGroupInterface(node, "panda_arm"); + + // Construct and initialize MoveItVisualTools + auto moveit_visual_tools = + moveit_visual_tools::MoveItVisualTools{ node, "panda_link0", rviz_visual_tools::RVIZ_MARKER_TOPIC, + move_group_interface.getRobotModel() }; + moveit_visual_tools.deleteAllMarkers(); + moveit_visual_tools.loadRemoteControl(); + + // Create a closure for updating the text in rviz + auto const draw_title = [&moveit_visual_tools](auto text) { + auto const text_pose = [] { + auto msg = Eigen::Isometry3d::Identity(); + msg.translation().z() = 1.0; + return msg; + }(); + moveit_visual_tools.publishText(text_pose, text, rviz_visual_tools::WHITE, rviz_visual_tools::XLARGE); + }; + auto const prompt = [&moveit_visual_tools](auto text) { moveit_visual_tools.prompt(text); }; + auto const draw_trajectory_tool_path = + [&moveit_visual_tools, jmg = move_group_interface.getRobotModel()->getJointModelGroup("panda_arm")]( + auto const trajectory) { moveit_visual_tools.publishTrajectoryLine(trajectory, jmg); }; + + // Set a target Pose + auto const target_pose = [] { + geometry_msgs::msg::Pose msg; + msg.orientation.w = 1.0; + msg.position.x = 0.28; + msg.position.y = 0.4; // <---- This value was changed + msg.position.z = 0.5; + return msg; + }(); + move_group_interface.setPoseTarget(target_pose); + + // Create collision object for the robot to avoid + auto const collision_object = [frame_id = move_group_interface.getPlanningFrame()] { + moveit_msgs::msg::CollisionObject collision_object; + collision_object.header.frame_id = frame_id; + collision_object.id = "box1"; + shape_msgs::msg::SolidPrimitive primitive; + + // Define the size of the box in meters + primitive.type = primitive.BOX; + primitive.dimensions.resize(3); + primitive.dimensions[primitive.BOX_X] = 0.5; + primitive.dimensions[primitive.BOX_Y] = 0.1; + primitive.dimensions[primitive.BOX_Z] = 0.5; + + // Define the pose of the box (relative to the frame_id) + geometry_msgs::msg::Pose box_pose; + box_pose.orientation.w = 1.0; + box_pose.position.x = 0.2; + box_pose.position.y = 0.2; + box_pose.position.z = 0.25; + + collision_object.primitives.push_back(primitive); + collision_object.primitive_poses.push_back(box_pose); + collision_object.operation = collision_object.ADD; + + return collision_object; + }(); + + // Add the collision object to the scene + moveit::planning_interface::PlanningSceneInterface planning_scene_interface; + planning_scene_interface.applyCollisionObject(collision_object); + + // Create a plan to that target pose + prompt("Press 'next' in the RvizVisualToolsGui window to plan"); + draw_title("Planning"); + moveit_visual_tools.trigger(); + auto const [success, plan] = [&move_group_interface] { + moveit::planning_interface::MoveGroupInterface::Plan msg; + auto const ok = static_cast(move_group_interface.plan(msg)); + return std::make_pair(ok, msg); + }(); + + // Execute the plan + if (success) + { + draw_trajectory_tool_path(plan.trajectory_); + moveit_visual_tools.trigger(); + prompt("Press 'next' in the RvizVisualToolsGui window to execute"); + draw_title("Executing"); + moveit_visual_tools.trigger(); + move_group_interface.execute(plan); + } + else + { + draw_title("Planning Failed!"); + moveit_visual_tools.trigger(); + RCLCPP_ERROR(logger, "Planing failed!"); + } + + // Shutdown ROS + rclcpp::shutdown(); + spinner.join(); + return 0; +} diff --git a/src/cobots2024/book/week11/planning_around_objects/index.md b/src/cobots2024/book/week11/planning_around_objects/index.md new file mode 100644 index 0000000..6e4020d --- /dev/null +++ b/src/cobots2024/book/week11/planning_around_objects/index.md @@ -0,0 +1,94 @@ +# 물체 주변 계획하기 + +이 튜토리얼에서는 계획 장면에 물체를 삽입하고 그 주변에서 계획하는 방법을 소개합니다. + +## 단계 + +### 1. Planning Scene Interface 포함 추가 + +소스 파일 상단의 include 목록에 다음을 추가하세요: + +```cpp +#include +``` + +### 2. 목표 자세 변경 + +먼저 목표 자세를 다음과 같이 수정하여 로봇이 다른 위치로 계획하도록 합니다: + +```cpp +// 목표 자세 설정 +auto const target_pose = [] { + geometry_msgs::msg::Pose msg; + msg.orientation.w = 1.0; + msg.position.x = 0.28; + msg.position.y = 0.4; // <---- 이 값이 변경되었습니다 + msg.position.z = 0.5; + return msg; +}(); +move_group_interface.setPoseTarget(target_pose); +``` + +### 3. 충돌 물체 생성 + +다음 코드 블록에서는 충돌 물체를 생성합니다. 먼저 주목할 점은 이 물체가 로봇의 프레임에 배치된다는 것입니다. 장면에서 장애물의 위치를 보고하는 인식 시스템이 있다면 이런 종류의 메시지를 구축할 것입니다. 이는 단순한 예제이므로 수동으로 생성하고 있습니다. 이 코드 블록의 끝 부분에서 주목할 점은 이 메시지의 작업을 `ADD`로 설정한다는 것입니다. 이렇게 하면 물체가 충돌 장면에 추가됩니다. 이전 단계에서 목표 자세를 설정한 코드와 계획을 생성하는 코드 사이에 이 코드 블록을 배치하세요. + +```cpp +// 로봇이 회피할 충돌 물체 생성 +auto const collision_object = [frame_id = + move_group_interface.getPlanningFrame()] { + moveit_msgs::msg::CollisionObject collision_object; + collision_object.header.frame_id = frame_id; + collision_object.id = "box1"; + shape_msgs::msg::SolidPrimitive primitive; + + // 미터 단위로 상자의 크기 정의 + primitive.type = primitive.BOX; + primitive.dimensions.resize(3); + primitive.dimensions[primitive.BOX_X] = 0.5; + primitive.dimensions[primitive.BOX_Y] = 0.1; + primitive.dimensions[primitive.BOX_Z] = 0.5; + + // 상자의 자세 정의 (frame_id 기준) + geometry_msgs::msg::Pose box_pose; + box_pose.orientation.w = 1.0; + box_pose.position.x = 0.2; + box_pose.position.y = 0.2; + box_pose.position.z = 0.25; + + collision_object.primitives.push_back(primitive); + collision_object.primitive_poses.push_back(box_pose); + collision_object.operation = collision_object.ADD; + + return collision_object; +}(); +``` + +### 4. 계획 장면에 물체 추가 + +마지막으로 이 물체를 충돌 장면에 추가해야 합니다. 이를 위해 `PlanningSceneInterface` 객체를 사용합니다. 이 객체는 ROS 인터페이스를 사용하여 계획 장면의 변경 사항을 `MoveGroup`에 전달합니다. 이 코드 블록은 충돌 물체를 생성하는 코드 블록 바로 다음에 위치해야 합니다. + +```cpp +// 충돌 물체를 장면에 추가 +moveit::planning_interface::PlanningSceneInterface planning_scene_interface; +planning_scene_interface.applyCollisionObject(collision_object); +``` + +### 5. 프로그램 실행 및 변경 사항 관찰 + +이전 튜토리얼에서 했던 것처럼 `demo.launch.py` 스크립트를 사용하여 RViz를 시작하고 프로그램을 실행하세요. Docker 튜토리얼 컨테이너 중 하나를 사용하는 경우 RvizVisualToolsGui 패널이 이미 추가된 다른 RViz 설정을 다음과 같이 지정할 수 있습니다: + +```bash +ros2 launch moveit2_tutorials demo.launch.py rviz_config:=panda_hello_moveit.rviz +``` + +![물체 주변 계획](./figs/planning_around_object.png) + +## 요약 + +- MoveIt으로 작성한 프로그램을 확장하여 장면의 물체 주변에서 계획을 수립했습니다. +- 전체 hello_moveit.cpp 소스 코드 사본은 다음 폴더에 있습니다: [book/week11/planning_around_objects/hello_moveit.cpp](./hello_moveit.cpp) + +## 다음 단계 + +다음 강의에서는 더 어려운 모션 계획을 해결하도록 설계된 상위 계층 도구를 소개합니다. 이 튜토리얼에서는 물체를 집어서 놓는 프로그램을 만들 것입니다.