Ask Your Question
0

Headless motion planning

asked 2018-10-16 03:58:47 -0600

gonzalocasas gravatar image

Is it generally possible to run the motion planning tools of ROS in an completely headless manner? To be more specific, can MoveIt run without RViz interface? Virtually all launch files out there include RViz in them, and there's little to no documentation (at least to my knowledge) on how to run this without a user interface.

Is it simply not really possible to do? Or is it just not documented?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2018-10-16 04:02:37 -0600

Delb gravatar image

Rviz is a visualization tool so it simply reads the topic and then displays their data. Rviz is never mandatory such as the Gazebo GUI. You can launch gazebo simply with the process gzserver and it won't change anything.

edit flag offensive delete link more

Comments

1

@gonzalocasas: as @Delb mentions RViz is not required at all for MoveIt. It's just a visual debugging interface.

To start MoveIt "headless" (which doesn't really make sense, as it's not an application with a UI) just leave out the line where it starts RViz from the launch file.

gvdhoorn gravatar imagegvdhoorn ( 2018-10-16 04:14:01 -0600 )edit

Thanks folks. Of course, it was a trivial answer (or it was a silly question). I just didn't understand why most of the usually provided launch files include RViz without any arguments to disable it.

gonzalocasas gravatar imagegonzalocasas ( 2018-11-02 04:35:15 -0600 )edit
0

answered 2019-04-19 18:39:22 -0600

gonzalocasas gravatar image

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
edit flag offensive delete link more

Comments

1) publish a static transform between world and base_link

this seems rather robot/MoveIt configuration-specific and I don't believe is needed in general.

3) and finally, launch ROBOT_moveit_planning_execution.launch sim:=true

same here: ROBOT_moveit_planning_execution.launch is not a standard .launch` file name in MoveIt.

gvdhoorn gravatar imagegvdhoorn ( 2019-04-20 01:01:52 -0600 )edit

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

One potential reason for this is that it's highly robot-specific which other components must be launched for MoveIt to work with a specific robot. Some require just a single additional launch file, others require complex setups with 10s of components and configuration.

There are also setups where starting MoveIt is not done with a single .launch file and there are systems where MoveIt is started separately from the driver.

The moveit_planning_execution.launch file is (not a standard launch file, but I believe a ROS-I convention) essentially demo.launch but with some parts left out and others added (namely the ...(more)

gvdhoorn gravatar imagegvdhoorn ( 2019-04-20 01:03:40 -0600 )edit

As to the documentation: yes, it would be good if "using MoveIt with real hw" would be documented better, as the question comes up quite a bit on ROS Answers. There is some information here, but it's not very detailed.

A PR adding that to ros-planning/moveit_tutorials would be very welcome.

gvdhoorn gravatar imagegvdhoorn ( 2019-04-20 01:06:26 -0600 )edit

The moveit_planning_execution.launch file is (not a standard launch file, but I believe a ROS-I convention)

Sorry, I forgot to clarify that I am indeed talking about ROS-I.

A PR adding that to ros-planning/moveit_tutorials would be very welcome.

I might give it a shot down the road, once I am more familiar with moveit conventions and internals :)

gonzalocasas gravatar imagegonzalocasas ( 2019-04-24 03:39:51 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2018-10-16 03:58:47 -0600

Seen: 106 times

Last updated: Apr 19