From d7ee3a8d9969d8a35597ba5d722e79d1e3ac3815 Mon Sep 17 00:00:00 2001 From: KingMaZito <matteo.aneddama@icloud.com> Date: Mon, 21 Nov 2022 02:36:18 +0100 Subject: [PATCH] ... --- .../profiles/default/devel_collisions.txt | 2 +- src/mtc/include/impl/moveit_mediator.h | 2 +- src/mtc/include/impl/moveit_robot.h | 1 - src/mtc/src/impl/moveit_mediator.cpp | 37 +++++++++++++++++-- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/.catkin_tools/profiles/default/devel_collisions.txt b/.catkin_tools/profiles/default/devel_collisions.txt index 66bfbea..5d3a89c 100644 --- a/.catkin_tools/profiles/default/devel_collisions.txt +++ b/.catkin_tools/profiles/default/devel_collisions.txt @@ -1,4 +1,4 @@ /home/matteo/ws_panda/devel/./cmake.lock 42 -/home/matteo/reachability/devel/./cmake.lock 26344 +/home/matteo/reachability/devel/./cmake.lock 26357 /home/matteo/reachability/devel/lib/libmoveit_grasps.so 79 /home/matteo/reachability/devel/lib/libmoveit_grasps_filter.so 79 diff --git a/src/mtc/include/impl/moveit_mediator.h b/src/mtc/include/impl/moveit_mediator.h index 7a0fa09..1a6533f 100644 --- a/src/mtc/include/impl/moveit_mediator.h +++ b/src/mtc/include/impl/moveit_mediator.h @@ -95,7 +95,7 @@ class Moveit_mediator : public Abstract_mediator{ void build_wings(std::bitset<3>& wing,int& robot) override; void set_wings(std::vector<std::vector<wing_BP>>& wbp) override; - void merge_ps(moveit_msgs::PlanningScene& origin, moveit_msgs::PlanningScene* merge, Moveit_robot* mr); + void merge_ps(moveit_msgs::PlanningScene out, moveit_msgs::PlanningScene* in, Moveit_robot* mr); void publish_tables(); void load_robot_description(); void rewrite_task_template(Abstract_robot* r, moveit_msgs::CollisionObject& source, tf2::Transform& target); diff --git a/src/mtc/include/impl/moveit_robot.h b/src/mtc/include/impl/moveit_robot.h index ae1c707..178b3f6 100644 --- a/src/mtc/include/impl/moveit_robot.h +++ b/src/mtc/include/impl/moveit_robot.h @@ -24,7 +24,6 @@ class Moveit_robot : public Robot{ map_.insert(std::make_pair<std::string, std::string>("eef_name", hand_n.str())); map_.insert(std::make_pair<std::string, std::string>("hand_frame", ik_frame_n.str())); map_.insert(std::make_pair<std::string, std::string>("hand_group_name", hand_n.str())); - } inline moveit::planning_interface::MoveGroupInterface* mgi() {return mgi_;} diff --git a/src/mtc/src/impl/moveit_mediator.cpp b/src/mtc/src/impl/moveit_mediator.cpp index f0ed7ca..e65ebd7 100644 --- a/src/mtc/src/impl/moveit_mediator.cpp +++ b/src/mtc/src/impl/moveit_mediator.cpp @@ -1,6 +1,7 @@ #include "impl/moveit_mediator.h" #include <thread> #include <mutex> +#include <algorithm> thread_local moveit::task_constructor::Task task__; thread_local moveit_task_constructor_msgs::ExecuteTaskSolutionGoal etsg_; @@ -305,6 +306,13 @@ void Moveit_mediator::setup_task(){ for (auto p : aco.touch_links) ROS_INFO("aco touch link %s", p.c_str()); ROS_INFO("aco collis obj weight %d", aco.weight); } + + for (auto d : ps1->robot_state.joint_state.position) ROS_INFO("js position %d ", d); + for (auto d : ps1->robot_state.joint_state.name) ROS_INFO(" js name %s", d.c_str()); + for (auto d : ps1->robot_state.joint_state.velocity) ROS_INFO(" js vel %d", d); + for (auto d : ps1->robot_state.joint_state.effort) ROS_INFO(" js e %d", d); + ROS_INFO ("%s, %i", ps1->robot_state.joint_state.header.frame_id.c_str(), p1->robot_state.joint_state.header.seq); + for (auto p : ps1->world.collision_objects) ROS_INFO("world co id %s", p.id); ROS_INFO("world om origin %f %f %f, %f %f %f %f", ps1->world.octomap.origin.position.x, ps1->world.octomap.origin.position.y, ps1->world.octomap.origin.position.z, ps1->world.octomap.origin.orientation.x, ps1->world.octomap.origin.orientation.y, ps1->world.octomap.origin.orientation.z, ps1->world.octomap.origin.orientation.w); ROS_INFO("world om header time, id %s, seq %i", ps1->world.octomap.header.frame_id.c_str(), ps1->world.octomap.header.seq); @@ -379,7 +387,15 @@ void Moveit_mediator::setup_task(){ for (auto p : aco.touch_links) ROS_INFO("aco touch link %s", p.c_str()); ROS_INFO("aco collis obj weight %d", aco.weight); } - for (auto p : ps2->world.collision_objects) ROS_INFO("world co id %s", p.id); + for (auto d : ps2->robot_state.joint_state.position) ROS_INFO("js position %d ", d); + for (auto d : ps2->robot_state.joint_state.name) ROS_INFO(" js name %s", d.c_str()); + for (auto d : ps2->robot_state.joint_state.velocity) ROS_INFO(" js vel %d", d); + for (auto d : ps2->robot_state.joint_state.effort) ROS_INFO(" js e %d", d); + ROS_INFO ("%s, %i", ps2->robot_state.joint_state.header.frame_id.c_str(), ps2->robot_state.joint_state.header.seq); + + + ROS_INFO("rs js id %s", ps2->robot_state.joint_state.position); + for (auto p : ps2->world.collision_objects) ROS_INFO("world co id %s", p.id.c_str()); ROS_INFO("world om origin %f %f %f, %f %f %f %f", ps2->world.octomap.origin.position.x, ps2->world.octomap.origin.position.y, ps2->world.octomap.origin.position.z, ps2->world.octomap.origin.orientation.x, ps2->world.octomap.origin.orientation.y, ps2->world.octomap.origin.orientation.z, ps2->world.octomap.origin.orientation.w); ROS_INFO("world om header time, id %s, seq %i", ps2->world.octomap.header.frame_id.c_str(), ps2->world.octomap.header.seq); ROS_INFO("world om Data"); @@ -408,11 +424,24 @@ void Moveit_mediator::setup_task(){ } -void Moveit_mediator::merge_ps(moveit_msgs::PlanningScene& origin, moveit_msgs::PlanningScene* merge, Moveit_robot* mr){ - for (auto acm : merge->allowed_collision_matrix.default_entry_names){ - // dafd +void Moveit_mediator::merge_ps(moveit_msgs::PlanningScene out, moveit_msgs::PlanningScene* in, Moveit_robot* mr){ + /* + for( auto aco : in->robot_state.attached_collision_objects) { + out.robot_state.attached_collision_objects.push_back(aco); } + for( auto aco : in->robot_state.joint_state) { + out.robot_state.attached_collision_objects.push_back(aco); + } + sensor_msgs::JointState:: + + for (auto str : res.allowed_collision_matrix.entry_names){ + auto entry = std::find(origin->allowed_collision_matrix.entry_names.begin(), origin->allowed_collision_matrix.entry_names.end(), str); + if (entry != origin->allowed_collision_matrix.entry_names.end()){ + origin->allowed_collision_matrix.entry_values[entry - origin->allowed_collision_matrix.entry_names.begin()] + } + } + */ } void Moveit_mediator::parallel_exec(Moveit_robot& mr, moveit_msgs::RobotTrajectory rt, moveit_msgs::PlanningScene ps){ -- GitLab