moveit / panda_moveit_config

The Panda robot is the flagship MoveIt integration robot
http://docs.ros.org/kinetic/api/moveit_tutorials/html/
102 stars 170 forks source link

Noetic release #96

Closed rhaschke closed 2 years ago

rhaschke commented 2 years ago

I reworked (and force-pushed) the noetic-devel branch once more as announced in https://github.com/ros-planning/panda_moveit_config/issues/89#issuecomment-961815149.

The new branch can be considered a release candidate, but relies on several open PRs in franka_ros (also see https://github.com/frankaemika/franka_ros/issues/193) and MoveIt, namely:

Other open TODOs (@rickstaa, can you work on these?):

rickstaa commented 2 years ago

@rhaschke I am working through the last todos in #89 so that we can replace it with #96. I will add the tests and changes we have to do for the tutorials below:

Moveit_tutorials todos

@tylerjw already performed some tests for his solution with the moveit_tutorials. We however need to re-perform these tests for the new Noetic release. Please first check https://github.com/ros-planning/panda_moveit_config/pull/74#issuecomment-703139739 before testing one of the following tutorials:

I also found the following changes that need to be performed to the moveit_tutorials:

rickstaa commented 2 years ago

The STOMP and OMPL-STOMP planners have been added to MSA in https://github.com/ros-planning/moveit/pull/2955.

rickstaa commented 2 years ago

@rhaschke Can you update:

Rework hand collision frankaemika/franka_ros#189 defining detailed (panda_hand) and coarse (panda_hand_coarse) collision models for environmental and self collisions resp.

To reflect the new pull request (i.e. https://github.com/frankaemika/franka_ros/pull/199).

rickstaa commented 2 years ago

@rhaschke, I think some of the todos in this issue can be checked as done. For testing the tutorials, I'm waiting for @frankaemika to decide on https://github.com/frankaemika/franka_ros/pull/188 since if I do it now, things change I might have to retest.

gollth commented 2 years ago

Hey there,

I'm testing out the new noetic-devel branch of this repo together with the new MoveIT and ran into some problem:

Suppose I want to start the move group in a launch file like so:

<?xml version="1.0" ?>
<launch>
  <arg name="robot_ip" />

  <arg name="transmission" value="position" />

  <include file="$(find franka_control)/launch/franka_control.launch" pass_all_args="true" />

  <include file="$(find panda_moveit_config)/launch/move_group.launch">
    <arg name="load_gripper" value="true" />
  </include>

</launch>

I get the error message to please set the transmission argument:

included file [/home/franka/ros/src/panda_moveit_config/launch/simple_moveit_controller_manager.launch.xml] requires the 'transmission' arg to be set

However the move_group.launch does not accept such an argument:

RLException: unused args [transmission] for include of [/home/franka/ros/src/panda_moveit_config/launch/move_group.launch]

AFAIR in Melodic you didn't need to (and couldn't) provide an extra "transmission" argument to the move_group.launch.

How is this indented to work now?

rhaschke commented 2 years ago

In demo.launch it seems to work because we include move_group.launch with pass_all_args="true": https://github.com/ros-planning/panda_moveit_config/blob/c38a59af4ca94c008b3677e1ee1787a64bc6fea3/launch/demo.launch#L55

There is a working example file very similar to your example: franka_control.launch.

gollth commented 2 years ago

Thanks for the answer, I thought so as well that this is the background. But this would mean that you cannot even use this launch file like this anymore:

<launch>
  <include file="$(find panda_moveit_config)/launch/move_group.launch" />
</launch>

I think many users of this repo will have something similar to this in their user code. Is this breaking change really something you intent? If yes is it already documented somewhere already?

rhaschke commented 2 years ago

I will try to improve the launch files over the weekend.

gollth commented 2 years ago

Hey @rhaschke any updates on this? Currently panda_moveit_config is in a not very usable state

rhaschke commented 2 years ago

Sorry, I was busy with many other things. I will try over the coming weekend to catch up on this. What is your progress on https://github.com/frankaemika/franka_ros/pull/199? Using the coarse self-collision models for environmental collision checks as well, renders MoveIt very much unusable in general :wink:

rickstaa commented 2 years ago

I had some questions I my email about how to use the new noetic branch so I will put this here as a reference:

  1. Install ROS noetic (see http://wiki.ros.org/noetic/Installation/Ubuntu).
  2. Build libfranka from source (see https://frankaemika.github.io/docs/installation_linux.html).
  3. Build franka_ros from source (see https://frankaemika.github.io/docs/installation_linux.html).
  4. Clone the noetic branch of panda_moveit_config.
  5. Install the ros dependencies using: rosdep install --from-paths src --ignore-src --rosdistro noetic -y --skip-keys libfranka
  6. Build the catkin workspace. catkin build -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=<PATH_TO_LIBFRANKA>/libfranka/build
  7. Run the ros-planning/panda_moveit_config/blob/noetic-devel/launch/demo_gazebo.launch launch file.
  8. Move the robot using the RVIZ Moveit Planning GUI (see video below).

https://user-images.githubusercontent.com/17570430/183608713-85fc98a9-5426-4467-8f47-0a629629bab9.mp4

rickstaa commented 2 years ago

@rhaschke @gollth, I don't think anything is blocking us from releasing the noetic package. To my knowledge, the last time I checked, there were only the instabilities in the gripper action (gripper action time out, gripper action not working when the gripper is vertical - see https://github.com/frankaemika/franka_ros/issues/172).

rhaschke commented 2 years ago

I agree. However, before releasing panda_moveit_config, franka_ros should be released including https://github.com/frankaemika/franka_ros/issues/199, which was merged in April. Also, we will diverge between Melodic and Noetic as MoveIt Melodic doesn't support the new collision matrix specification, i.e. coarse vs. detailed collision models required by franka_description. @gollth, are you fine with this?

gollth commented 2 years ago

Hi @rhaschke,

sorry for the late reply I was on holiday until today.

Sounds good to me. We will release everything currently in develop shortly.

we will diverge between Melodic and Noetic

Seems logical to me.

gollth commented 2 years ago

Just as a heads up, @marcbone is currently working on a URDF changing feature in franka_ros. The outer interface (i.e. XACRO args and filenames ...) will stay the same, but the internal structure will be refactored a bit. We don't think this will be a breaking change for panda_moveit_config but with URDFs you can never know how breaking it really is.

rhaschke commented 2 years ago

@marcbone is currently working on a URDF changing feature in franka_ros

Please inform me if this gets merged and I will have a look at panda_moveit_config.

gollth commented 2 years ago

franka_ros 0.9.1 is now released on melodic and noetic

rhaschke commented 2 years ago

I triggered a release into Noetic: https://github.com/ros/rosdistro/pull/34290 as well as into Melodic: https://github.com/ros/rosdistro/pull/34297

marcbone commented 2 years ago

@marcbone is currently working on a URDF changing feature in franka_ros

Please inform me if this gets merged and I will have a look at panda_moveit_config.

I guess there was a bit of miscommunication. The refactoring of the URDF is now done and on the develop branch, but it was not part of the0.9.1 release. We will make a release over rosdistro for version 0.10.0 tomorrow.