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

Wireless Control

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
65 postsPage 2 of 51, 2, 3, 4, 5
65 postsPage 2 of 51, 2, 3, 4, 5

Post by AlphA » Fri Apr 25, 2008 5:39 am

Post by AlphA
Fri Apr 25, 2008 5:39 am

Also, if anyone wants to try this with Zig-Bee and/or BlueTooth and let me know if the latency increases significantly compared to direct serial, I would appreciate it.
Also, if anyone wants to try this with Zig-Bee and/or BlueTooth and let me know if the latency increases significantly compared to direct serial, I would appreciate it.
AlphA
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 48
Joined: Mon Jan 07, 2008 6:12 am
Location: Ohio

Post by StuartL » Fri Apr 25, 2008 7:19 am

Post by StuartL
Fri Apr 25, 2008 7:19 am

I've been playing with Zigbee and yes, the latency increases. The throughput is pretty good but there's definitely range problems depending on the Zigbee pair you're using and the orientation, distance and surroundings. At some point I intend to test this.

When you're using the Zigbee as a raw serial device (i.e. most of the time) sometimes bytes just don't arrive. Using the zigbee and a terminal as an interactive control this is slightly frustrating but not disastrous. When you're uploading firmware it's a nightmare.

If you were to write a retransmission layer over the top of the Zigbee (as we intend to do) then the problem goes away, but standard terminal clients can no longer be used.

Another subject for intended experimentation is to examine the pin input wired to the Zigbee LED when transmissions hiccup. It's plausible that this pin will change state when the Zigbee is unable to pair.
I've been playing with Zigbee and yes, the latency increases. The throughput is pretty good but there's definitely range problems depending on the Zigbee pair you're using and the orientation, distance and surroundings. At some point I intend to test this.

When you're using the Zigbee as a raw serial device (i.e. most of the time) sometimes bytes just don't arrive. Using the zigbee and a terminal as an interactive control this is slightly frustrating but not disastrous. When you're uploading firmware it's a nightmare.

If you were to write a retransmission layer over the top of the Zigbee (as we intend to do) then the problem goes away, but standard terminal clients can no longer be used.

Another subject for intended experimentation is to examine the pin input wired to the Zigbee LED when transmissions hiccup. It's plausible that this pin will change state when the Zigbee is unable to pair.
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by AlphA » Tue Apr 29, 2008 9:11 pm

Post by AlphA
Tue Apr 29, 2008 9:11 pm

Range isn't much of an issue since I would be using it from a few feet away at most. I'm content with using a physical connection for uploading programs. It would be nice to upload motions wirelessly, but even that can be done via wire if need be. The main goal is to control the Bioloid remotely.

I understand that latency, loss of connection and interference is worse with BlueTooth. Has anyone found this to be true? I am going to break down and get either Zig-Bee or BlueSMiRF as soon as I figure out which is better for remote control, where reliable connection and low latency response time is most important. So far, it sounds like Zig-Bee may be the better choice. Anyone care to confirm or argue otherwise?
Range isn't much of an issue since I would be using it from a few feet away at most. I'm content with using a physical connection for uploading programs. It would be nice to upload motions wirelessly, but even that can be done via wire if need be. The main goal is to control the Bioloid remotely.

I understand that latency, loss of connection and interference is worse with BlueTooth. Has anyone found this to be true? I am going to break down and get either Zig-Bee or BlueSMiRF as soon as I figure out which is better for remote control, where reliable connection and low latency response time is most important. So far, it sounds like Zig-Bee may be the better choice. Anyone care to confirm or argue otherwise?
AlphA
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 48
Joined: Mon Jan 07, 2008 6:12 am
Location: Ohio

Post by Bullit » Tue Apr 29, 2008 10:59 pm

Post by Bullit
Tue Apr 29, 2008 10:59 pm

I have not used Zigbee but as I understand it Zigbee has no error correction built in. Bluetooth on the other hand does. I have used Bluetooth in my robots for some time and have found it to be very robust against interference. Especially if you use Bluetooth 2 which is specifically designed to work along side wifi equipment. To my knowledge I have never lost a byte with Bluetooth. I would say that latency his likely higher with Bluetooth but this depends on drivers and hardware on both sides. I think the bluesmirf by itself is likely low latency, perhaps 2-3 ms but a bluetooth USB adapter in your PC maybe up to 100ms. I currently use a PS3 bluetooth controller with my gumstix processor in my robot and latency is less then 10ms between them. The gumstix to the PC is probably higher latency but since I don't need low latency there and the gumstix offers 921k baud for transferring programs and data that works well for me.
Realistically 100ms is not a problem unless you need dynamic feedback from your robot to a PC program. Simply controlling your robot should be fine given human reaction time is also 100ms.

Hope this helps :)
I have not used Zigbee but as I understand it Zigbee has no error correction built in. Bluetooth on the other hand does. I have used Bluetooth in my robots for some time and have found it to be very robust against interference. Especially if you use Bluetooth 2 which is specifically designed to work along side wifi equipment. To my knowledge I have never lost a byte with Bluetooth. I would say that latency his likely higher with Bluetooth but this depends on drivers and hardware on both sides. I think the bluesmirf by itself is likely low latency, perhaps 2-3 ms but a bluetooth USB adapter in your PC maybe up to 100ms. I currently use a PS3 bluetooth controller with my gumstix processor in my robot and latency is less then 10ms between them. The gumstix to the PC is probably higher latency but since I don't need low latency there and the gumstix offers 921k baud for transferring programs and data that works well for me.
Realistically 100ms is not a problem unless you need dynamic feedback from your robot to a PC program. Simply controlling your robot should be fine given human reaction time is also 100ms.

Hope this helps :)
Bullit
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 291
Joined: Wed May 31, 2006 1:00 am
Location: Near robot

Post by AlphA » Thu May 01, 2008 3:06 pm

Post by AlphA
Thu May 01, 2008 3:06 pm

Thanks for the input. I may be back on the fence again.

So, if I was to make a side by side comparison, the latency difference between BlueTooth and Zig-Bee (as a real time controller) wouldn't be perceivable? If so, that puts BlueTooth back in the race.

What are some of the reasons you guys you went with BlueTooth over ZigBee? Error correction? The incorporation of BlueTooth in most other devices (Laptops, HandHelds)?

Has anyone actually tried this with either wireless solution?
Thanks for the input. I may be back on the fence again.

So, if I was to make a side by side comparison, the latency difference between BlueTooth and Zig-Bee (as a real time controller) wouldn't be perceivable? If so, that puts BlueTooth back in the race.

What are some of the reasons you guys you went with BlueTooth over ZigBee? Error correction? The incorporation of BlueTooth in most other devices (Laptops, HandHelds)?

Has anyone actually tried this with either wireless solution?
Last edited by AlphA on Mon May 05, 2008 8:05 pm, edited 2 times in total.
AlphA
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 48
Joined: Mon Jan 07, 2008 6:12 am
Location: Ohio

Post by trey3670 » Thu May 01, 2008 4:26 pm

Post by trey3670
Thu May 01, 2008 4:26 pm

the file you linked to seems corrupt,got another link for that,been looking for it
the file you linked to seems corrupt,got another link for that,been looking for it
trey3670
Savvy Roboteer
Savvy Roboteer
Posts: 115
Joined: Mon Dec 24, 2007 1:03 am

Post by BillB » Thu May 01, 2008 4:43 pm

Post by BillB
Thu May 01, 2008 4:43 pm

I have been using Bluetooth for quite a while now. Primarily because the Zig100 was not available when I bought my Bioloid. I have no complaints with Bluetooth and no real reason to move to Zig100 - apart perhaps not needing to hack holes in my CM5 in order to fit the Bluesmirf inside.

The only minor hassle is that if you power off the CM5 and turn it back on then this will break the connection and you will need to reconnect. I have some relatively complicated BCP programms running and sometimes the CM5 crashes and I need to restart (and consequently break the connection).

I have now set up a bi-directional communication with the CM5. The PC will send byte commands to the CM5 and in response to particular commands the CM5 will send a response. A 'ping' if you like. That way the PC knows when a conneciton has been lost, or the CM5 is turned off. After 3 'pings' the PC closes the port and will automatically try to reconnect.

Not sure whether my set up will work with with Zig-Bee, but so far it works very well with Bluetooth.

Hope this helps.
I have been using Bluetooth for quite a while now. Primarily because the Zig100 was not available when I bought my Bioloid. I have no complaints with Bluetooth and no real reason to move to Zig100 - apart perhaps not needing to hack holes in my CM5 in order to fit the Bluesmirf inside.

The only minor hassle is that if you power off the CM5 and turn it back on then this will break the connection and you will need to reconnect. I have some relatively complicated BCP programms running and sometimes the CM5 crashes and I need to restart (and consequently break the connection).

I have now set up a bi-directional communication with the CM5. The PC will send byte commands to the CM5 and in response to particular commands the CM5 will send a response. A 'ping' if you like. That way the PC knows when a conneciton has been lost, or the CM5 is turned off. After 3 'pings' the PC closes the port and will automatically try to reconnect.

Not sure whether my set up will work with with Zig-Bee, but so far it works very well with Bluetooth.

Hope this helps.
BillB
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 232
Joined: Sun Aug 06, 2006 1:00 am
Location: Hampshire, UK

Post by StuartL » Fri May 02, 2008 7:20 am

Post by StuartL
Fri May 02, 2008 7:20 am

For the record: There were three reasons I went for the Zigbee interfaces.

1) They drop right in (software and hardware).

2) They were more cost effective than the Bluetooth options.

3) You can broadcast between Zigbees.

If you're not worried about a bit of hackery '1' doesn't matter. If the costs have levelled out or aren't important to you then '2' doesn't matter. If you never have more than one robot/host '3' doesn't matter. For me I want the robots to talk to each other and the PC at the same time.

With both Zigbee and Bluetooth you have interference and loss of data. The difference between them is that with Zigbee you lose the data and have to retransmit at application or user level. With Bluetooth it does this automatically but at a cost of latency.

Whether this latency is really anything to worry about is yet to be seen but if you've got the cash to spend, only need the PC to talk to the Bioloid and don't really care about the little hackery you require to get the BlueSmirf into the CM-5 then there's no decision, really...
For the record: There were three reasons I went for the Zigbee interfaces.

1) They drop right in (software and hardware).

2) They were more cost effective than the Bluetooth options.

3) You can broadcast between Zigbees.

If you're not worried about a bit of hackery '1' doesn't matter. If the costs have levelled out or aren't important to you then '2' doesn't matter. If you never have more than one robot/host '3' doesn't matter. For me I want the robots to talk to each other and the PC at the same time.

With both Zigbee and Bluetooth you have interference and loss of data. The difference between them is that with Zigbee you lose the data and have to retransmit at application or user level. With Bluetooth it does this automatically but at a cost of latency.

Whether this latency is really anything to worry about is yet to be seen but if you've got the cash to spend, only need the PC to talk to the Bioloid and don't really care about the little hackery you require to get the BlueSmirf into the CM-5 then there's no decision, really...
StuartL
Savvy Roboteer
Savvy Roboteer
Posts: 350
Joined: Mon Jun 04, 2007 3:46 pm
Location: Thatcham, Berkshire, UK

Post by AlphA » Mon May 05, 2008 8:23 pm

Post by AlphA
Mon May 05, 2008 8:23 pm

hmmm. Now I'm leaning toward bluetooth.
the file you linked to seems corrupt,got another link for that,been looking for it

It should just open up a small window for you to enter a com port. I've tried it on 3 laptops and a PC, so it should be fine. Just to be sure, I zipped it up.
Try again.
http://bigmech.com/bioloid/wp-content/uploads/2008/05/bioloidserialcontrol.zip
hmmm. Now I'm leaning toward bluetooth.
the file you linked to seems corrupt,got another link for that,been looking for it

It should just open up a small window for you to enter a com port. I've tried it on 3 laptops and a PC, so it should be fine. Just to be sure, I zipped it up.
Try again.
http://bigmech.com/bioloid/wp-content/uploads/2008/05/bioloidserialcontrol.zip
AlphA
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 48
Joined: Mon Jan 07, 2008 6:12 am
Location: Ohio

Post by trey3670 » Tue May 06, 2008 12:26 am

Post by trey3670
Tue May 06, 2008 12:26 am

that did the trick thanks!
that did the trick thanks!
trey3670
Savvy Roboteer
Savvy Roboteer
Posts: 115
Joined: Mon Dec 24, 2007 1:03 am

Post by trey3670 » Sat May 10, 2008 9:15 pm

Post by trey3670
Sat May 10, 2008 9:15 pm

ok forgive me for asking for some more help I just am not as familar with software as I want to be,how do I enable the rest of the buttons and edit the motion to button file?
I opened the .ini file and tried that but no luck didnt think it would but thought I would try! :oops:
ok forgive me for asking for some more help I just am not as familar with software as I want to be,how do I enable the rest of the buttons and edit the motion to button file?
I opened the .ini file and tried that but no luck didnt think it would but thought I would try! :oops:
trey3670
Savvy Roboteer
Savvy Roboteer
Posts: 115
Joined: Mon Dec 24, 2007 1:03 am

Post by Tech Mech » Sun May 11, 2008 3:12 am

Post by Tech Mech
Sun May 11, 2008 3:12 am

I'm getting this error when I try to run your script.

Failed Dll SetCommState,SCS_Result=0
The Script Will Now Exit.

any ideas?

Thx
I'm getting this error when I try to run your script.

Failed Dll SetCommState,SCS_Result=0
The Script Will Now Exit.

any ideas?

Thx
Tech Mech
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Thu Nov 08, 2007 4:21 am
Location: Detroit Mi

Post by AlphA » Sun May 11, 2008 5:44 am

Post by AlphA
Sun May 11, 2008 5:44 am

ok forgive me for asking for some more help I just am not as familar with software as I want to be,how do I enable the rest of the buttons and edit the motion to button file?
I opened the .ini file and tried that but no luck didnt think it would but thought I would try! Embarassed

No need to apologize for asking questions. It's good to do so.
You were right to edit the ini in order to enable buttons and change motions. However, I disabled the other buttons for now. I wanted to make sure that what I had was stable before expanding capabilities. Look for those additions in the next release.
You should be able to change the motions for the first 4 buttons now. Remember, the “AttackPose” will occur before any motion associated with buttons. You can virtually nullify the AttackPose by setting it equal to what you have for Init.
As for what is currently enabled, can I assume that everything is working fine?
I'm getting this error when I try to run your script.
Failed Dll SetCommState,SCS_Result=0
The Script Will Now Exit.
any ideas?
Thx

Sounds like a Com port/Serial issue. In Windows, go to the Device Manager the look at the Ports. Make sure the Serial com port matches what you entered when running my script for the first time. You can change the port my script uses by either editing or deleting the BioloidControl.ini file. Also, if you are using a USB to Serial device, make sure it is installed properly.

I have yet to try this with Zig-Bee and BlueTooth. I’m hoping that someone else will and share their results.
ok forgive me for asking for some more help I just am not as familar with software as I want to be,how do I enable the rest of the buttons and edit the motion to button file?
I opened the .ini file and tried that but no luck didnt think it would but thought I would try! Embarassed

No need to apologize for asking questions. It's good to do so.
You were right to edit the ini in order to enable buttons and change motions. However, I disabled the other buttons for now. I wanted to make sure that what I had was stable before expanding capabilities. Look for those additions in the next release.
You should be able to change the motions for the first 4 buttons now. Remember, the “AttackPose” will occur before any motion associated with buttons. You can virtually nullify the AttackPose by setting it equal to what you have for Init.
As for what is currently enabled, can I assume that everything is working fine?
I'm getting this error when I try to run your script.
Failed Dll SetCommState,SCS_Result=0
The Script Will Now Exit.
any ideas?
Thx

Sounds like a Com port/Serial issue. In Windows, go to the Device Manager the look at the Ports. Make sure the Serial com port matches what you entered when running my script for the first time. You can change the port my script uses by either editing or deleting the BioloidControl.ini file. Also, if you are using a USB to Serial device, make sure it is installed properly.

I have yet to try this with Zig-Bee and BlueTooth. I’m hoping that someone else will and share their results.
AlphA
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 48
Joined: Mon Jan 07, 2008 6:12 am
Location: Ohio

Post by trey3670 » Mon May 12, 2008 1:25 am

Post by trey3670
Mon May 12, 2008 1:25 am

yes everything works fine! I love being able to control my bioloid with a joy stick and cant wait to start making poses for him so he can fight!

but I still cant seem to change the movement or poses that you have in there by default,I will give you a quick rundown of how I try to do it.

open bioloidcontrol.ini,it opens in notepad,
then change the numbers after the = to what I want it to do right? :?:
yes everything works fine! I love being able to control my bioloid with a joy stick and cant wait to start making poses for him so he can fight!

but I still cant seem to change the movement or poses that you have in there by default,I will give you a quick rundown of how I try to do it.

open bioloidcontrol.ini,it opens in notepad,
then change the numbers after the = to what I want it to do right? :?:
trey3670
Savvy Roboteer
Savvy Roboteer
Posts: 115
Joined: Mon Dec 24, 2007 1:03 am

Post by AlphA » Mon May 12, 2008 8:20 pm

Post by AlphA
Mon May 12, 2008 8:20 pm

Correct. However, this can only be done with Button1 - Button4. The rest of the buttons will be disabled even if your replace the "NA" with a command.
Also, remember that "PLAY " ineeds to precede the motion number EG: play 40. I decided to include the entire command in the ini in order to make button configuration as flexible as possible. For example, you could have Button4=off 10 if you wanted button 4 to remove force from servo 10.
Correct. However, this can only be done with Button1 - Button4. The rest of the buttons will be disabled even if your replace the "NA" with a command.
Also, remember that "PLAY " ineeds to precede the motion number EG: play 40. I decided to include the entire command in the ini in order to make button configuration as flexible as possible. For example, you could have Button4=off 10 if you wanted button 4 to remove force from servo 10.
AlphA
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 48
Joined: Mon Jan 07, 2008 6:12 am
Location: Ohio

PreviousNext
65 postsPage 2 of 51, 2, 3, 4, 5
65 postsPage 2 of 51, 2, 3, 4, 5