Bioloid (20 DOF) with N900 head

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

Bioloid (20 DOF) with N900 head

Post by sascha » Sun Jan 02, 2011 4:28 pm

Post by sascha
Sun Jan 02, 2011 4:28 pm

The contrustction of my bioloid with N900 head and control unit has been almost completed. I will post some photos of my work.

Robot features:
- Bioloid Premium, Type A
- 20 DOF (2 additional servos for the head)
- Head and control unit using Nokia N900 (running Maemo)
- Second LiPo
- External power adapter plug
- Button to switch between battery and power adapter mode
The contrustction of my bioloid with N900 head and control unit has been almost completed. I will post some photos of my work.

Robot features:
- Bioloid Premium, Type A
- 20 DOF (2 additional servos for the head)
- Head and control unit using Nokia N900 (running Maemo)
- Second LiPo
- External power adapter plug
- Button to switch between battery and power adapter mode
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Backplate

Post by sascha » Sun Jan 02, 2011 4:55 pm

Post by sascha
Sun Jan 02, 2011 4:55 pm

Image[/url]
Image[/url]
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Post by sascha » Sun Jan 02, 2011 4:58 pm

Post by sascha
Sun Jan 02, 2011 4:58 pm

Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Post by bluecat » Sun Jan 02, 2011 5:40 pm

Post by bluecat
Sun Jan 02, 2011 5:40 pm

Awesome,

what are the n900 capabilities ?
have you implemented object recognition ? or anything else interesting ?
Awesome,

what are the n900 capabilities ?
have you implemented object recognition ? or anything else interesting ?
bluecat offline
Robot Builder
Robot Builder
Posts: 24
Joined: Wed Jun 16, 2010 5:45 pm

N900 capabilities

Post by sascha » Sun Jan 02, 2011 8:43 pm

Post by sascha
Sun Jan 02, 2011 8:43 pm

The N900 is a very potent development platform. It runs Linux and there is a SDK to access certain parts of the hardware like the 3 axis accelerator.

Here are some of the specs:
- TI OMAP 3430: ARM Cortex-A8 600 MHz
- Up to 1GB of application memory (256 MB RAM, 768 MB virtual memory
- 3-axis accelerometer
- 5.0MP (2,584×1,938), f/2.8 Carl Zeiss Tessar lens (rear camera)
- Micro USB connector for charging or host mode
- WLAN 802.11 b/g
- Bluetooth 2.1
- Proximity Sensor

So far I installed ROS on it and can access the camera. I wrote a library to access the Robotis servos in C++ in will port them to ROS. That development was done for an insect type robot, which I build previously using the Bioloid kit and Phoenix Spider base. Finally I didn't like the result much (to heavy and bulky).
I did mount a pico mainboard on my bioloid humanoid before and an additional battery, webcam and voltage converter, but I also found the design to heavy, so I finally switched to the N900.

BTW: The N900 is connected to the USB to Dynanixel adapter, but I removed the Serial portion, since I don't need it.

Image
The N900 is a very potent development platform. It runs Linux and there is a SDK to access certain parts of the hardware like the 3 axis accelerator.

Here are some of the specs:
- TI OMAP 3430: ARM Cortex-A8 600 MHz
- Up to 1GB of application memory (256 MB RAM, 768 MB virtual memory
- 3-axis accelerometer
- 5.0MP (2,584×1,938), f/2.8 Carl Zeiss Tessar lens (rear camera)
- Micro USB connector for charging or host mode
- WLAN 802.11 b/g
- Bluetooth 2.1
- Proximity Sensor

So far I installed ROS on it and can access the camera. I wrote a library to access the Robotis servos in C++ in will port them to ROS. That development was done for an insect type robot, which I build previously using the Bioloid kit and Phoenix Spider base. Finally I didn't like the result much (to heavy and bulky).
I did mount a pico mainboard on my bioloid humanoid before and an additional battery, webcam and voltage converter, but I also found the design to heavy, so I finally switched to the N900.

BTW: The N900 is connected to the USB to Dynanixel adapter, but I removed the Serial portion, since I don't need it.

Image
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Post by billyzelsnack » Sun Jan 02, 2011 9:30 pm

Post by billyzelsnack
Sun Jan 02, 2011 9:30 pm

Very nice. How much does the N900 weigh?
Very nice. How much does the N900 weigh?
billyzelsnack offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

N900 weight

Post by sascha » Sun Jan 02, 2011 10:33 pm

Post by sascha
Sun Jan 02, 2011 10:33 pm

N900 weights 181 g

Additional specs can be found here:
http://en.wikipedia.org/wiki/Nokia_N900
and here
http://maemo.nokia.com/n900/specifications/
N900 weights 181 g

Additional specs can be found here:
http://en.wikipedia.org/wiki/Nokia_N900
and here
http://maemo.nokia.com/n900/specifications/
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Post by Fraser » Sun Jan 02, 2011 10:37 pm

Post by Fraser
Sun Jan 02, 2011 10:37 pm

Nice work, do you have any idea on the serial data latency that you get through the USB with ROS on your N900? It should be pretty realtime yes?
Nice work, do you have any idea on the serial data latency that you get through the USB with ROS on your N900? It should be pretty realtime yes?
Fraser offline
Savvy Roboteer
Savvy Roboteer
Posts: 84
Joined: Tue Nov 30, 2010 2:16 pm

ping per second

Post by sascha » Mon Jan 03, 2011 3:59 pm

Post by sascha
Mon Jan 03, 2011 3:59 pm

I'm using a C++ library, which I will port to ROS soon. I don't know how much overhead ROS will generate, but I don't think it will have a huge impact.

I wrote a small C program to ping a servo (5000 times), which runs on my PC and N900:
PC = 250 ping per second
N900 = 62.5 ping per second

This was done using 1MBit and ftdi default settings. So I didn't adjust any of the ftdi parameters (especially latency).
I'm using a C++ library, which I will port to ROS soon. I don't know how much overhead ROS will generate, but I don't think it will have a huge impact.

I wrote a small C program to ping a servo (5000 times), which runs on my PC and N900:
PC = 250 ping per second
N900 = 62.5 ping per second

This was done using 1MBit and ftdi default settings. So I didn't adjust any of the ftdi parameters (especially latency).
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Post by Fraser » Mon Jan 03, 2011 9:07 pm

Post by Fraser
Mon Jan 03, 2011 9:07 pm

I wrote a small C program to ping a servo (5000 times), which runs on my PC and N900:
PC = 250 ping per second
N900 = 62.5 ping per second


PC: 250 ping per second = 4ms
N900: 62.5 ping per second = 16ms

Were the results the other way round? I'm interested because I'm looking at options for an autonomous controller sometime later this year.

It's a nice controller you've got yourself, plenty of space and power for development. Look forward to seeing more.

edit:
@Billy, I'm just catching up on some of the work you've done and it's all pretty cool, really like the realtime YUV colorspace manipulation stuff.
I wrote a small C program to ping a servo (5000 times), which runs on my PC and N900:
PC = 250 ping per second
N900 = 62.5 ping per second


PC: 250 ping per second = 4ms
N900: 62.5 ping per second = 16ms

Were the results the other way round? I'm interested because I'm looking at options for an autonomous controller sometime later this year.

It's a nice controller you've got yourself, plenty of space and power for development. Look forward to seeing more.

edit:
@Billy, I'm just catching up on some of the work you've done and it's all pretty cool, really like the realtime YUV colorspace manipulation stuff.
Fraser offline
Savvy Roboteer
Savvy Roboteer
Posts: 84
Joined: Tue Nov 30, 2010 2:16 pm

FTDI latency

Post by sascha » Tue Jan 04, 2011 10:02 am

Post by sascha
Tue Jan 04, 2011 10:02 am

Hi Fraser,

I was working on the FTDI latency issue yesterday and integrated some libftdi code in my PC (Ubuntu) code to change the latency setting. I couldn't find the libftdi package for the N900 pre-build and looked for an easy alternative. And I didn't like the idea of having this FTDI low level code in my library.
I read that the FTDI driver parameters in Windows can be easily changed using the device manager. I was wondering if a similar possibility would be available in Linux?
Finally I found out, that some of the FTDI parameters in Linux are available in the sys filesystem, including the latency timer.
/sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer

I could easily retrieve and set :idea: the latency timer in this file, without having to include FTDI low level coding in my program:
Nokia-N900-51-1:~# cat /sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer
:arrow: 16

Nokia-N900-51-1:~# echo 4 >> /sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer

The lowest value, which improved the communication speed was 2ms.

N900 = 500 ping per second :!:
Hi Fraser,

I was working on the FTDI latency issue yesterday and integrated some libftdi code in my PC (Ubuntu) code to change the latency setting. I couldn't find the libftdi package for the N900 pre-build and looked for an easy alternative. And I didn't like the idea of having this FTDI low level code in my library.
I read that the FTDI driver parameters in Windows can be easily changed using the device manager. I was wondering if a similar possibility would be available in Linux?
Finally I found out, that some of the FTDI parameters in Linux are available in the sys filesystem, including the latency timer.
/sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer

I could easily retrieve and set :idea: the latency timer in this file, without having to include FTDI low level coding in my program:
Nokia-N900-51-1:~# cat /sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer
:arrow: 16

Nokia-N900-51-1:~# echo 4 >> /sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer

The lowest value, which improved the communication speed was 2ms.

N900 = 500 ping per second :!:
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Re: FTDI latency

Post by billyzelsnack » Tue Jan 04, 2011 4:08 pm

Post by billyzelsnack
Tue Jan 04, 2011 4:08 pm

sascha wrote:Nokia-N900-51-1:~# echo 4 >> /sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer

The lowest value, which improved the communication speed was 2ms.

N900 = 500 ping per second :!:


Very nice! Thanks for looking into this and posting it. It should be useful for my Linux based controller too.
sascha wrote:Nokia-N900-51-1:~# echo 4 >> /sys/devices/platform/musb_hdrc/usb1/1-1/1-1:1.0/ttyUSB0/latency_timer

The lowest value, which improved the communication speed was 2ms.

N900 = 500 ping per second :!:


Very nice! Thanks for looking into this and posting it. It should be useful for my Linux based controller too.
billyzelsnack offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 618
Joined: Sat Dec 30, 2006 1:00 am

Post by Fraser » Tue Jan 04, 2011 7:32 pm

Post by Fraser
Tue Jan 04, 2011 7:32 pm

Yup, thanks for the info, 2ms, that's a nice quick ping, compared to that I'm wading through treacle with my 15ms ping on windoze.
Yup, thanks for the info, 2ms, that's a nice quick ping, compared to that I'm wading through treacle with my 15ms ping on windoze.
Fraser offline
Savvy Roboteer
Savvy Roboteer
Posts: 84
Joined: Tue Nov 30, 2010 2:16 pm

Usb2Dynamixel Controlled Ax12+

Post by MOHIT JINDAL » Sun Feb 06, 2011 9:53 am

Post by MOHIT JINDAL
Sun Feb 06, 2011 9:53 am

Hi Sacha,
Can you please share your pc code with me. I want to control all AX12+ with Usb2Dynamixel.
Please Help.
Thanks Cheers. 8) :roll:
Hi Sacha,
Can you please share your pc code with me. I want to control all AX12+ with Usb2Dynamixel.
Please Help.
Thanks Cheers. 8) :roll:
MOHIT JINDAL offline
Savvy Roboteer
Savvy Roboteer
Posts: 178
Joined: Wed Nov 10, 2010 7:43 am

Post by sascha » Wed Feb 09, 2011 9:49 pm

Post by sascha
Wed Feb 09, 2011 9:49 pm

Hi Mohit,

Version 0.1 can be found here.
http://robosavvy.com/Builders/sascha/DynaBot.zip
Hi Mohit,

Version 0.1 can be found here.
http://robosavvy.com/Builders/sascha/DynaBot.zip
sascha offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 29
Joined: Fri Nov 17, 2006 1:00 am

Next
Next
26 postsPage 1 of 21, 2
26 postsPage 1 of 21, 2