Skip to content
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

added panda robot description and moveit_config #19

Merged
merged 1 commit into from
Aug 6, 2018

Conversation

mayman99
Copy link
Contributor

@mayman99 mayman99 commented Jul 6, 2018

Can someone make sure of the licenses?
I copied it from franka_ros package.

One other thing, panda robot package is names franka_description while the Moveit! config is named panda_moveit_config, so I renamed franka_description to panda_description, is that Okay?. Would the opposite be better?, or do we leave it as a franka description and panada config?

@v4hn
Copy link
Contributor

v4hn commented Jul 8, 2018

We use the robot in the tutorials a lot.
Is the idea here to move from depending on franka_description to moveit_resources?
I would agree. This might make sense to avoid the name clash on the package name panda_moveit_config.

@mayman99
Copy link
Contributor Author

mayman99 commented Jul 9, 2018

I don't think moving from depending on franka_description to moveit_resources has not been decided yet, @davetcoleman @mlautman , right?
For now we are to duplicate the package and we are to use it in testing.

@mlautman
Copy link
Contributor

mlautman commented Jul 9, 2018

@MohmadAyman I am strongly in favor of replacing franka_description with moveit_resources and replacing ros-planning/panda_moveit_config with a ros-planning/moveit_resources/panda_moveit_config

<link name="panda_link0">
<visual>
<geometry>
<mesh filename="package://franka_description/meshes/visual/link0.dae" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace franka_description with the correct package name so that this is pointing to the correct .dae files.

You should be able to remove your system install of franka_description and panda_moveit_config and still be able to launch these:

sudo apt remove ros-kinetic-franka-*
sudo apt remove ros-kinetic-panda-moveit-config

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mb 😅

@mayman99
Copy link
Contributor Author

mayman99 commented Jul 9, 2018

@mlautman What about renaming of franka_description to panada_description to match the naming of the config package?

@mlautman
Copy link
Contributor

mlautman commented Jul 9, 2018

That is what I was thinking. just make sure you name it panda_description not panada_description or pnada_description like your branch name 😛

@mayman99
Copy link
Contributor Author

mayman99 commented Jul 9, 2018

if it weren't for ctrl+f I wouldn't have found the differences between them 😅

@davetcoleman
Copy link
Member

I'm not convinced we should change the tutorials to use the moveit_config and *_description packages from the normal ones to moveit_resources for several reasons:

  1. moveit_resources is currently the name of the package, so all Franka dependencies might be confusing to tutorial readers who would see things like this in launch files:

    textfile="$(find moveit_resources)/panda_moveit_config/config/panda.srdf"

  2. We would cause a big break from Franka Emika's repos. Readers of our tutorials would have to make a lot of changes to become compatible with the hardware of Panda. The URDF for Panda would also be significantly different, with all meshes pointing to moveit_resources/panda_description/meshes...

  3. We couldn't run the tutorials with debians for the two Franka packages anymore. This is already the case for panda_moveit_config, but will also become the case for franka_description.

  4. We could have the Panda duplicated in both moveit_resources and in Panda's normal repos. This is exactly what was done for the PR2.

The reason for this PR is:

  1. Enable unit tests to use the Panda, especially unit tests around the MoveIt! tutorials. By having a "frozen" copy it makes the tests less brittle

  2. To prevent having to add the panda_moveit_config repo to the moveit.rosinstall. This would require anyone who builds moveit from source to also download Franka repos. This would be excessive brand-collocation IMHO.

The advantages to moving over exclusively to moveit_resources is:

  1. Fewer duplicates

  2. Hide the fact we are using Panda dependencies even further

  3. Centralized location for all Panda files

@davetcoleman
Copy link
Member

@MohmadAyman you added the panda_moveit_config as a submodule, but I'm pretty sure you did not intend to do that:

Submodule panda_moveit_config added at 320a27

@mayman99 mayman99 force-pushed the add_pnada_robot branch 2 times, most recently from 090475d to 4cf67eb Compare July 19, 2018 08:58
@mayman99
Copy link
Contributor Author

@davetcoleman
That's my mistake, added the panda_moveit_congif not as a submodule.

<link name="panda_link5">
<visual>
<geometry>
<mesh filename="package://panda_description/meshes/visual/link5.dae" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this work or should it be package://moveit_resources/panda_description/meshes/...?

<run_depend>xacro</run_depend>
<!-- This package is referenced in the warehouse launch files, but does not build out of the box at the moment. Commented the dependency until this works. -->
<!-- <run_depend>warehouse_ros_mongo</run_depend> -->
<build_depend>franka_description</build_depend>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this dependency (or replace it with a reference to the panda_description package) now that panda_description is fully available in this package?

<arg name="robot_description" default="robot_description"/>

<!-- Load universal robot description format (URDF) -->
<param if="$(arg load_robot_description)" name="$(arg robot_description)" command="$(find xacro)/xacro --inorder '$(find franka_description)/robots/panda_arm_hand.urdf.xacro'"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix ALL references to franka_description.

You should uninstall franka_description and panda_moveit_config from your system wide install and re-test all of these launch scripts to ensure that they aren't referencing external packages.

<arg name="use_gui" default="false" />

<!-- Load the URDF, SRDF and other .yaml configuration files on the param server -->
<include file="$(find panda_moveit_config)/launch/planning_context.launch">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since moveit_resources can be installed from binary, it is unclear to me how the rospack will resolve potential naming collisions between the panda_moveit_config package available from ros-kinetic-panda-moveit-config (franka_ros/panda_moveit_config) and the one available from ros-kinetic-moveit-resources (moveit_resources/panda_moveit_config) please either find a way to test if a system install of this will trip of rospack or please rename this one to something else like panda_moveit and do a find-replace to ensure that all of these files reference the correct package.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think renaming it to panda_config would be good idea, it will also help avoid the confusion that it is the same ros_planning panda_moveit_config, well right now its is the same but since it is not a sub-module they might diverge from each other in the future.
I have a question, wouldn't adding it as a sub module be better?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My intuition is that we should work towards replacing ros-planning/panda_moveit_config with moveit_resources/panda_config. I don't see a reason why we would want both of them hanging around.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see.
Is there anything else need to be done before this PR gets merged?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't like changing the naming convention of *_moveit_config for our flagship robot example

if we don't have these as actual catkin packages there won't be a conflict with the debian version, or any other git cloned version

@mayman99
Copy link
Contributor Author

@mlautman
For now all the references point to moveit_resources/panda_*, I removed franka binaries and the launch files worked correctly.

CMakeLists.txt Outdated
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
install(
FILES "${CATKIN_DEVEL_PREFIX}/include/${PROJECT_NAME}/.config_install.h"
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
RENAME "config.h")

# fanuc moveit config
install(DIRECTORY fanuc_moveit_config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
install(DIRECTORY fanuc_moveit_config panda_config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

after discussing with @mlautman further, I think we should keep this folder named panda_moveit_config, sorry for the back and forth

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem, will do 👍

@@ -0,0 +1,5 @@
# Franka Emika Panda MoveIt! Config Package

The Panda robot is the flagship MoveIt! integration robot used in the MoveIt! tutorials.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think files in moveit_resources should only be used for tests, not the tutorials

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah Okay.


<param name="collision_detector" value="Hybrid" />

<rosparam command="load" file="$(find moveit_resources)/panda_config/config/chomp_planning.yaml" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

panda_moveit_config here and in the other launch files

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay will do 👍

Copy link
Contributor

@mlautman mlautman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 after answering my question about the dependencies

<run_depend>xacro</run_depend>
<!-- This package is referenced in the warehouse launch files, but does not build out of the box at the moment. Commented the dependency until this works. -->
<!-- <run_depend>warehouse_ros_mongo</run_depend> -->
<build_depend>moveit_resources/panda_description</build_depend>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this syntax correct? Do you actually need the sub-directory?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

im pretty sure that is incorrect - it would just be moveit_resources

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That actually makes more sense, mb.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants