Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

Playstation 2 controller

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
14 postsPage 1 of 1
14 postsPage 1 of 1

Playstation 2 controller

Post by StuartL » Fri Aug 15, 2008 7:48 am

Post by StuartL
Fri Aug 15, 2008 7:48 am

Earlier this week Matt and I got a 'spare' AX-12 servo board talking to a Playstation 2 wireless controller receiver. Once we'd resolved some of the hardware issues (e.g. getting 3.3v from a 5v board) we managed it easily and can now get full wireless remote control of the Bioloid on the 1Mbit bus.

In hindsight I also believe we can do the same trick by modifying the CM-5.

However it occurs to me that there may be a market for this. I'm not interested in making money off the community for PS2 controllers but if there's enough of a market to compensate my time for putting these into production I'll look more into it.

The device would be a PS/2 controller to 1MBit bus bridge. The interface would be comparable to a servo but the RAM bytes you read will be the controller inputs. Right now we're struggling to find a source of PS2 controller sockets without spending money on extension leads, if any of you know of a source of them we could avoid releasing the board as a solder-only and even allow you to hot-plug the controller.

Thoughts?
Earlier this week Matt and I got a 'spare' AX-12 servo board talking to a Playstation 2 wireless controller receiver. Once we'd resolved some of the hardware issues (e.g. getting 3.3v from a 5v board) we managed it easily and can now get full wireless remote control of the Bioloid on the 1Mbit bus.

In hindsight I also believe we can do the same trick by modifying the CM-5.

However it occurs to me that there may be a market for this. I'm not interested in making money off the community for PS2 controllers but if there's enough of a market to compensate my time for putting these into production I'll look more into it.

The device would be a PS/2 controller to 1MBit bus bridge. The interface would be comparable to a servo but the RAM bytes you read will be the controller inputs. Right now we're struggling to find a source of PS2 controller sockets without spending money on extension leads, if any of you know of a source of them we could avoid releasing the board as a solder-only and even allow you to hot-plug the controller.

Thoughts?
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by i-Bot » Fri Aug 15, 2008 8:42 am

Post by i-Bot
Fri Aug 15, 2008 8:42 am

I never found a source of the sockets alone. A cheap Multitap gave me 4 sockets at low cost, but still a bit of a pain.

I tend to use the receivers without connectors, the connectors are so big. I prefer the Logitech because it is physically smaller. I unsolder the plug and wire direct to the board. I can get the Logitech and the interface into a Robobuilder head, didn't try it into an AX servo case.
I never found a source of the sockets alone. A cheap Multitap gave me 4 sockets at low cost, but still a bit of a pain.

I tend to use the receivers without connectors, the connectors are so big. I prefer the Logitech because it is physically smaller. I unsolder the plug and wire direct to the board. I can get the Logitech and the interface into a Robobuilder head, didn't try it into an AX servo case.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by StuartL » Mon Aug 18, 2008 2:58 pm

Post by StuartL
Mon Aug 18, 2008 2:58 pm

I'm guessing from the tumbleweed response that there's not a lot of interest in a module to do this. I don't have a problem with this and will shelve the idea, but do shout out if you're interested.
I'm guessing from the tumbleweed response that there's not a lot of interest in a module to do this. I don't have a problem with this and will shelve the idea, but do shout out if you're interested.
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by trey3670 » Tue Aug 19, 2008 12:27 am

Post by trey3670
Tue Aug 19, 2008 12:27 am

I am intrersted and dont be discouraged,its been slow around here.
I am intrersted and dont be discouraged,its been slow around here.
trey3670
Savvy Roboteer
Savvy Roboteer
Posts: 115
Joined: Mon Dec 24, 2007 1:03 am

Post by Will » Tue Aug 19, 2008 5:19 am

Post by Will
Tue Aug 19, 2008 5:19 am

Hi from Will,
i think the ps controller is very popular and perhaps so much so no one is bothering to say.
its going to sell, thats what i reckon,

Bye for now and be well from Will.
Hi from Will,
i think the ps controller is very popular and perhaps so much so no one is bothering to say.
its going to sell, thats what i reckon,

Bye for now and be well from Will.
Will
Robot Builder
Robot Builder
Posts: 16
Joined: Mon Apr 30, 2007 11:26 am

Post by limor » Thu Aug 21, 2008 4:13 pm

Post by limor
Thu Aug 21, 2008 4:13 pm

Hi,

Getting compensated financially for your hobby robotics time is unfortunately very rare. You'd be spending at least 6 hours to put together a module/solution, deal with customers, take their money, buy stuff, package stuff, ship stuff.. with your modules/solutions costing $70 retail and your profit will be about $10. At that price level you'll be selling maybe 10-20 units over a 3 months period. Engineer's time in US is worth at least 30$/hour.. :roll:

why don't you document everything you did and show some pictures and video?. This will generate the interest you are looking for.

Another solution could involve the Sixaxis or Dualshock bluetooth controllers now available online for under $30

Setting up Bluetooth on CM5 has been extensively documented (see the bioloid knowledgebase)
Hi,

Getting compensated financially for your hobby robotics time is unfortunately very rare. You'd be spending at least 6 hours to put together a module/solution, deal with customers, take their money, buy stuff, package stuff, ship stuff.. with your modules/solutions costing $70 retail and your profit will be about $10. At that price level you'll be selling maybe 10-20 units over a 3 months period. Engineer's time in US is worth at least 30$/hour.. :roll:

why don't you document everything you did and show some pictures and video?. This will generate the interest you are looking for.

Another solution could involve the Sixaxis or Dualshock bluetooth controllers now available online for under $30

Setting up Bluetooth on CM5 has been extensively documented (see the bioloid knowledgebase)
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by i-Bot » Thu Aug 21, 2008 4:57 pm

Post by i-Bot
Thu Aug 21, 2008 4:57 pm

I am not sure these bluetooth controllers will work direct to the CM5. The blutooth controllers use HID over bluetooth. The CM5 bluetooth interfaces use serial over bluetooth.

The controller NovaOne did for the Robonova uses serial over bluetooth.

If you want an underengineered solution try the new Robobuilder controller. :wink:
I am not sure these bluetooth controllers will work direct to the CM5. The blutooth controllers use HID over bluetooth. The CM5 bluetooth interfaces use serial over bluetooth.

The controller NovaOne did for the Robonova uses serial over bluetooth.

If you want an underengineered solution try the new Robobuilder controller. :wink:
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by limor » Thu Aug 21, 2008 5:47 pm

Post by limor
Thu Aug 21, 2008 5:47 pm

i-Bot wrote:I am not sure these bluetooth controllers will work direct to the CM5. The blutooth controllers use HID over bluetooth. The CM5 bluetooth interfaces use serial over bluetooth.

The controller NovaOne did for the Robonova uses serial over bluetooth.

If you want an underengineered solution try the new Robobuilder controller. :wink:


yes, you are right.. i just recalled that I previously hypothesized similar functionality using the Wii and you had responded and so has google that there was no recorded successful interface between bluesmirf and Wii.

I found some relevant links to interfacing with the sixaxis / duashock bluetooth . from what i understand it sounds like they involve listening to the bluetooth communication in promiscuous mode and doing the pairing/authentication by USB over bluetooth..

http://www.pabr.org/sixlinux/sixlinux.en.html -- "The SIXAXIS apparently does not support the standard Bluetooth pairing procedure"
http://thread.gmane.org/gmane.linux.bluez.devel/14354
http://onakasuita.org/ps3/
i-Bot wrote:I am not sure these bluetooth controllers will work direct to the CM5. The blutooth controllers use HID over bluetooth. The CM5 bluetooth interfaces use serial over bluetooth.

The controller NovaOne did for the Robonova uses serial over bluetooth.

If you want an underengineered solution try the new Robobuilder controller. :wink:


yes, you are right.. i just recalled that I previously hypothesized similar functionality using the Wii and you had responded and so has google that there was no recorded successful interface between bluesmirf and Wii.

I found some relevant links to interfacing with the sixaxis / duashock bluetooth . from what i understand it sounds like they involve listening to the bluetooth communication in promiscuous mode and doing the pairing/authentication by USB over bluetooth..

http://www.pabr.org/sixlinux/sixlinux.en.html -- "The SIXAXIS apparently does not support the standard Bluetooth pairing procedure"
http://thread.gmane.org/gmane.linux.bluez.devel/14354
http://onakasuita.org/ps3/
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by Bullit » Thu Aug 21, 2008 8:16 pm

Post by Bullit
Thu Aug 21, 2008 8:16 pm

We use PS3 sixaxis and DS3 (dual Shock 3) with our robots with the Gumstix Verdex and linux. We use the HID interface to communicate with them. The controllers need to be paired via USB. Internal to the PS3 controller there is a standard ALPs bluetooth module. The controllers output 50 byte HID packets every 10ms so they are much faster then human reaction time, generally considered to be about 100ms.

StuartL,
There is a new Robotis controller coming out soon for the bioloid. I haven't seen all the specs yet but I know they bring out pins for sensor modules so perhaps they bring out i2c and/or spi. In our earlier robots we used the CM-2 controller and the SPI interface to connect up Logitech PS2 controllers. You have to be careful to only power them with 3.3V though.
We use PS3 sixaxis and DS3 (dual Shock 3) with our robots with the Gumstix Verdex and linux. We use the HID interface to communicate with them. The controllers need to be paired via USB. Internal to the PS3 controller there is a standard ALPs bluetooth module. The controllers output 50 byte HID packets every 10ms so they are much faster then human reaction time, generally considered to be about 100ms.

StuartL,
There is a new Robotis controller coming out soon for the bioloid. I haven't seen all the specs yet but I know they bring out pins for sensor modules so perhaps they bring out i2c and/or spi. In our earlier robots we used the CM-2 controller and the SPI interface to connect up Logitech PS2 controllers. You have to be careful to only power them with 3.3V though.
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by limor » Thu Aug 21, 2008 11:46 pm

Post by limor
Thu Aug 21, 2008 11:46 pm

There's a thread on the Robonova forum where someone connected a Wii nunchuck to an Arduino with bluetooth and controlled a Robonova. Should also work with a CM5 with bluetooth.
http://robosavvy.com/forum/viewtopic.php?t=2748
There's a thread on the Robonova forum where someone connected a Wii nunchuck to an Arduino with bluetooth and controlled a Robonova. Should also work with a CM5 with bluetooth.
http://robosavvy.com/forum/viewtopic.php?t=2748
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by BillB » Wed Aug 27, 2008 9:46 am

Post by BillB
Wed Aug 27, 2008 9:46 am

Back from hols - catching up on the posts.

StuartL - count me in for one of these devices. It will open some exciting possibilities.

My experience in using an XBOX 360 gamepad to control my Bioloid/Robonova is that you can not have enough buttons. It would be great if your device could detect double clicks of a the gamepad buttons. That way you can effectively double the number of gamepad buttons. I have tried doing this on the CM5 - but is simply not fast enough. Distributing the responsibility of detecting double clicks to your PS2 device would be great.
Back from hols - catching up on the posts.

StuartL - count me in for one of these devices. It will open some exciting possibilities.

My experience in using an XBOX 360 gamepad to control my Bioloid/Robonova is that you can not have enough buttons. It would be great if your device could detect double clicks of a the gamepad buttons. That way you can effectively double the number of gamepad buttons. I have tried doing this on the CM5 - but is simply not fast enough. Distributing the responsibility of detecting double clicks to your PS2 device would be great.
BillB
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 232
Joined: Sun Aug 06, 2006 1:00 am
Location: Hampshire, UK

Post by StuartL » Sat Aug 30, 2008 8:26 am

Post by StuartL
Sat Aug 30, 2008 8:26 am

BillB wrote:My experience in using an XBOX 360 gamepad to control my Bioloid/Robonova is that you can not have enough buttons. It would be great if your device could detect double clicks of a the gamepad buttons. That way you can effectively double the number of gamepad buttons. I have tried doing this on the CM5 - but is simply not fast enough. Distributing the responsibility of detecting double clicks to your PS2 device would be great.


That is not difficult, I'm sure we can do that.

How about 'number of presses of button since last poll per button'?

Of course the next question is how do you want the user interface to look? The more bytes you send across the bus the slower the poll will be.

