-
Notifications
You must be signed in to change notification settings - Fork 337
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
Velocity streaming #218
Comments
This phrasing makes it sound like it was a deliberate choice to remove it. That was / is not the case. It seems this was more of an oversight.
It makes quite a bit of sense to me to add support for I like using standardised interfaces, but even just for bw-compatibility the topic (and underlying infrastructure) should be added back in. Using PS: not sure what is going on with GH still: I seem to be missing a lot of notification emails. |
My apologies, it wasn't my intention to imply that.
I'm not a fan of adding the topic back, since this driver is already a bit much of a mix of different options for my taste, although backwards compatibility is definitely a big point in favor.
This driver has always provided joint velocity handles. In fact, the default spawned instance of the |
you're correct. I got my drivers mixed up :S |
I'm a fan of adding the topic back because our custom velocity controller relies on it. AFAIK, JointTrajectoryPoint messages need to be timed and can thus not be used to stream velocities. |
I believe a ros::Time(0.0) in the header of a JointTrajectoryPoint means "execute now," so that might work. I haven't had time to try it yet. |
I believe you're right, yes. But that's only regarding the timestamp in the I would, however, avoid this in favor of either using @atenpas, do you use this custom controller with anything other than this driver? Is there any other robot that implements joint speed streaming (ab)using |
Using Assigning special semantics to messages with Using proper interfaces would have my preference, and the
off-topic here, but using |
Your first statement is one of the reasons I'm against reintroducing the
I totally agree, but I find it less ugly to use |
true, but with the refactor we broke something that already worked for quite a few users. Resolving that situation is the rationale for ignoring the abuse of |
That's the only reason I see to reintroduce this functionality. However, if no other driver provides a topic with the same semantics, it may be less effort to update client code rather than updating the driver. That's why I was asking @atenpas about it, I'd like to know how bad we want backwards compatibility with a questionable functionality. Anyways, we're running in circles here. I guess the real measure of how bad this feature is needed will be to see whether anyone comes up with a PR restoring it 😉 |
Agreed. |
I'm using it on all the UR arms we have (four ur5s, one ur10). However, for now, I'm just using an older commit that still has the topic available. Do you have an example for using |
This discussion is somewhat confusing to me. Is |
I think the consensus is yes, But a @miguelprada @gavanderhoorn Can you recommend where the code for a The current error is: This occurs when launching the |
There's nothing to implement. You should only need to add the configuration below to the controller config files (e.g. ur3_controllers.yaml). joint_speed:
type: velocity_controllers/JointGroupVelocityController
joints:
- shoulder_pan_joint
- shoulder_lift_joint
- elbow_joint
- wrist_1_joint
- wrist_2_joint
- wrist_3_joint And possibly add the controller to the list of loaded controllers, e.g. here. Not sure |
Oops, and I forgot. An |
Well, I didn't need to add an |
You don't need the |
With #224 merged the I still think adding back the |
Hi,
Would you please give me some tips about how to change it to velocity control? I will appreciate your kind help. Thanks, |
@Chunting: MoveIt is kinematic planning only. It does not "plan velocities". This issue is about streaming velocity commands (ie: requesting that If you're asking how to configure the driver such that it uses the velocity-based position controllers that would be something else. |
Hi @gavanderhoorn
However, how to use it in my C++ side? But I've no idea how to send the joint velocity command to your driver in ros control mode? Is this the right way to call "joint_group_vel_controller"?
Thanks, |
Yes, using MoveIt for that does not make much sense to me. The velocities you get from a
So no: you cannot use a See here for where the subscriber is created. We're all happy to help of course, but this is really a question for the |
Thanks for your kind help. Now I accept your suggestion and try the command topic. Chunting |
the "ros control thing" is essentially just a way to get the
so by using
as I already wrote in #218 (comment), it was not a deliberate choice to "remove it", but an oversight in the Kinetic refactor. As I also wrote (in #218 (comment)), the
That should have been answered by my earlier comment. If you really want |
@gavanderhoorn Hello, I have some question about using controller_list:
- name: joint_group_vel_controller
type: velocity_controllers//JointGroupVelocityController
joints:
- shoulder_pan_joint
- shoulder_lift_joint
- elbow_joint
- wrist_1_joint
- wrist_2_joint
- wrist_3_joint And I use the
How could I fix it? thanks very much. |
with
that's a MoveIt file, it has no connection to the driver or configuring the
which is MoveIt telling you that it doesn't know anything about a You don't need to change anything in You need to make sure to start the driver in
Please note: what is described in the readme (not the PR) is how to use MoveIt with the velocity-based MoveIt cannot use a |
@gavanderhoorn Thanks for you help. I did not change the ur10_controller.yaml. I only change the controller.yaml in the ur10_moveit_config folder. I'll try to publish the FLoatMultiarray msgs to see how it works. Thanks you again! |
@gavanderhoorn Hi, I am still having some problems with the use of /joint_group_vel_controllers. I try to pub some messages to the ur10 through FLoatMultiarray msgs like the following:
But the robot last joint still can not move,could you help me to solve it ? |
Hi @Tina1994, Two things to try: Try a much smaller velocity, like: We don't want a sudden jump. Also, make sure the joint_group_vel_controller is the active controller with: If the joint_group_vel_controller is not active, use http://docs.ros.org/api/controller_manager_msgs/html/srv/SwitchController.html Hopefully the next generation of ros_control won't need switching like this. |
My bad, you're right. (edited) |
I was confused by the similar question here: UTNuclearRoboticsPublic/jog_arm#94 |
understandable. |
I'm closing this as we've officially deprecated this package. Refer to the announcement on ROS Discourse. |
Velocity streaming is supported by This will be merged with Community contributions and help would be appreciated. |
Small correction of the above: |
This is a follow up to a discussion started by this comment by @AndyZe.
The refactor of this driver got rid of the
/joint_speed
topic functionality, which could be used to stream joint velocity commands to the robot. It is an open question whether that topic should be restored, or whether similar enough functionality can be achieved by either:velocity_controllers/JointTrajectoryController
velocity_controllers/JointGroupVelocityController
Ping: @AndyZe, @gavanderhoorn
The text was updated successfully, but these errors were encountered: