Manipulator in 5 Days (Python) Unit 3 Troubleshooting

Hello,
I’m needing some help with the Manipulator in 5 Days course. I’m currently on Module 3, and trying to execute the python code within demo 3.1. However, when I go to execute it, I get the following error:
Failed to import pyassimp, see https://github.com/ros-planning/moveit/issues/86 for more info

And this is what’s outputted to shell #1 that’s running the planning execution package:

[ INFO] [1573948508.295424654, 1038.121000000]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
[ INFO] [1573948508.296979980, 1038.121000000]: Planner configuration 'arm' will use planner 'geometric::RRT'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1573948508.297363405, 1038.121000000]: RRT: Starting planning with 1 states already in datastructure
[ INFO] [1573948513.313545918, 1038.704000000]: RRT: Created 814 states
[ INFO] [1573948513.316462652, 1038.705000000]: No solution found after 5.019341 seconds
[ INFO] [1573948513.584491091, 1038.742000000]: Unable to solve the planning problem

And further, when I go to execute the demo 3.1 python script again, I get this:

RuntimeErrorTraceback (most recent call last)

<ipython-input-2-d7dee970bb40> in <module>()
13 robot = moveit_commander.RobotCommander()
14 scene = moveit_commander.PlanningSceneInterface()
---> 15 group = moveit_commander.MoveGroupCommander("arm")
16 display_trajectory_publisher = rospy.Publisher('/move_group/display_planned_path', moveit_msgs.msg.DisplayTrajectory, queue_size=1)
17

/opt/ros/kinetic/lib/python2.7/dist-packages/moveit_commander/move_group.pyc in init(self, name, robot_description, ns)
50 def init(self, name, robot_description="robot_description", ns=""):
51 """ Specify the group name for which to construct this commander instance. Throws an exception if there is an initialization error. """
---> 52 self._g = _moveit_move_group_interface.MoveGroupInterface(name, robot_description, ns)
53
54 def get_name(self):

RuntimeError: Unable to connect to move_group action server 'move_group' within allotted time (5s)

I’m open to share anything regarding this issue if need be.

Let me have a look at it.

Confirmed. There is an issue here that has to be solved. If you execute the movements through the MoveitGui that apears in the GraphicaTools window, it works I supose?

We are working on it to give you a solution as soon as possible.

Alright, thank you for working on the solution to this problem. :smiley:

Ok , I got some solutions I hope.
I created the moveit package and executed a tiny example script and this is what I found. This error appears when:

  1. The pose that you are sending the end effector of the robot is unreachable. This is just verifying that the positions are possible for the robot. You can use as starting point positions created at the start like start or home and move from there. In this script that I’m sharing here, they are positions for start and home so it’s for sure that the robot can do it.

To execute the test just open the unit “4- Perform motion planning” and execute in two different terminals the following:

cd catkin_ws;source devel/setup.bash;rospack profile
roslaunch fetch_movit_config fetch_planning_execution.launch
rosrun fetch_movit_config fetch_moveit_test.py
  1. The second option is an issue triggered due to the system being too slow. Moveit consumes a lot of resources and the system sometimes it just goes to slow and it gives a time out. That is only solved with more power or retries.

Here is the code that works:
GIT EXAMPLE Fetch Moveit

Hope this helps.

Duckfrost,

I have used the test script provided, and it worked as expected. And looking into the problem more, you seem to be correct with the poses being unreachable. The same applies with demo 3.2 with this following error:

[ WARN] [1574487903.576349494, 3423.336000000]: No transform available between frame 'odom' 
and planning frame '/dummy' ()
[ INFO] [1574487903.580500417, 3423.336000000]: Planning request received for MoveGroup 
action. Forwarding to planning pipeline.
[ INFO] [1574487903.582483395, 3423.336000000]: Planner configuration 'arm' will use planner 
'geometric::RRT'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1574487903.583420790, 3423.336000000]: RRT: Starting planning with 1 states already in 
datastructure
[ INFO] [1574487903.851819709, 3423.370000000]: Constraint satisfied:: Joint name: 
'shoulder_pan_joint', actual value: 1.319924, desired value:1.319953, tolerance_above: 0.000100, 
tolerance_below: 0.000100
[ INFO] [1574487903.851873995, 3423.370000000]: Constraint satisfied:: Joint name: 
'shoulder_lift_joint', actual value: 1.399993, desired value: 1.399939, tolerance_above: 0.000100, 
tolerance_below: 0.000100
[ INFO] [1574487903.851897330, 3423.370000000]: Constraint satisfied:: Joint name: 
'upperarm_roll_joint', actual value: -0.199895, desired value: -0.199927, tolerance_above: 0.000100, 
tolerance_below: 0.000100
[ INFO] [1574487903.851920151, 3423.370000000]: Constraint satisfied:: Joint name: 
'elbow_flex_joint', actual value: 1.699879, desired value: 1.699910, tolerance_above: 0.000100, 
tolerance_below: 0.000100
[ INFO] [1574487903.851941022, 3423.370000000]: Constraint satisfied:: Joint name: 
'forearm_roll_joint', actual value: -0.000003, desired value: 0.000001, tolerance_above: 0.000100, 
tolerance_below: 0.000100
[ INFO] [1574487903.851959360, 3423.370000000]: Constraint satisfied:: Joint name: 
'wrist_flex_joint', actual value: -1.499938, desired value: -1.500000, tolerance_above: 0.000100, 
tolerance_below: 0.000100
[ INFO] [1574487903.851980044, 3423.370000000]: Constraint satisfied:: Joint name: 
'wrist_roll_joint', actual value: 0.000093, desired value: 0.000001, tolerance_above: 0.000100, 
tolerance_below: 0.000100
[ INFO] [1574487903.860927486, 3423.371000000]: Found a contact between 'base_link' (type 
'Robot link') and 'wrist_roll_link' (type 'Robot link'), which constitutes a collision. Contact information 
is not stored.
[ INFO] [1574487903.860976140, 3423.371000000]: Collision checking is considered complete 
(collision was found and 0 contacts are stored)
[ INFO] [1574487908.583717376, 3424.044000000]: RRT: Created 675 states
[ INFO] [1574487908.588579330, 3424.045000000]: No solution found after 5.005420 seconds
[ INFO] [1574487908.588736134, 3424.045000000]: Unable to solve the planning problem

Note: The warning on the first line was after inserting a dummy joint and link right after base_link within fetch.urdf. That should have no correlation with the error above.

So it does seem like a joint collision problem after all. :slight_smile:

Edit: As of writing this, the following line seems to be the main point of contempt with demo 3.2:

group_variable_values[5] = -1.5

When you flip -1.5 to a 0, the robot’s position will be as shown:

And flipping it to 1.5 puts the joint back into its home position.