Configuring GENE-QM77 to use on 1m tall humanoid

RoboSavvy distributes and manufactures robots. This forum is dedicated to robots and other bits designed or manufactured by RoboSavvy and robot software developed by RoboSavvy.
5 postsPage 1 of 1
5 postsPage 1 of 1

Configuring GENE-QM77 to use on 1m tall humanoid

Post by nunogato » Tue Dec 11, 2012 7:51 pm

Post by nunogato
Tue Dec 11, 2012 7:51 pm

Hi,

For the brain of the 1m tall humanoid we choosed to have a super computer :D

To accomplish that we will install the following hardware:
Motherboard: GENE-QM77
CPU: Intel® Core™ i7-3610QE CPU @ 2.30GHz × 8
RAM: 8GB DDR3 1600Mhz
DISK: 256GB Samsung SSD (830 series)
Wifi: TP-Link TL-WN722N

Currently we are on the initial testing, just installed Ubuntu 12.04.1 and still installing drivers and make everything work smoothly

I'll post here all the information needed to install the system on this system, I'll start by the operating system instalation, connecting to the servos up to running the DARwIn-OP framework on the robot.

Ubuntu instalation:

Just downloaded the Ubuntu 12.04.1, burned it into a CD and did the standard installation.

Found a problem installing the Wifi USB dongle due to a problem on the USB3.0 ports, the solution was upgrade the kernel to the last stable version, here are the steps needed:

Add repositories of Ubuntu 12.10 by editing “/etc/apt/sources.list”
Code: Select all
sudo gedit /etc/apt/sources.list


and add following lines:

Code: Select all
    deb http://security.ubuntu.com/ubuntu quantal-security main universe restricted multiverse
    deb-src http://security.ubuntu.com/ubuntu quantal-security main universe restricted multiverse
    deb http://it.archive.ubuntu.com/ubuntu/ quantal-updates main universe restricted multiverse
    deb-src http://it.archive.ubuntu.com/ubuntu/ quantal-updates main universe restricted multiverse
    deb http://it.archive.ubuntu.com/ubuntu/ quantal main universe restricted multiverse
    deb-src http://it.archive.ubuntu.com/ubuntu/ quantal main universe restricted multiverse



Then update and install the kernel:
Code: Select all
sudo apt-get update
sudo apt-get install linux


After that we need to install the wifi drivers, for that we need to download the htc_9271.fm firmware from here and copy it to the lib/firmware/ directory. Next, download the compat-wireless drivers from here Unarchive it and build the ath9k_htc driver by running the following commands in order:
Code: Select all
tar xvf compat-wireless-3.6.8-1.tar.bz2
cd compat-wireless-3.6.8-1
./scripts/driver-select ath9k_htc
sudo make
sudo make install


Load the driver
Code: Select all
sudo modprobe ath9k_htc


Now we have Wifi running so we can go for the next step that will be trying to get the graphics driver work properly, that's for a next post :)

Regards,
Nuno Gato
--RoboSavvy
Hi,

For the brain of the 1m tall humanoid we choosed to have a super computer :D

To accomplish that we will install the following hardware:
Motherboard: GENE-QM77
CPU: Intel® Core™ i7-3610QE CPU @ 2.30GHz × 8
RAM: 8GB DDR3 1600Mhz
DISK: 256GB Samsung SSD (830 series)
Wifi: TP-Link TL-WN722N

Currently we are on the initial testing, just installed Ubuntu 12.04.1 and still installing drivers and make everything work smoothly

I'll post here all the information needed to install the system on this system, I'll start by the operating system instalation, connecting to the servos up to running the DARwIn-OP framework on the robot.

Ubuntu instalation:

Just downloaded the Ubuntu 12.04.1, burned it into a CD and did the standard installation.

Found a problem installing the Wifi USB dongle due to a problem on the USB3.0 ports, the solution was upgrade the kernel to the last stable version, here are the steps needed:

Add repositories of Ubuntu 12.10 by editing “/etc/apt/sources.list”
Code: Select all
sudo gedit /etc/apt/sources.list


and add following lines:

Code: Select all
    deb http://security.ubuntu.com/ubuntu quantal-security main universe restricted multiverse
    deb-src http://security.ubuntu.com/ubuntu quantal-security main universe restricted multiverse
    deb http://it.archive.ubuntu.com/ubuntu/ quantal-updates main universe restricted multiverse
    deb-src http://it.archive.ubuntu.com/ubuntu/ quantal-updates main universe restricted multiverse
    deb http://it.archive.ubuntu.com/ubuntu/ quantal main universe restricted multiverse
    deb-src http://it.archive.ubuntu.com/ubuntu/ quantal main universe restricted multiverse



Then update and install the kernel:
Code: Select all
sudo apt-get update
sudo apt-get install linux


After that we need to install the wifi drivers, for that we need to download the htc_9271.fm firmware from here and copy it to the lib/firmware/ directory. Next, download the compat-wireless drivers from here Unarchive it and build the ath9k_htc driver by running the following commands in order:
Code: Select all
tar xvf compat-wireless-3.6.8-1.tar.bz2
cd compat-wireless-3.6.8-1
./scripts/driver-select ath9k_htc
sudo make
sudo make install


Load the driver
Code: Select all
sudo modprobe ath9k_htc


Now we have Wifi running so we can go for the next step that will be trying to get the graphics driver work properly, that's for a next post :)

