0
$\begingroup$

Rosanswers logo

Hello,

I’m using moveit c++ interface in order to send a cartesian pose to the gazebo simulated robot. Below is the code which i’m using to send the pose, the mentioned pose is retrived from gazebo by calling gazebo/get_model_state service hence pose is accurate.

This pose is definately reachable as i have planend simular pose for gazebo simulated robot using rviz gui + moveit plugin. When i use rviz gui to generate any pose and plan+execute it, there is no error. When i use moveit c++ interface there will be error saying ABORTED: No motion plan found. No execution attempted..

Update1 When i send cartesian pose by using moveit c++ interface, robot doesn’t plan the motion in rviz. My question is now reframed as: is my pose valid?? How to check if it is valid?

Error from terminal where moveit c++ interface script is called:

vmh@williams:~/ws_panda_gazebo_moveit$ roslaunch robot_moveit_config moveit_interface.launch
... logging to /home/vmh/.ros/log/212903dc-3515-11e9-82e7-fcaa1425f14a/roslaunch-williams-29963.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://williams:42297/

SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /
    moveit_interface (robot_moveit_config/moveit_interface)

ROS_MASTER_URI=http://localhost:11311

process[moveit_interface-1]: started with pid [29980]
[ INFO] [1550670315.883205552]: Loading robot model 'panda'...
[ WARN] [1550670315.883263281]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1550670315.883273752]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1550670315.961528919]: Loading robot model 'panda'...
[ WARN] [1550670315.961571718]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1550670315.961587993]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1550670315.975847754]: cache file /home/vmh/.ros/robot_descriptionpanda_arm_worldpanda_link8_5000_1.000000_1.000000.ikcache initialized!
[ INFO] [1550670317.258878053, 2440.230000000]: Ready to take commands for planning group panda_arm.
[ INFO] [1550670332.779023625, 2455.727000000]: ABORTED: No motion plan found. No execution attempted.
[moveit_interface-1] process has finished cleanly
log file: /home/vmh/.ros/log/212903dc-3515-11e9-82e7-fcaa1425f14a/moveit_interface-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Update2:

When i check the terminal from which i launch rviz gui, i get the error saying: [ERROR]:RRTConnect: Unable to sample any valid states for goal tree.

Terminal info in which rviz gui is launched:

You can start planning now!

[ INFO] [1550670083.139279735, 2206.390000000]: Stereo is NOT SUPPORTED
[ INFO] [1550670083.139358951, 2206.390000000]: OpenGl version: 4.5 (GLSL 4.5).
[ INFO] [1550670086.554426726, 2209.801000000]: Loading robot model 'panda'...
[ WARN] [1550670086.554517355, 2209.801000000]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1550670086.554538395, 2209.801000000]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1550670086.601970879, 2209.849000000]: Loading robot model 'panda'...
[ WARN] [1550670086.601996655, 2209.849000000]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1550670086.602012504, 2209.849000000]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1550670086.616687159, 2209.864000000]: cache file /home/vmh/.ros/robot_descriptionpanda_arm_worldpanda_link8_5000_1,000000_1,000000.ikcache initialized!
[ INFO] [1550670086.648693158, 2209.895000000]: Starting scene monitor
[ INFO] [1550670086.651704322, 2209.899000000]: Listening to '/move_group/monitored_planning_scene'
[ INFO] [1550670087.106817946, 2210.351000000]: No active joints or end effectors found for group 'hand'. Make sure that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1550670087.108022931, 2210.352000000]: No active joints or end effectors found for group 'hand'. Make sure that kinematics.yaml is loaded in this node's namespace.
[ INFO] [1550670087.108426764, 2210.353000000]: Constructing new MoveGroup connection for group 'hand' in namespace ''
[ INFO] [1550670088.165964448, 2211.410000000]: Ready to take commands for planning group hand.
[ INFO] [1550670088.166059558, 2211.410000000]: Looking around: no
[ INFO] [1550670088.166110842, 2211.410000000]: Replanning: no
[ INFO] [1550670092.914428893, 2216.154000000]: Constructing new MoveGroup connection for group 'panda_arm' in namespace ''
[ INFO] [1550670093.106554565, 2216.346000000]: Ready to take commands for planning group panda_arm.
[ INFO] [1550670093.106586096, 2216.346000000]: Looking around: no
[ INFO] [1550670093.106621346, 2216.346000000]: Replanning: no
[ WARN] [1550670093.132789589, 2216.372000000]: Interactive marker 'EE:goal_panda_link8' contains unnormalized quaternions. This warning will only be output once but may be true for others; enable DEBUG messages for ros.rviz.quaternions to see more details.
[ INFO] [1550670317.719845974, 2440.690000000]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[ INFO] [1550670317.720251315, 2440.690000000]: Planning attempt 1 of at most 1
[ INFO] [1550670317.721204633, 2440.692000000]: Planner configuration 'panda_arm' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1550670317.721566090, 2440.692000000]: RRTConnect: Starting planning with 1 states already in datastructure
[ERROR] [1550670332.721691908, 2455.670000000]: RRTConnect: Unable to sample any valid states for goal tree
[ INFO] [1550670332.721747951, 2455.670000000]: RRTConnect: Created 1 states (1 start + 0 goal)
[ INFO] [1550670332.721795671, 2455.670000000]: No solution found after 15.000316 seconds
[ INFO] [1550670332.778611374, 2455.727000000]: Unable to solve the planning problem

code:

#include <moveit/move_group_interface/move_group_interface.h>
#include <moveit/planning_scene_interface/planning_scene_interface.h>

int main(int argc, char** argv)
{
  ros::init(argc, argv, "moveit_interface");
  ros::NodeHandle node_handle;
  ros::AsyncSpinner spinner(1);
  spinner.start();

  static const std::string PLANNING_GROUP = "panda_arm";

  moveit::planning_interface::MoveGroupInterface move_group(PLANNING_GROUP);

   //setting up movegroup class
   moveit::planning_interface::PlanningSceneInterface planning_scene_interface;

   const robot_state::JointModelGroup* joint_model_group =
   move_group.getCurrentState()->getJointModelGroup(PLANNING_GROUP);

   move_group.setPlanningTime(10);



  // Planning to a Pose goal
  // We can plan a motion for this group to a desired pose for the
  // end-effector.
  geometry_msgs::Pose target_pose1;
  target_pose1.orientation.x = 0.001775;
  target_pose1.orientation.y = 0.026732;
  target_pose1.orientation.z = -0.994314;
  target_pose1.orientation.w = -0.994314;
  target_pose1.position.x = 0.397817;
  target_pose1.position.y = 0.913696;
  target_pose1.position.z = 0.810213;
  move_group.setPoseTarget(target_pose1);

   //call the planer to plan the myplan
   moveit::planning_interface::MoveGroupInterface::Plan my_plan;

   //moving to pose goal
   move_group.move();

   ros::shutdown();
 return 0;
}

Originally posted by mvish7 on ROS Answers with karma: 104 on 2019-02-20

Post score: 1


Original comments

Comment by gvdhoorn on 2019-02-20:
I'm sorry to have to do this, but your question (after the update) violates the support guidelines, specifically the part about not posting screenshots of terminals or code.

It's all just text, so please copy-paste it into your question body.

After you fix this, we can re-open.

Comment by mvish7 on 2019-02-20:
Hi, My apologies for these violations. I have rectified the question, could you please reopen it?

Comment by gvdhoorn on 2019-02-20:
Thanks for updating.

I've re-opened it.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Yes, this is a problem which is hard to debug, because function MoveGroup::plan() returns either success or fail(besides having all those nice error messages like not valid pose, etc. - they are not used).

Maybe your pose is not valid. this can be an URDF restriction. What you should do. Make an array of points with radius 0 to R around your robot. Run your planning for each of them. Save successful end poses and visualize them - you will see restrictions of the robot.

Also, your rviz says that it does not have transformation from your robot to the world. So make sure you have static transformation publisher for these frame ids.

Execute from command line: static_transform_publisher 0 0 0 0 0 0 world YOUR_ROBOT_BASE_LINK 10


Originally posted by kolya_rage with karma: 76 on 2019-02-21

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by mvish7 on 2019-02-25:
@kolya_rage: Thank you for your reply. in the end i found that pose was not valid. Specifically x coordinate of my pose was out side the workspace of panda arm. For anyone who wants to know range of panda arm, page 41, 42 of user manual can help. Thanks to @aPonza for this info.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.