-
Notifications
You must be signed in to change notification settings - Fork 116
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
Fix #19: Updated abb_irb4400_support package #21
Conversation
Just wanted to confirm that the joint transforms need to be modified before I went ahead and changed them, particularly between joint 1 and joint 2. |
They are acceptable, don't go through the trouble. |
@culletom, There is an existing error with the urdf that affects the kinematics, joint_4 x-axis translation should be 1.38 and joint_6-tool0 x-axis tranlation should be 0.14. This would also require a correction to the meshes. |
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" /> | ||
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find industrial_robot_client)/config/robot_state_visualize.rviz" required="true" /> | ||
<include file="$(find abb_irb4400_support)/launch/load_irb4400l30.launch" /> | ||
<param name="use_gui" value="true" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make this a private param of the joint_state_publisher
node.
Changes look good, but some minor things need to be addressed. Please also check the comment by @Levi-Armstrong about link lengths for |
I have verified with RobotStudio that J23 is coupled. Also, I would prefer the naming convention to be model_payload_reach. This will cover all possible variants for the abb robots, so for this variant it would be irb4400l_30_243. @shaun-edwards & @gavanderhoorn what are your thoughts? |
The naming should definitely include all information needed to uniquely identify a manipulator variant. For the ABB that appears to be model nr, payload and reach. Should the |
For other models (irb 1600 fi), we would get: The 'rule' would then be to append the payload in kgs, and the reach in meters, separated by underscores. And always use at least two decimal places after the dot for the reach (so |
In RobotStudio they group the nr with the model, I think this would be better so not to confuse people. The confusion being they may think the L has some significant related to the payload when it actual stands for long reach. |
I agree.
|
Ok. Agreed. I was just going with what was listed on the ABB site. |
Yea, that is what I original found too. On Fri, Mar 6, 2015 at 2:59 AM, G.A. vd. Hoorn [email protected]
Levi Armstrong |
Ok I'll update the PR to include this naming convention, and the other comments mentioned. Should file names also be updated, or is it just within the urdf / xacros? |
Everything needs to be consistent. As this is a package in an experimental repository, that is allowed without consideration for any bw-compatibility. |
We should clarify that for support pkg naming, no variant names should be used. With the grouping of the |
@gavanderhoorn & @shaun-edwards, would this be the best place for documenting the naming convention for the abb robots? |
I'd like to keep that page about working with the pkgs. We could update File and directory layout for robot support repositories (or I should finish the rep version some time and add it there, as an appendix or something). |
Possible text for ABB specific naming rules for the linked wiki page/rep: Appendix A: Vendor specific namingABBVariant names for ABB manipulators may include a modifier (indicating support for a particular feature, or a physical characteristic of the variant), a payload specification (one or more digits, indicating maximum supported payload in kg) and finally a specification of the reach of the arm (in meters). Examples: IRB 1600 - 10 / 1.2 and IRB 4400L - 10. All ABB support packages shall be named using the following template:
Note that this template omits the modifier, payload and reach components included in the actual product name. All artefacts within ABB support, MoveIt configuration and plugin packages shall be named using the following template:
Where MODEL is a numeric string, MODIFIER is a string, PAYLOAD is a numeric string (max payload in kg) and REACH is a numeric string (reach converted to centimeters, avoiding fractional numbers). If a particular model does not have variants based on reach, the REACH component should be omitted from the ROS-Industrial name as well. Examples: @Levi-Armstrong: does that make sense? |
@gavanderhoorn I've renamed all files to follow your outlined convention, but I will wait for confirmation from @Levi-Armstrong before committing. One thing I have yet to fix is the error with the x-axis translations, as I can't find the CAD model for the L30 on the ABB website and so I'm not sure how to modify the meshes. Should I translate the mesh origins using something like blender, or is there an easier approach? |
@gavanderhoorn, in reference to the vendor specific naming, I would suggest that the naming always include the reach. In the case of the irb 4400l there is two payloads variants 10kg and 30kg and they actual have different reaches; the 10kg is 2.55m and the 30kg is 2.43m. The suggest naming for the variants would be abb_irb4400l_10_255 and 4400l_30_243. Do you agree? |
@culletom; I would use meshlab to translate the mesh; the command is under Filters>Normals, Curvatures and Orientation>Transform: Move, Translate, Center. Make sure the freeze matrix is checked, if not when you save the mesh the changes will not be applied. |
@Levi-Armstrong wrote:
Hm, not sure. I've always approached these kind of issues such that the minimum amount of information should be used to discriminate between two variants. In the case you describe, the payload already uniquely identifies the variant, so including reach would seem to be unnecessary. Also, the ABB model/variant name doesn't include the reach for those models, which would make the ros-i name different. But perhaps we should split this discussion of into a separate thread/issue, as it's getting a bit off-topic for this PR. |
Let's continue on ros-industrial/abb#75 with the naming discussion. |
@Levi-Armstrong thanks for the advice, made the translations much easier. The last commit brings in all the suggested changes. I also renamed the files, but depending on the outcome of the naming discussion these might need to be renamed again. However if this ends up being the case it can be done later in a sperate PR, as other packages will have to be renamed too. |
@culletom: yeah, I'm sorry about the naming 'mess'. Thanks for sticking with us though, really appreciated. As to your last commit: as shown here, the This is probably not too apparent from the linked text, but the rationale is that only entities that are referenced externally / included in other files without the package name included in the URI need the mfg prefix, otherwise it is redundant. As an example: a xacro macro file can only be included in another xacro by referring to it like But, the actual robot macro that is defined by the macro should get the prefix, as it will be invoked as I hope it now makes sense that the I guess I should spend some time updating the documentation on support pkg layout. We do also have a support pkg generator, although it has not been widely 'advertised'. |
@gavanderhoorn no problem, naming has come up in a number of different PRs, so its important to settle once and for all! Yes what you have suggested makes perfect sense - I've updated the files to reflect this. |
@culletom, The package.xml file is missing the <build_depend>roslaunch</build_depend>, other than that it looks pretty good. Thank you for contributing. |
@@ -6,7 +6,12 @@ find_package(catkin REQUIRED) | |||
|
|||
catkin_package() | |||
|
|||
if (CATKIN_ENABLE_TESTING) | |||
find_package(roslaunch REQUIRED) | |||
roslaunch_add_file_check(tests/roslaunch_test.xml) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a DEPENDENCIES
argument to the roslaunch_add_file_check(..)
invocation. See here for an example.
@culletom: pending acceptance of the new naming guidelines for ABB pkgs, I'd say this is pretty complete now. If you address the two minor points related to the If you could squash all fixups into the first commit that would be even nicer (if you want you can extend the commit msg to keep a record of what was changed). |
…ed joint_4 and joint_6-tool0, updated meshes, reformatted.
@gavanderhoorn I've just included the |
We'll do the other pkgs when they receive other updates. I'll leave it to @Levi-Armstrong to determine whether he wants to roslaunch test all support pkgs before releasing into Indigo or not. |
@culletom: Which support packages are missing the roslaunch dependencies? |
+1 |
Fix #19: Updated abb_irb4400_support package
@Levi-Armstrong I was referring to the points brought up by @gavanderhoorn (see the last two 'outdated' line notes above), which highlight the need to include a |
Corrected joint limits and velocities, and reformatted the urdf files. Also added additional files so that it matches other support packages.