ajshort / cdrm

ROS packages for planning with Contact Dynamic Roadmaps (CDRMs)
MIT License
4 stars 0 forks source link

Weld planning example returns empty trajectory #1

Open JeroenDM opened 4 years ago

JeroenDM commented 4 years ago

First of all, thank you for making this code available!

After successfully creating the CDRM for the welding example, the planner succeeded but returned an empty trajectory. I executed the three steps mentioned in the readme:

$ roslaunch cdrm_welding_tutorial test_m10ia_on_gantry.launch
$ rosrun cdrm_welding cdrm_welding_node
$ rosrun cdrm_welding_tutorial plan_weld.py

The only real error shows up in the MoveIt node:

ros.moveit_core.robot_state: Found empty JointState message

But I guess this is just because the trajectory it has to execute is empty. Am I missing something?

Full output

$ rosrun cdrm_welding_tutorial plan_weld.py 
success: True
planning_time: 1.418946979
trajectory: 
  model_id: "m10ia_on_gantry"
  trajectory: 
    - 
      joint_trajectory: 
        header: 
          seq: 0
          stamp: 
            secs: 0
            nsecs:         0
          frame_id: ''
        joint_names: []
        points: []
      multi_dof_joint_trajectory: 
        header: 
          seq: 0
          stamp: 
            secs: 0
            nsecs:         0
          frame_id: ''
        joint_names: []
        points: []
  trajectory_start: 
    joint_state: 
      header: 
        seq: 0
        stamp: 
          secs: 0
          nsecs:         0
        frame_id: ''
      name: []
      position: []
      velocity: []
      effort: []
    multi_dof_joint_state: 
      header: 
        seq: 0
        stamp: 
          secs: 0
          nsecs:         0
        frame_id: ''
      joint_names: []
      transforms: []
      twist: []
      wrench: []
    attached_collision_objects: []
    is_diff: False

Output of the planner node:

$ rosrun cdrm_welding cdrm_welding_node
ros.moveit_core.robot_model: Loading robot model 'm10ia_on_gantry'...
ros.moveit_core.robot_model: No root/virtual joint specified in SRDF. Assuming fixed joint
ros.moveit_ros_planning.kinematics_plugin_loader: Kinematics solver doesn't support #attempts anymore, but only a timeout.
Please remove the parameter '/robot_description_kinematics/robot/kinematics_solver_attempts' from your configuration.
ros.moveit_core.kinematics_base: IK plugin for group 'robot' relies on deprecated API. Please implement initialize(RobotModel, ...).
ros.fanuc_m10ia_moveit_plugins.ikfast: robot_joint_1 -3.14 3.14 1
ros.fanuc_m10ia_moveit_plugins.ikfast: robot_joint_2 -1.57 2.79 1
ros.fanuc_m10ia_moveit_plugins.ikfast: robot_joint_3 -3.14 4.61 1
ros.fanuc_m10ia_moveit_plugins.ikfast: robot_joint_4 -3.31 3.31 1
ros.fanuc_m10ia_moveit_plugins.ikfast: robot_joint_5 -3.31 3.31 1
ros.fanuc_m10ia_moveit_plugins.ikfast: robot_joint_6 -6.28 6.28 1
ros.cdrm_welding: Received weld planning request
ros.cdrm_welding: Loading CDRM...
ros.cdrm_welding: Starting planning...
ros.cdrm_welding: Voxelising workpiece...
ros.swri_profiler: Initializing swri_profiler...
ros.cdrm_welding: Filtering roadmap...
ros.cdrm_welding: Creating connected components...
ros.cdrm_welding: Created tool path with 41 designed flange poses
ros.cdrm_welding: Finished planning after 1.41895s

Output of the MoveIt node:

$ roslaunch cdrm_welding_tutorial test_m10ia_on_gantry.launch 
... logging to /home/jeroen/.ros/log/5ccf4278-95ba-11ea-932c-f834415a491a/roslaunch-jeroen-5580-7087.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://jeroen-5580:34371/

SUMMARY
========

PARAMETERS
 * /joint_state_publisher/use_gui: True
 * /robot_description: <?xml version="1....
 * /robot_description_kinematics/robot/kinematics_solver: fanuc_m10ia_manip...
 * /robot_description_kinematics/robot/kinematics_solver_attempts: 3
 * /robot_description_kinematics/robot/kinematics_solver_search_resolution: 0.005
 * /robot_description_kinematics/robot/kinematics_solver_timeout: 0.005
 * /robot_description_semantic: <?xml version="1....
 * /rosdistro: melodic
 * /rosversion: 1.14.5

NODES
  /
    joint_state_publisher (joint_state_publisher/joint_state_publisher)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)

auto-starting new master
process[master]: started with pid [7103]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 5ccf4278-95ba-11ea-932c-f834415a491a
process[rosout-1]: started with pid [7114]
started core service [/rosout]
process[joint_state_publisher-2]: started with pid [7121]
process[robot_state_publisher-3]: started with pid [7122]
process[rviz-4]: started with pid [7123]
rosout: The 'use_gui' parameter was specified, which is deprecated.  We'll attempt to find and run the GUI, but if this fails you should install the 'joint_state_publisher_gui' package instead and run that.  This backwards compatibility option will be removed in Noetic.
ros.moveit_core.robot_state: Found empty JointState message

Platform

I'm running on Ubuntu 18.04 LTS, ROS melodic. I had to added the ROS packages swri_profiler and fanuc to the workspace to make it work.

ajshort commented 4 years ago

Thanks for your report @JeroenDM, I'll try and have a look at this this coming week.