-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Noetic release #89
Comments
If people want to help to finalize the Noetic release, please tag me and state which TODO you are working on. I will then update the TODO in the issue report above. |
I just performed some tests on the simulated and real robot, and it looks like the code that remaps #9 (comment) states the following about why this code was used in the past:
@rhaschke, @fwalch Can you one of you validate that this code is redundant ? It looks that in franka |
@rickstaa I think this is still required. Both have the same data type, but the data comes from different sources ( |
@fwalch, what's the semantic difference between these two sources / topics? |
Wow, that's a long list! Thank you a lot for working on noetic support and digging through all of that @rickstaa! 🏅
With more and more online controller support it can make a lot of sense to replace the actual with the desired state in tight loops. But then there needs to be a mechanism in place that will abort if the actual state moves to far away from desired. Also it can be a way to work around unstable controllers, e.g., make MoveIt assume joint values of Both case should not be relevant for the panda here though, so I agree that MoveIt should not silently get the (semantically) wrong topic! |
@fwalch I think @rhaschke is right. If we look at the primitive in the libfranka package, they are equal (see https://github.com/frankaemika/libfranka/blob/f1f46fb008a37eb0d1dba00c971ff7e5a7bfbfd3/include/franka/robot_state.h#L212-L222). To check if we still need to remap the SimulationIn the simulation, both Rviz visualizationIn the RVIZ visualization (i.e. Real robotOn the real robot (i.e. I therefore think MoveIt should subscribe to the real robot states (i.e., |
@fwalch and @rickstaa could we have a phone/video conference with responsible people at Franka to discuss the list of open issues in #89 (comment)? @fwalch, I'm contacting you as you appeared in most github PRs / issues. Please feel free to dispatch this request to another person if needed. I prepared a doodle to negotiate a time slot. |
@rhaschke Of course, I'm happy to join the meeting to provide details about the upstream pull requests I created. In the meantime, please allow me to quickly describe all the upstream pull requests to make sure everybody has a clear picture. Upstream pull requests related to the panda_moveit_config packageHere again, I will make a distinction between the real/visualized and simulated robot. From all the pull requests described below, franka_ros#181 is the most important. The other pull request will improve the user experience. Visualized or real robotThe noetic-devel branch is ready to be used with both the RVIZ simulation and the real robot. There are, however, several problems with the way @frankaemika defined the collision geometries:
Simulated robot
Other pull requestsApart from the pull requests above, I created franka_ros#177 to address an issue with the simulated gravity compensation. This pull request is related to my research but should not be needed for the noetic-devel of the panda_moveit_config package. |
@rhaschke Quick question. Based on the discussion above, I think we can drop the following TODO:
Or do you first want to confirm with the @frankaemika team how the |
I strongly believe that we can remove |
@rhaschke I will keep it onto our to-do list till we talked to Franka. |
@rickstaa, I have worked myself through your list of TODOs and would like to discuss them with you. |
@rhaschke That's great! I send you a mail. |
Hello @rhaschke, thanks for the Doodle, definitively makes sense to discuss these issues personally. We entered slots in your Doodle. If we don't find a common slot, feel free to propose more times. Looking forward to it. |
Please add a brief summary of this meeting here later on.
A number of issues mentioned here touch much more of MoveIt than just the panda configuration.
|
@v4hn, the results of our phone-conf meeting with Franka are summarized here. |
Closed because this has been replaced by #96.
Has been addressed in https://github.com/rickstaa/moveit/tree/add_MSA_write_gazebo_urdf_feature. The MSA now checks whether the specified @rhaschke Can you double-check to see if there are still todos missing from #69. I will also address moveit/moveit#2955 on Sun. |
I think it is reasonable to provide an option to save the generated, Gazebo-compatible URDF. However, I suggest providing a save button in the corresponding widget, as the .urdf file will be saved in an external (non moveit-config) package. All other files listed in the config-files widget, are related to the moveit-config package only. However, my problem wasn't that I couldn't save the file. Of course, I did that. |
Strange, I remember that the urdf worked for me when using the steps in the tutorials moveit_setup_assistant. I will investigate this weekend. The current implementation is as follows:
I can, however, change it in any way we like. I will create a draft pull request so we can discuss it there. My main goal was to fix the gazebo demo launch files by providing a have to automatically add the gazebo urdf when the provided urdf is not Gazebo compatible. |
As I said, I generally like and appreciate your proposal. We can use the generated gazebo-compatible file in two ways:
demo_gazebo.launch should use one or the other file. Both options are mutually exclusive. |
@rhaschke I took your suggestions into account. You can find the tested version of my proposal at moveit/moveit#2960. |
We just released the initial version of the Noetic branch. This issue will be used for the rest of the release process.
Upstream pull requests that are required
The following upstream pull requests need to be merged for the Noetic branch to be warning and error free:
Moves finger collision geometries to the finger joints frankaemika/franka_ros#151 needs to be merged to get rid of theLink panda_rightfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
warning.EDIT: Replaced by https://github.com/frankaemika/franka_ros/pull/188/commits
Adds 'use_collision_mesh' arg to the robot description frankaemika/franka_ros#154 could improve the self-collision behaviour. When this pull request is merged, we can 'use_collision_mesh' arg to let MoveIt plan with the more accurate collision meshes. In that case aa24fae is then not needed anymore. If we however decide to do this we have to keep in mind that MoveIt can plan paths that are not possible on the real robot.EDIT: Replaced by https://github.com/frankaemika/franka_ros/pull/188/commits
moveit_setup_assistant
found in tree/82378877879f7d40727819b1c3345eeb4308d98b. The current MoveIt debian package does not include thepilz_industrial_motion_planner
. As a result, MoveIt first has to create a new release before it can be used with the debian packages.The following upstream pull request is required for the simulation to work:
position_joint_trajectory_controller
.Fixes franka_gripper_sim GripperCommand action frankaemika/franka_ros#173 needs to be merged before MoveIt can correctly control the gripper. Currently, MoveIt can only open and close the gripper but not set a desired width.EDIT: Not merged see Fixes franka_gripper_sim GripperCommand action frankaemika/franka_ros#173 (comment).
Noetic branch todos
v0.8.*
or higher. We can do this by using theversion_gte
argument when the upstream issues have been merged.We have to check if remapingjoint_states
tojoint_states_desired
in themove_group.launch
file is still neededEDIT(rhaschke):
joint_states_desired
just reports commanded joint values. Not needed for MoveIt.Restructure controller managers #92 The new moveit_sim_controller should be added to the controller_managers.EDIT(rhaschke): Better consider http://wiki.ros.org/fake_joint
kinetic
.moveit_tutorials
.Moveit_setup_assistant todos
I found several improvements that can be made to the MSA.
EDIT(rhaschke): Using the
moveit_controller_manager:=simple
should enable theGripperCommand
actioncontrollers_list
fromros_controllers.yaml
into its own file as these are only needed for MoveIt while the settings in theros_controllers.yaml
file should only contain settings related to the ROS controlMSA: Rework ROS controllers config moveit#2945
robot_description
in the gazebo.launch template should usexacro
if a.xacro
file is provided by the user.MSA: Rework ROS controllers config moveit#2945
As the https://github.com/frankaemika/franka_ros was changed, the code that creates the gazebo simulation should be adjusted. The https://github.com/frankaemika/franka_ros repo now includes all the components to create a gazebo simulation, but loads the robot onto the/panda
namespace. As a result, the current templates don't work anymore. We should apply the changes found in Fixes the gazebo simulation rickstaa/panda_moveit_config#40 to the templates in the MSA.EDIT(rhaschke): This is panda-specific. Hence, we shouldn't adapt the generic templates. We could though, consider providing a
namespace
argument to spawn the Gazebo robot in a namespace. However, this also relies on the (manual) adaptation of the.urdf
file.EDIT: Outdated since the
panda
namespace was removed infranka_ros
.Thestomp_demo
andchomp_demo
files are not created by the MSA. Maybe we should add these files?ompl-chomp_planning_pipeline.launch.xml
should be added to the MSA (see https://ros-planning.github.io/moveit_tutorials/doc/chomp_planner/chomp_planner_tutorial.html#using-chomp-as-a-post-processor-for-ompl).Maybe we also want to add the remapping found in Remaps move_group 'joint_states' to 'joint_states_desired' rickstaa/panda_moveit_config#54 into themoveit_setup_assistant
template.EDIT(rhaschke):
joint_states_desired
is a panda-specific thing, which will probably get removed there as wellridge_factor
parameter should be changed to0.0
since this is the default.enable_failure_recovery
parameter should be changed tofalse
since this is the default.moveit_resources_panda_moveit_config
. However, it seems to be there. It's just not visible?!Other upstream problems that still exist
Migration guide
For future reference, the following steps were performed to release the Noetic branch:
Noetic migration guide
I created the initial panda robot configuration using the moveit_setup_assistant (see 8566b70). In this branch, tree/82378877879f7d40727819b1c3345eeb4308d98b was used. Similar to WIP: Generated using the latest features from MoveIt #74 I changed some posed to prevent self collisions.
I modified the
panda.srdf
file that is created by themoveit_setup_assistant
such that we can programmatically enable the gripper (see f0c2bca). This needs to be done, since themoveit_setup_assistant
currently doesn't propagatexacro
arguments you supply to theurdf.xacro
file (see this issue). We therefore need to manually add a way to enable or disable the gripper. This can be done by creating apanda.srdf.xacro
file.I replaced the
sensor_3d.yaml
with the example files in the perception_pipeline tutorial. Also edit thesensor_manager.launch.xml
file to point to the right configuration files (see 2aaa01d).I added the
rviz_tutorial
flag. While doing this, I made sure that I copied themoveit.rviz
andempty.rviz
files from the previous ROS version. Additionally, I added themoveit_visual_tools
package as a dependency (see 1d55c98).Similar to df0cbd8 I had to disable the collision checking between joint{5, 6} and joint8 since the new collision geometries that were added to https://github.com/frankaemika/franka_ros/releases/tag/0.8.0 are to coarse (see aa24fae). This should be fixed upstream by, for example, by improving the collision geometries or by giving users the ability to use meshes instead (Adds 'use_collision_mesh' arg to the robot description frankaemika/franka_ros#154).
I added the panda_control_moveit_rviz.launch which can be used to control the real robot (see 36d7c9f).
I added the TrajOpt files that were found in the melodic-devel branch to the repository ( see bc2bbc7 and 88fb278).
I added the STOMP files that were found in the melodic-devel branch to the repository ( see 133d524) .
I updated the
join_limits.yaml
file that was created by the MSA to enforce jerk limits. This was done by adding acceleration limits, since MoveIt does not yet support jerk limits (see 89d9b44).I added the files of the LERP planner that is created in the creating-moveit-plugins tutorial (see 85756cd). These files were copied from the melodic-devel branch.
I added the
demo_chomp.launch
andompl-chomp_planning_pipeline.launch.xml
files needed by the chomp_planner_tutorial tutorial. I also updated the chomp config file to the one found in the melodic-devel branch (see 4c390ac and c2ccca2).I added the
demo_gazebo.launch
launch file which spawns a simulated Panda robot in Gazebo (see c46c81c). This launch file uses the new franka_gazebo package that was introduced in franka_ros v0.8.1.Files that were manually created
Config folder
launch
The text was updated successfully, but these errors were encountered: