0
$\begingroup$

Rosanswers logo

Hi ROS community,

We want to develop an interface to control a UR10 robot with an Xbox controller.

I can see that the joy has support for the Xbox 360 Wireless controller. My question is, would this driver also work for the Xbox One Wireless controller?

I am asking because the 360 is the old model, meaning it is harder and harder to get. On the other hand, Xbox One controller is rather easy to find and buy.

Thank you for your help! Cheers, Timo


Originally posted by tgaspar on ROS Answers with karma: 13 on 2017-07-06

Post score: 1


Original comments

Comment by sophvk on 2019-04-05:
Hi, I'm just starting to do the same for a UR10. Were you successful when trying to control it with an xbox controller? I was thinking in using a controller like the logitech extreme 3d, as I think it might be easier to controll both axis but I really don't know yet. The xbox would be easier to find.

Thank you!

Comment by tgaspar on 2019-04-08:
Hi there! I was successful at implementing the joystick control. However, it turned out that using the Xbox 360 (instead of the Xbox One) controller is way easier as the drivers for Linux are more available (at least that was the case when I was working on this). As for the control of the robot itself, my approach was to allow the control in Cartesian space through one of the analogue sticks and the two analogue triggers at the back of the controller. So X and Y were on the stick, Z (up and down) was on the two triggers. This controlled the translational motions. Upon a button press, the same commands started to control the rotation. If you have more questions, don't hesitate to ask, I will be glad to help.

Comment by sophvk on 2020-01-08:
Great, thanks. I had this project on standby and now I am back with it. I am a little bit lost on how to control it itself, did you do it using moveit? Or subscribing to topics? If you could give me a line or two about how to achieve this it would be very much appreciated!

Comment by tgaspar on 2020-01-09:
It was not that simple. For various reasons, we implemented a low-level real-time server that controlled the UR directly by sending joint angles to the UR controller. That allowed us to implement various motion modes that we could modify ourselves depending on our needs. One of those was the "Cartesian velocity mode". In this mode, our custom real-time server used IK to estimate joint values that would be sent to the UR controller. So on the top-level, we could therefore link the joystick inputs to the "Cartesian velocity mode" inputs. I know it does not help you directly but I hope this information gives you an idea how you could solve this for your case.

Comment by sophvk on 2020-01-09:
It does, it actually helps a lot as I was planning on doing something similar, with IK and a server feeding the joint angles (I am not sure yet if using movej or there is another way regarding ROS topics, but I will find out, I still have a lot to study). Thank you!

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Support for joysticks and controllers in general will first and foremost depend on whether Linux (or the OS) supports it.

Any joystick using the regular /dev/js/.. devices (using the input sub system) should work and would probably only need a proper button and axes mapping config.

A quick google ("linux xbox one controller") results in things like paroj/xpad and How to Set Up an Xbox One Controller in Ubuntu (I picked a random result, I don't know whether it'll work), so it would seem there is at least some support.

I can see that the joy has support for the Xbox 360 Wireless controller

It's hopefully clear that joy doesn't really have support for anything. It just uses the regular Linux joystick (or really: input sub system) support.

I expect the joy node will pick the jsX devices up and from there on things should just work (provided you configure the mapping).


Originally posted by gvdhoorn with karma: 86574 on 2017-07-06

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by tgaspar on 2017-07-06:
Thank you very much for your answer.

I did check if the Xbox One Wireless controller has a Linux driver and came to the same conclusion as you did: that it should work. But of course I wanted to hear a second opinion on that.

I will provide my findings and update once I try it.

Thanks again.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.