Posted: Sun Jan 02, 2011 3:28 pm Post subject: Bioloid (20 DOF) with N900 head
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
Posted: Sun Jan 02, 2011 7:43 pm Post subject: N900 capabilities
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.
Posted: Mon Jan 03, 2011 2:59 pm Post subject: ping per second
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 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.
Posted: Tue Jan 04, 2011 9:02 am Post subject: FTDI latency
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 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
16
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum