Master-slave suit for KHR-1HV

KHR-1, KHR-2HV, KHR-3HV, ICS servos, RCB controllers and other Kondo products
20 postsPage 1 of 21, 2
20 postsPage 1 of 21, 2

Master-slave suit for KHR-1HV

Post by rodmanLT » Thu Jul 30, 2009 5:51 pm

Post by rodmanLT
Thu Jul 30, 2009 5:51 pm

Hi all,

I was so inspired by King Kizer humanoid and his master-slave control that I decided to build my own master-slave suit.
I bought a dozen of big fat potentiometers (soviet military technology from 1960's).
I put a lot of effort into mechanical design- it wasn't easy to make the suit comfortable. Now suit consists of three joints and here is the video:
http://www.youtube.com/watch?v=MpPI011xwZI

phpBB [media]


After some testing I will make another side to complete upper body control.
If I'm lucky enough, I will make same for the legs and torso. Maybe..
Hi all,

I was so inspired by King Kizer humanoid and his master-slave control that I decided to build my own master-slave suit.
I bought a dozen of big fat potentiometers (soviet military technology from 1960's).
I put a lot of effort into mechanical design- it wasn't easy to make the suit comfortable. Now suit consists of three joints and here is the video:
http://www.youtube.com/watch?v=MpPI011xwZI

phpBB [media]


After some testing I will make another side to complete upper body control.
If I'm lucky enough, I will make same for the legs and torso. Maybe..
rodmanLT offline
Robot Builder
Robot Builder
Posts: 14
Joined: Mon Jan 12, 2009 10:09 pm

Post by Orac » Thu Jul 30, 2009 10:10 pm

Post by Orac
Thu Jul 30, 2009 10:10 pm

Wow, looks great, very fast response.

Don't forget to take it off before heading to the loo though :)
Wow, looks great, very fast response.

Don't forget to take it off before heading to the loo though :)
Orac offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 299
Joined: Wed Feb 21, 2007 12:46 am
Location: UK, Near Aylesbury

Post by Dave » Fri Jul 31, 2009 5:28 pm

Post by Dave
Fri Jul 31, 2009 5:28 pm

WHOA!, Ok thats pretty cool. As Orac said super fast repsonse time. im well impressed.
How on earth did you get that working?

Awesome!
WHOA!, Ok thats pretty cool. As Orac said super fast repsonse time. im well impressed.
How on earth did you get that working?

Awesome!
Dave offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 83
Joined: Mon Jan 08, 2007 1:00 am
Location: Coventry Uk

Post by mkegruber » Fri Jul 31, 2009 5:41 pm

Post by mkegruber
Fri Jul 31, 2009 5:41 pm

Hi,

Could u post photos of the controller itself.

regards
Michael
Hi,

Could u post photos of the controller itself.

regards
Michael
mkegruber offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 32
Joined: Wed Jan 31, 2007 1:00 am

Post by limor » Mon Aug 03, 2009 9:14 pm

Post by limor
Mon Aug 03, 2009 9:14 pm

Please some technical details! :lol:
Please some technical details! :lol:
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1807
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by rodmanLT » Sat Aug 22, 2009 12:54 pm

Post by rodmanLT
Sat Aug 22, 2009 12:54 pm

Hi all,

sorry for the delay, I was very busy...
Here is the last video:
http://www.youtube.com/watch?v=WCTvggKuPvU
phpBB [media]


Controller is AVR mega8 with inverter uC for inverted Kondo uart.
Potentiometers were bought from ebay, single turn, 10kohm.
I can post entire program in bascom later.

You can find some photos of the board and joints here:
http://blog.elektronika.lt/robotai/humanoidas/

Response is very good with 2 joints, but when I add 4 more, robot starts to lag. I think it's because of bandwith limitation. I send same commands like you move single servo sliders in HTH3.
Command looks like this in hex: 0D FE 00 01 01 40 1E 5E
0D is "start" . after this RCB3 sends me back 0D if ready.
FE is "command"
00 is "option"
01 is "channel"
01 is "speed"
40 is "position high byte"
1E is "position low byte"
5E is "checksum"

checksum is (FE+00+01+01+40+1E)AND FF

Here is the program for one axis (BascomAVR compiler):
Axis(4) = Getadc(3)
I = 4
Position(i) = Axis(i) - Offset(i)
If Position(i) < 0 Then Position(i) = 1
Position(i) = 16384 - Position(i)
Pos_h(i) = High(position(i))
Pos_l(i) = Low(position(i))
Temp = &HFE + Channel(i)
Temp = Temp + Speed
Temp = Temp + Pos_h(i)
Temp = Temp + Pos_l(i)
Temp = Temp And &HFF
Sum = Temp
Printbin #1 , &H0D
Inputbin #1 , Ready
Printbin #1 , Command ; Opt ; Channel(i) ; 1 ; Speed ; Pos_h(i) ; 1 ; Pos_l(i) ; 1 ; Sum

Channel(i) ; 1 means send 1 byte from array starting at index i.
Pos_h(i) ; 1 is the same

Offsets are used to put robot's joints always to the same starting position. With the suit on, you stand still and press the "calibrate" button. This moves robot to home position and sets "virtual" zero position for all potentiometers.
Hi all,

sorry for the delay, I was very busy...
Here is the last video:
http://www.youtube.com/watch?v=WCTvggKuPvU
phpBB [media]


Controller is AVR mega8 with inverter uC for inverted Kondo uart.
Potentiometers were bought from ebay, single turn, 10kohm.
I can post entire program in bascom later.

You can find some photos of the board and joints here:
http://blog.elektronika.lt/robotai/humanoidas/

Response is very good with 2 joints, but when I add 4 more, robot starts to lag. I think it's because of bandwith limitation. I send same commands like you move single servo sliders in HTH3.
Command looks like this in hex: 0D FE 00 01 01 40 1E 5E
0D is "start" . after this RCB3 sends me back 0D if ready.
FE is "command"
00 is "option"
01 is "channel"
01 is "speed"
40 is "position high byte"
1E is "position low byte"
5E is "checksum"

checksum is (FE+00+01+01+40+1E)AND FF

Here is the program for one axis (BascomAVR compiler):
Axis(4) = Getadc(3)
I = 4
Position(i) = Axis(i) - Offset(i)
If Position(i) < 0 Then Position(i) = 1
Position(i) = 16384 - Position(i)
Pos_h(i) = High(position(i))
Pos_l(i) = Low(position(i))
Temp = &HFE + Channel(i)
Temp = Temp + Speed
Temp = Temp + Pos_h(i)
Temp = Temp + Pos_l(i)
Temp = Temp And &HFF
Sum = Temp
Printbin #1 , &H0D
Inputbin #1 , Ready
Printbin #1 , Command ; Opt ; Channel(i) ; 1 ; Speed ; Pos_h(i) ; 1 ; Pos_l(i) ; 1 ; Sum

Channel(i) ; 1 means send 1 byte from array starting at index i.
Pos_h(i) ; 1 is the same

Offsets are used to put robot's joints always to the same starting position. With the suit on, you stand still and press the "calibrate" button. This moves robot to home position and sets "virtual" zero position for all potentiometers.
rodmanLT offline
Robot Builder
Robot Builder
Posts: 14
Joined: Mon Jan 12, 2009 10:09 pm

Post by silveranim » Fri Sep 04, 2009 12:49 pm

Post by silveranim
Fri Sep 04, 2009 12:49 pm

...it looks cool...

it´s possible for you to capture your moves??
and play it again..?

thanks
...it looks cool...

it´s possible for you to capture your moves??
and play it again..?

thanks
silveranim offline
Robot Builder
Robot Builder
Posts: 23
Joined: Fri Sep 04, 2009 12:47 pm

Post by rodmanLT » Fri Sep 04, 2009 9:24 pm

Post by rodmanLT
Fri Sep 04, 2009 9:24 pm

Motion capturing is not a problem at all. Instead of sending all servo positions straight after capturing potentiometers values, we need just to memorize positions in the eeprom (for example) or somewhere else. Later on we can playback this sequence on request. I don't see any problems here.

By the way, i have managed to get rid of robot's terrible lag. Mr Fuminori Yamasaki from IXS Research Corp adviced me to use another command. Now robot responds very quickly:
phpBB [media]
Motion capturing is not a problem at all. Instead of sending all servo positions straight after capturing potentiometers values, we need just to memorize positions in the eeprom (for example) or somewhere else. Later on we can playback this sequence on request. I don't see any problems here.

By the way, i have managed to get rid of robot's terrible lag. Mr Fuminori Yamasaki from IXS Research Corp adviced me to use another command. Now robot responds very quickly:
phpBB [media]
rodmanLT offline
Robot Builder
Robot Builder
Posts: 14
Joined: Mon Jan 12, 2009 10:09 pm

Post by Robo1 » Fri Sep 04, 2009 9:35 pm

Post by Robo1
Fri Sep 04, 2009 9:35 pm

Looks really good.

I'm impressed by how fast the robot responds to your movement. good work. Have you any plans to get this working on the legs.

Bren
Looks really good.

I'm impressed by how fast the robot responds to your movement. good work. Have you any plans to get this working on the legs.

Bren
Robo1 offline
Savvy Roboteer
Savvy Roboteer
Posts: 501
Joined: Fri Jun 30, 2006 1:00 am
Location: UK - Bristol

Post by rodmanLT » Sat Sep 05, 2009 6:05 am

Post by rodmanLT
Sat Sep 05, 2009 6:05 am

Yes, I will try to make full body suit.
Yes, I will try to make full body suit.
rodmanLT offline
Robot Builder
Robot Builder
Posts: 14
Joined: Mon Jan 12, 2009 10:09 pm

Post by silveranim » Sat Sep 05, 2009 3:16 pm

Post by silveranim
Sat Sep 05, 2009 3:16 pm

..sounds good, with capturing...

i will get on friday, this week, my kondo KHR-3hv...with all the 22 DOF... :D
and i would like to use my "PEAVY 1600x" midi slider board, to control the robot...í´am just using this slider board for computer animation...

i think the way is nearly the same, like your good work...

but i´am not shure if it works....Heart2Heart 4.0 with midi and capturing...

maybe, do you have a good idea!!??
..sounds good, with capturing...

i will get on friday, this week, my kondo KHR-3hv...with all the 22 DOF... :D
and i would like to use my "PEAVY 1600x" midi slider board, to control the robot...í´am just using this slider board for computer animation...

i think the way is nearly the same, like your good work...

but i´am not shure if it works....Heart2Heart 4.0 with midi and capturing...

maybe, do you have a good idea!!??
silveranim offline
Robot Builder
Robot Builder
Posts: 23
Joined: Fri Sep 04, 2009 12:47 pm

Post by veltrop » Mon Sep 07, 2009 3:02 am

Post by veltrop
Mon Sep 07, 2009 3:02 am

rodmanLT wrote:By the way, i have managed to get rid of robot's terrible lag. Mr Fuminori Yamasaki from IXS Research Corp adviced me to use another command. Now robot responds very quickly


That's great! What's the other command you are using now?
rodmanLT wrote:By the way, i have managed to get rid of robot's terrible lag. Mr Fuminori Yamasaki from IXS Research Corp adviced me to use another command. Now robot responds very quickly


That's great! What's the other command you are using now?
veltrop offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 59
Joined: Wed Jul 22, 2009 8:04 am
Location: Japan

Post by rodmanLT » Mon Sep 07, 2009 7:17 pm

Post by rodmanLT
Mon Sep 07, 2009 7:17 pm

I'm using command
SETUP OF THE SPEED OF MOVEMENT
which is second command on page 20 of the RCB3 Command Reference
(I forgot the link to this document, hope you will find it)
I'm using command
SETUP OF THE SPEED OF MOVEMENT
which is second command on page 20 of the RCB3 Command Reference
(I forgot the link to this document, hope you will find it)
rodmanLT offline
Robot Builder
Robot Builder
Posts: 14
Joined: Mon Jan 12, 2009 10:09 pm

Post by veltrop » Tue Sep 08, 2009 6:57 am

Post by veltrop
Tue Sep 08, 2009 6:57 am

Found it, thanks!
Found it, thanks!
veltrop offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 59
Joined: Wed Jul 22, 2009 8:04 am
Location: Japan

Post by limor » Tue Sep 08, 2009 4:20 pm

Post by limor
Tue Sep 08, 2009 4:20 pm

Engadget has come across this thread.
Love their sense of humor :lol:
Engadget has come across this thread.
Love their sense of humor :lol:
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1807
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Next
Next
20 postsPage 1 of 21, 2
20 postsPage 1 of 21, 2