Hey all,

I am trying to get Moveit! working on the Meka robot. I have read most of the documentation and have a fairly decent idea of the different pieces involving Moveit! I think I have all the pieces required to get it work, however, I am having some trouble in making them work together. I am hoping this disscussion will not only help me but also other users who are in the same boat trying to get Moveit! to work with their robot. 

Originally, I had asked a question about Moveit on answers.ros.org which you can find here I have completed the Moveit! quickstart tutorial including the RViz one where I can set a random goal state for a group and provided the path to the goal is not colliding with anything, the simulation runs. Up until this point, I did not have a FollowJointTrajectoryAction server running, have a contollers.yaml file or running anything on the real robot.

Currently, my setup is: roscore is running on the computer that talks to the robot and I run Moveit! (using the command on the RViz tutorial demo.launch) on my computer while connecting to the remote roscore. Moveit! and RViz at this stage can read /joint_states and I can see the current state of the arms/torso etc on the model.

Based on the universal robot (UR5) action server ur5_driver.py and the associated client test_client.py for Moveit!, I started writing a very simple FollowJointTrajectoryAction server along with a very simple client to test it.

My code can be found here: meka_action_server.py and test_client.py.

When I launch Moveit! using the RViz launch file, I get error saying that it was unable to connect to the action server:


[ERROR] [1381437382.200345290]: Unable to connect to action server within allotted time
even though I was running meka_action_server.py. However, when I do:


$ rostopic list | grep follow
/follow_joint_trajectory/cancel
/follow_joint_trajectory/feedback
/follow_joint_trajectory/goal
/follow_joint_trajectory/result
/follow_joint_trajectory/status

I get all the topics that Moveit! is presumably looking for. In order to test my server I ran the test_client.py which was written based on the tutorials and the UR5 test and it didn't really give me anything. I will also include my controllers.yamlmeka_moveit_controller_manager.launch, andmoveit_planning_execution.launch for completion.

My questions:

  1. Why is my test_client and Moveit not able to talk/connect to my FollowJointTrajectoryAction action server and how can I fix this problem?
  2. I can't use the pr2_moveit_controller_manager and have to use the moveit_simple_controller_manager. Going by this post, the moveit_simple_controller_manager requires an action server. How do I get the moveit_simple_controller_manager and my action server to work together?

Like I said in the begining, I think I have all the pieces to make Moveit! plan a trajectory and receive it in the action server. Please let me know if I need to do anything in that regard. I would just like some help in getting them to work together. Essentially, I would like to receive the joint angles/velocity etc that Moveit! calculates and just print them onto the screen, because going from there to the robot is trivial.

Thanks for reading and your help is greatly appreciated. Please let me know if you need anymore information.

Thanks,

Sudarshan.