Right now we've got two bytes of digital button state and four bytes of analog controller state. If you want button counts that number is going to increase dramatically, but it's only one poll per cycle. We can do a lot of pre-calc, of course.

How about a second set of bytes for the digital buttons which are set if there was more than one press since the last poll? If you're polling quite fast you might not catch a double click this way.

When we get the first custom built prototype working I'll try to remember to get hardware timers involved and see if we can reliably determine double clicks in hardware...
BillB wrote:My experience in using an XBOX 360 gamepad to control my Bioloid/Robonova is that you can not have enough buttons. It would be great if your device could detect double clicks of a the gamepad buttons. That way you can effectively double the number of gamepad buttons. I have tried doing this on the CM5 - but is simply not fast enough. Distributing the responsibility of detecting double clicks to your PS2 device would be great.


That is not difficult, I'm sure we can do that.

How about 'number of presses of button since last poll per button'?

Of course the next question is how do you want the user interface to look? The more bytes you send across the bus the slower the poll will be.

Right now we've got two bytes of digital button state and four bytes of analog controller state. If you want button counts that number is going to increase dramatically, but it's only one poll per cycle. We can do a lot of pre-calc, of course.

How about a second set of bytes for the digital buttons which are set if there was more than one press since the last poll? If you're polling quite fast you might not catch a double click this way.

When we get the first custom built prototype working I'll try to remember to get hardware timers involved and see if we can reliably determine double clicks in hardware...
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by JonHylands » Sat Aug 30, 2008 5:03 pm

Post by JonHylands
Sat Aug 30, 2008 5:03 pm

StuartL wrote:Of course the next question is how do you want the user interface to look? The more bytes you send across the bus the slower the poll will be.


Well, the nice thing about Bioloid devices is they can compute all kinds of stuff, but you don't have to ask for it all... If you want more bytes, you get them, otherwise they just stay in the control table.

- Jon
StuartL wrote:Of course the next question is how do you want the user interface to look? The more bytes you send across the bus the slower the poll will be.


Well, the nice thing about Bioloid devices is they can compute all kinds of stuff, but you don't have to ask for it all... If you want more bytes, you get them, otherwise they just stay in the control table.

- Jon
JonHylands
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 512
Joined: Thu Nov 09, 2006 1:00 am
Location: Ontario, Canada

Post by BillB » Sun Aug 31, 2008 7:57 am

Post by BillB
Sun Aug 31, 2008 7:57 am

That is not difficult, I'm sure we can do that.


Glad to hear that.

How about 'number of presses of button since last poll per button'?


This would be nice but of limited use in controlling the Bioloid since you will potentially get different values depending upon the polling frequency, and would not work well when the polling occurs half way through a double click. A dedicated double click flag would be most useful.

Right now we've got two bytes of digital button state and four bytes of analog controller state.


I have found that the resolution of the Analogue thumbsticks is far too accurate and can be slightly jittery. In my XBOX360 implementation I have quantised each analogue stick into one byte containing only 9 possible values. One value for each direction of the compass including diagonals (so 8 different values) and one for the centre position. That way there is far less jitter, and provides smaller range of values that is easier for the CM5 to cope with (especially for those using BCP rather than a C).
That is not difficult, I'm sure we can do that.


Glad to hear that.

How about 'number of presses of button since last poll per button'?


This would be nice but of limited use in controlling the Bioloid since you will potentially get different values depending upon the polling frequency, and would not work well when the polling occurs half way through a double click. A dedicated double click flag would be most useful.

Right now we've got two bytes of digital button state and four bytes of analog controller state.


I have found that the resolution of the Analogue thumbsticks is far too accurate and can be slightly jittery. In my XBOX360 implementation I have quantised each analogue stick into one byte containing only 9 possible values. One value for each direction of the compass including diagonals (so 8 different values) and one for the centre position. That way there is far less jitter, and provides smaller range of values that is easier for the CM5 to cope with (especially for those using BCP rather than a C).
BillB
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 232
Joined: Sun Aug 06, 2006 1:00 am
Location: Hampshire, UK


14 postsPage 1 of 1
14 postsPage 1 of 1