To answer my own question, there are launch files provided in the standard moveit packages that do allow this, but I feel this is not well documented. To launch moveit without rviz there are at least 3 steps required:
1) publish a static transform between world
and base_link
2) launch planning_context.launch
with load_robot_description:=true
3) and finally, launch ROBOT_moveit_planning_execution.launch sim:=true
(for a simulated robot at least)
I actually hope I'm missing something and I will be corrected here, because it feels strange to me that the demo mode is documented everywhere and it is only one command ( launching the demo.launch
), but the non-demo ("real"?) takes more steps and they are not documented almost nowhere. The closest I found for doc about this is the universal_robot
github README.md
. So, for me, this comes down to the following:
rosrun tf static_transform_publisher 0 0 0 0 0 0 1 world base_link 100
roslaunch ROBOT_moveit_config planning_context.launch load_robot_description:=true
roslaunch ROBOT_moveit_config ROBOT_moveit_planning_execution.launch sim:=true