Regards,
Nuno Gato
--RoboSavvy
Last edited by nunogato on Wed Dec 12, 2012 11:25 am, edited 1 time in total.
nunogato offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 86
Joined: Mon Mar 15, 2010 3:48 pm

Post by nunogato » Wed Dec 12, 2012 11:22 am

Post by nunogato
Wed Dec 12, 2012 11:22 am

The graphics were working fine, the problem was that the motherboard has this internal LCD (like a laptop) and it was active so Ubuntu was mirroring the screen to the VGA port and because the internal only had resolution up to 1024x768 I was with that resolution on my 1600x1200 screen.

To solve this we need to disable the "LVDS" graphics on the motherboard.

Now it only outputs through the VGA and DVI and already can use a decent resolution to configure the computer.
The graphics were working fine, the problem was that the motherboard has this internal LCD (like a laptop) and it was active so Ubuntu was mirroring the screen to the VGA port and because the internal only had resolution up to 1024x768 I was with that resolution on my 1600x1200 screen.

To solve this we need to disable the "LVDS" graphics on the motherboard.

Now it only outputs through the VGA and DVI and already can use a decent resolution to configure the computer.
nunogato offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 86
Joined: Mon Mar 15, 2010 3:48 pm

Post by PaulL » Thu Dec 13, 2012 12:48 pm

Post by PaulL
Thu Dec 13, 2012 12:48 pm

... Seems to be a nice board!! :)

The more processor power you have, the better. 8 cores is nice for other reasons... :) Hint, one will care about processor affinity in regards to threads... almost like having dedicated processors in a shared system.

With the net requirement of a "full functioning" biped being parallel task processing (vision, TTS / voice rec, sensory, motion control, etc), processor power matters a LOT.

Now, all you need is the right software, and you'll be all set!

Personally, I can't see going after a 1M bot. The simple truth for me is that the cost is prohibitive. Things get quite expensive as size increases. The answer for me is a small bot with tons of processing power shoehorned in. :)
... Seems to be a nice board!! :)

The more processor power you have, the better. 8 cores is nice for other reasons... :) Hint, one will care about processor affinity in regards to threads... almost like having dedicated processors in a shared system.

With the net requirement of a "full functioning" biped being parallel task processing (vision, TTS / voice rec, sensory, motion control, etc), processor power matters a LOT.

Now, all you need is the right software, and you'll be all set!

Personally, I can't see going after a 1M bot. The simple truth for me is that the cost is prohibitive. Things get quite expensive as size increases. The answer for me is a small bot with tons of processing power shoehorned in. :)
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Post by nunogato » Tue Jan 08, 2013 5:14 pm

Post by nunogato
Tue Jan 08, 2013 5:14 pm

Hi All,

A small update on this.

To connect the Robotis servos to the computer we are thinking of using this usb to rs485 it has a maximum speed of 3mbps, the same as servos.

we will try to use the broadcast message available on the robotis protocol and maybe controlling the servos at 100 times a second.
Hi All,

A small update on this.

To connect the Robotis servos to the computer we are thinking of using this usb to rs485 it has a maximum speed of 3mbps, the same as servos.

we will try to use the broadcast message available on the robotis protocol and maybe controlling the servos at 100 times a second.
nunogato offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 86
Joined: Mon Mar 15, 2010 3:48 pm

Post by i-Bot » Tue Jan 08, 2013 7:11 pm

Post by i-Bot
Tue Jan 08, 2013 7:11 pm

I would recommend against using that USB to RS485 board for the following reasons:

1. It uses an SP485 RS485 driver/receiver IC. This does not have a failsafe receiver, so an idle line state is indeterminate. The USB2Dynamixel uses a MAX3443 which is failsafe.

2. The FTDI chip will always give you a 1ms latency on incoming data, so short read transactions never fill the 1Mbps bandwidth, never mind 3Mbps. Dynamixel bulk read helps by making longer packets, so delay can be reduced, but you are better to avoid FTDI devices to interface to Dynamixel Bus if you are looking for high performance.

3. The FTDI chip will cause a call to the the linux FTDI driver every 1ms (assuming minimum latency setting)even if no data is received. I never mix FTDI with linux.

My first thought on an alternative is the CM900, this can use CDC ACM protocol and avoid the FTDI issues. It is not clear from the CM900 schematic what RS485 interface chip they actually use. Maybe someone could check and report back here.

The other advantage of the CM900 is that you also have AX12 ports, and other assorted I/O available.
I would recommend against using that USB to RS485 board for the following reasons:

1. It uses an SP485 RS485 driver/receiver IC. This does not have a failsafe receiver, so an idle line state is indeterminate. The USB2Dynamixel uses a MAX3443 which is failsafe.

2. The FTDI chip will always give you a 1ms latency on incoming data, so short read transactions never fill the 1Mbps bandwidth, never mind 3Mbps. Dynamixel bulk read helps by making longer packets, so delay can be reduced, but you are better to avoid FTDI devices to interface to Dynamixel Bus if you are looking for high performance.

3. The FTDI chip will cause a call to the the linux FTDI driver every 1ms (assuming minimum latency setting)even if no data is received. I never mix FTDI with linux.

My first thought on an alternative is the CM900, this can use CDC ACM protocol and avoid the FTDI issues. It is not clear from the CM900 schematic what RS485 interface chip they actually use. Maybe someone could check and report back here.

The other advantage of the CM900 is that you also have AX12 ports, and other assorted I/O available.
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am


5 postsPage 1 of 1
5 postsPage 1 of 1