Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with move group interface planning to pose-goal with ur10e #897

Open
FrancisoFarrell opened this issue Apr 24, 2024 · 1 comment
Open

Comments

@FrancisoFarrell
Copy link

FrancisoFarrell commented Apr 24, 2024

Description

Overview of your issue here.

Your environment

  • ROS Humble
  • Ubuntu 22.04
  • Binary build

Hi All, I am using ROS2 humble on ubuntu 22.04 and UR10e real robot. I cloned ur_robot_driver and ur_description (https://github.com/UniversalRobots/Universal_Robots_ROS2_Description) and launching moveit config as below
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10e robot_ip:=yyy.yyy.y.yy launch_rviz:=false
ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur10e launch_rviz:=true

Now when I am trying to move the robot using rviz its working fine. But when I am trying to give the goal pose through move group c++ code using move group interface tutorial to plan the pose goal (https://github.com/ros-planning/moveit2_tutorials/blob/humble/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp). I am using geometry msgs Pose to pass cartesian pose

// Planning to a Pose goal

geometry_msgs::msg::Pose target_pose1;
target_pose1.orientation.w = 1.0;
target_pose1.position.x = 0.28;
target_pose1.position.y = -0.2;
target_pose1.position.z = 0.5;
move_group.setPoseTarget(target_pose1);

// Now, we call the planner to compute the plan and visualize it.
moveit::planning_interface::MoveGroupInterface::Plan my_plan;
bool success = (move_group.plan(my_plan) == moveit::core::MoveItErrorCode::SUCCESS);
RCLCPP_INFO(LOGGER, "Visualizing plan 1 (pose goal) %s", success ? "" : "FAILED");

However, while planning and executing the movement, I noticed weird movements where the robot didn't seem to move as expected. I noticed that getPlanningFrame returns world. I think the real ur10e robot is passing in base frame so I tried to pass the target pose in world frame as I am unable to set the planning frame to base. So I checked the pose in world frame using
ros2 run tf2_ros tf2_echo world tool0

and now passing this pose in the geometry pose. Even after sending the pose goal in world frame the robot is still moving weirdly.

I checked the collision object pose by passing the collision object pose same as target pose to see the frame, that works fine just the robot is not moving correctly. Even after giving the current pose of the robot in world frame the robot does random movement.

Is there any way to set the planning frame in a MoveIt 2 setup? or why robot is moving in different directions? Any help would be highly appreciated.

Thank you.

@sumit280188
Copy link

sumit280188 commented Sep 25, 2024

Hi @FrancisoFarrell

I am following exactly all the steps you mentioned above, still if I define
geometry_msgs::msg::Pose msg;
msg.orientation.w = 1.0;
msg.position.x = 0.300;
msg.position.y = 0.300;
msg.position.z = 0.300;

It is going to (-0.3,-0.3,0.05) with tcp RX= 0 RY = 0 and RZ= 3.143

Also getting this warning

Error: Semantic description is not specified for the same robot as the URDF
at line 664 in ./src/model.cpp
[INFO] [1726832308.485516353] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 2.95336 seconds
[INFO] [1726832308.486186709] [moveit_robot_model.robot_model]: Loading robot model ‘ur5e’…
[INFO] [1726832308.486495040] [moveit_robot_model.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint
[WARN] [1726832308.649051192] [moveit_ros.robot_model_loader]: No kinematics plugins defined. Fill and load

Also tried rotating the quaternions
ms.orientation.x = 0.0;
msg.orientation.y = 0.0;
msg.orientation.z = 0.0;

Still not going to the desired TCP location.

I even inspected the launch.py everything seems correct. It would be great if you can suggest some means for correction.
Did you solve this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants