-
Notifications
You must be signed in to change notification settings - Fork 196
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
unable to control the robot with the motoman_driver #428
Comments
Have you seen #415? |
Yes, I have now. Not sure how it is relevant. Could it be a little more specific. |
It is relevant as that PR contributes the robot support package for the HC10DT-B10. This includes the The problem you report seems to be caused by the fact you're not loading the required parameters, which would likely be fixed if you'd use the files contributed by that PR. I'd also recommend against copy-pasting and mixing-and-matching files from other packages.
this was specifically removed in #333. It seems the references in the tutorial you mention were not removed. I would not recommend you use that script any longer. Edit: from your description I assumed you were trying to use a variant of the HC10DT which was not yet supported. #415 would show how to properly add support for such a variant. If that's not what you're trying to do, please clarify. |
Oh, and please note:
this is not an officially supported combination. Could you clarify whether it's WSL or WSL2? (this won't matter for the problem you encounter, but it is important information) |
If your main (first?) goal is to get the driver started, I would recommend to reuse the existing
That should start everything up as needed for the base driver. You should not need to create any files yourself for this. Note that I would not expect this to work with the original version of WSL, and there could be networking issues with WSL2. |
Tracking updating that tutorial in #431. |
I was using WSL2 and that could have been the issue here. How can I confirm if it's working? Is there another way to control the robot without MoveIt? I am able to call the enable and disable service and I can hear the definitive click of the robot brakes releasing. |
I'm trying to use the MoveIt! interface to control a HC10DT robot. I'm not married to the idea of using MoveIt! so if there are other ways I can write python code to control the robot motion, I am willing to try it. I need the robot to move in complex trajectories to support a 3D printing research task. |
that's what the Note that it's a re:
What have you changed exactly? Unless you have an absolute need (ie: it cannot be solved any other way), I would advice you to not edit files in this repository. The base driver should not need it. I would actually advise you to revert whatever you have changed in It would probably be similar to motoman_hc10_support/launch/robot_state_visualize_hc10dt.launch (but don't edit that file).
Of course. There is no requirement for MoveIt whatsoever. The only thing you need to do is write a See #229 for an example. Note that this will mean you are now responsible for making sure trajectories are valid, continuous and collision free. The driver does not perform collision checks. It's purely a remote motion interface, and the robot will attempt to execute what you send it.
Then there's a good chance things are working.
you're probably aware already, but if "3D printing" is the variant with micro-metre precision requirements then a typical industrial robot will most likely not be able to satisfy those. Edit: btw: why do you copy repositories in their entirety into your repository? That's rather uncommon, and seems to defeat the purpose a little. |
I would also recommend you take a look at Working with ROS-Industrial Robot Support Packages, which tries to clarify how robot support packages are structured and what the role is of the files you may find in them. |
This is for concrete 3D printing, so we don't require micrometer precision. We want to be able to input complex patterns and have the robot follow it.
I didn't understand this. How else can I build a repository without cloning it onto my PC and building it? |
I noticed adhitir/nsf-hc10dt in your account. The ros-stacks sub directory there contains complete copies of the That would not seem to be needed. |
Ah, yes, that is correct. I need to clean that up. My advisor needed me to upload ALL the files in my workspace at the time. |
I used the motoman_hc10_support package and I was able to move the robot with the FollowJointTrajectory action client. I'll be closing this ticket now. |
I would probably use trac_ik, as it tends to produce higher quality results and is very similar to KDL. Or, use opw_kinematics. That's, similar to IKFast, very fast (analytic solver) and very well suited for 6dof industrial robots with ortho-normal wrists. You'd have to find the values for the required parameters though (see the paper and the linked repository). Note that you could also take a look at something like ros-industrial/tesseract. It's not easy, but it's a pretty OK motion planning framework which is more geared towards tool-path based motion planning (ie: optimise trajectories of manipulators while taking tool orientation into account). It sounds like that would be something you're going to be doing. Or: see whether compas_fab works for you. That could be even easier. |
Thank you for all these recommendations! |
Robot: HC10DT
ROS Version: Ubuntu 18:04 with Melodic through Windows WSL
I've been following the tutorials here (http://wiki.ros.org/motoman_driver/Tutorials/Usage) to get a HC10DT robot working with MoveIt! So far, I have had little success.
The tutorial says to use
which cannot be used directly as a xacro file is provided. I added these lines in the robot_interface launch file
and I've used the joint names specified in the motoman_hc10_support/config/joint_names_hc10dt.yaml file.
Firstly, I get this warning when I run the launch file:
The move_to_joint.py is missing in the current driver by the way. I had an older version of the motoman driver, so I extracted the file from there and used it. I gave the code the current joint state of the robot and I got this error:
When I try and run the moveit package it get the following errors:
What steps am I missing? Why am I not able to control the robot with MoveIt?
The text was updated successfully, but these errors were encountered: