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:
$ 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.
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:
The only real error shows up in the MoveIt node:
But I guess this is just because the trajectory it has to execute is empty. Am I missing something?
Full output
Output of the planner node:
Output of the MoveIt node:
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.