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

KHR-1HV Videos and Mods

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

KHR-1HV Videos and Mods

Post by PaulP » Sat Mar 24, 2007 1:13 pm

Post by PaulP
Sat Mar 24, 2007 1:13 pm

For those who haven't seen this on Lynxmotion..

KHR-1HV after some heavy mods

http://www.youtube.com/watch?v=sf1QcBSvKUA

http://www.youtube.com/watch?v=S4Wq-m4ZrvU

http://www.youtube.com/watch?v=RFQU1QrZEPA

The first one is a slower, more useable walk.

Second is some stock moves ported across to the new processor.

The third is roborealm. A camera is connected to the KHR-1HV head and as the ball is moved, a small VB6 / VB.NET app using the roborealm API, moves the robots head to track the ball.

The RCB has been dumped and in its place in the backpack is a LynxMotion SSC-32. The Battery has been moved to the inner void and in the chestplate is an MR162 (Atmega 162).

This combination allows complete control via Sparkfun Bluesmirf while still retaining the ability to run the SSC-32 from SEQ (equivalent of H2H).

Currently, the Atmega is programmed for pass-thru comms (UARTA is connected to UARTB) so all comms get relayed. A subset of commands with a unique prefix will allow commands to be redirected to the Atmega for alternate commands.

Next is a 5 DOF Gyro/Accelerometer that (if my skills are good enough) will modify the pass-thru data to incorporate the sensor data into the moves. It will also allow the bot to auto-execute recovery routines should it fall over.
For those who haven't seen this on Lynxmotion..

KHR-1HV after some heavy mods

http://www.youtube.com/watch?v=sf1QcBSvKUA

http://www.youtube.com/watch?v=S4Wq-m4ZrvU

http://www.youtube.com/watch?v=RFQU1QrZEPA

The first one is a slower, more useable walk.

Second is some stock moves ported across to the new processor.

The third is roborealm. A camera is connected to the KHR-1HV head and as the ball is moved, a small VB6 / VB.NET app using the roborealm API, moves the robots head to track the ball.

The RCB has been dumped and in its place in the backpack is a LynxMotion SSC-32. The Battery has been moved to the inner void and in the chestplate is an MR162 (Atmega 162).

This combination allows complete control via Sparkfun Bluesmirf while still retaining the ability to run the SSC-32 from SEQ (equivalent of H2H).

Currently, the Atmega is programmed for pass-thru comms (UARTA is connected to UARTB) so all comms get relayed. A subset of commands with a unique prefix will allow commands to be redirected to the Atmega for alternate commands.

Next is a 5 DOF Gyro/Accelerometer that (if my skills are good enough) will modify the pass-thru data to incorporate the sensor data into the moves. It will also allow the bot to auto-execute recovery routines should it fall over.
PaulP
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 153
Joined: Fri Jan 19, 2007 1:00 am
Location: West Mids, United Kingdom

Post by limor » Sat Mar 24, 2007 2:57 pm

Post by limor
Sat Mar 24, 2007 2:57 pm

are you able to read servo position with SSC-32 ?
are you able to read servo position with SSC-32 ?
limor
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by PaulP » Sat Mar 24, 2007 6:08 pm

Post by PaulP
Sat Mar 24, 2007 6:08 pm

Currently it doesn't have that facility. Reading the servo on the RCB involves momentarily interrupting the move to read back the position then restarting the move. This causes jerky manouvers if you read frequently.

The SSC will return the position that it is currently sending to the servo and is done without interrupting the movment. It also can be polled for a movement completed response.

The onboard processor of the SSC is an Atmega8P and the source code is open source so if someone required the exact method in place for the RCB it can be achieved.

In theory, someone with enough skill could reproduce the RCB exactly if they so required.

WIthin a week or so, Laurent who is developing the code for SEQ, is releasing an upgrade that will allow the storage and playback of Sequences from the SSC. It has an external EEPROM that will hold up to 64Kbytes.

This is all on the SSC, The MR162 I have added after to allow me more flexibility with Sensors etc. The SSC also has 4 analogue inputs and the USART is hardware based with both TTL and RS232 levels available.
Currently it doesn't have that facility. Reading the servo on the RCB involves momentarily interrupting the move to read back the position then restarting the move. This causes jerky manouvers if you read frequently.

The SSC will return the position that it is currently sending to the servo and is done without interrupting the movment. It also can be polled for a movement completed response.

The onboard processor of the SSC is an Atmega8P and the source code is open source so if someone required the exact method in place for the RCB it can be achieved.

In theory, someone with enough skill could reproduce the RCB exactly if they so required.

WIthin a week or so, Laurent who is developing the code for SEQ, is releasing an upgrade that will allow the storage and playback of Sequences from the SSC. It has an external EEPROM that will hold up to 64Kbytes.

This is all on the SSC, The MR162 I have added after to allow me more flexibility with Sensors etc. The SSC also has 4 analogue inputs and the USART is hardware based with both TTL and RS232 levels available.
PaulP
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 153
Joined: Fri Jan 19, 2007 1:00 am
Location: West Mids, United Kingdom

Post by Magnus86 » Mon Mar 26, 2007 4:55 am

Post by Magnus86
Mon Mar 26, 2007 4:55 am

Is the SSC-32 better than the RSB-3? and (perhaps more importantly for me) how hard is it to replace the KHR-1's original controller with the SSC-32?
I've got a KHR-1 and i was planning on getting a RCB-3 so i could do some proper programming with sensors but the SSC-32 looks considerably cheaper!
Is the SSC-32 better than the RSB-3? and (perhaps more importantly for me) how hard is it to replace the KHR-1's original controller with the SSC-32?
I've got a KHR-1 and i was planning on getting a RCB-3 so i could do some proper programming with sensors but the SSC-32 looks considerably cheaper!
Magnus86
Robot Builder
Robot Builder
Posts: 7
Joined: Sun Mar 18, 2007 10:28 pm

Post by Orac » Mon Mar 26, 2007 12:15 pm

Post by Orac
Mon Mar 26, 2007 12:15 pm

There are some photo's of the install a bit further down the thread.

http://www.lynxmotion.net/viewtopic.php?t=2005&start=0


Paul, how have you interfaced Roborealm to the SCC 32 to make the head follow the ball?

Or did you take the output from RR and write some software to send to the SSC by RS232

Thanks
There are some photo's of the install a bit further down the thread.

http://www.lynxmotion.net/viewtopic.php?t=2005&start=0


Paul, how have you interfaced Roborealm to the SCC 32 to make the head follow the ball?

Or did you take the output from RR and write some software to send to the SSC by RS232

Thanks
Orac
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 299
Joined: Wed Feb 21, 2007 12:46 am
Location: UK, Near Aylesbury

Post by PaulP » Mon Mar 26, 2007 4:49 pm

Post by PaulP
Mon Mar 26, 2007 4:49 pm

Hi Magnus, sorry for the delay in replying, for some reason the forum has stopped sending me notifications..

The SSC is a larger board so its a bit awkward to get it in where the RCB3 used to be but I've never seen the KHR1 back so I dont know how much room you have.

As far as sensors go its a trade-off. The RCB has some clever stuff for mixing Gyro's which I would love to have played with but its ability to react to other sensors seemed unclear. I am currently installing an intermediate processor (most likely Atmega128) which has 2 UARTS that I will use to pass data through. This I have proven works fine with little or no delay to data and unlike the RCB allows me to use Bluetooth. I intend then to use the array of ADC and digital inputs on the micro to perform my own mixing and probably some low level form of I.K. (extremely low level).

Moving to the SSC does leave you without the comfort of the H2H and RCB stuff such as ICS etc but its only a ten minute swap to put it back If I need to make a change.

The advantage to me is that it is now an open book that I can exercise my abilities and ideas (or lack of) with.

If you are like me (and many others on here) and you aren't so keen on having it all done for you then its a good move.

As you mentioned the cost is low. I think with the SSC, the bluetooth and the Atmel it will cost me about £100 extra but I've learnt a lot and I think achieved something....


Hi Orac, long time no speak...

To get roborealm working I wrote a small app in VB6 that calls the roborealm API. It then fetches the variables back from RR and decides what to do..

I've also converted it to run in VB.NET 2005 so if you have either then you are welcome to a copy of the code. Its very much configured to my system as in commports and robot config but its not difficult. I deliberately made it so it only had access to the head servo as I was terrified it would go lurching across the table.

As I say you are welcome to it if you want....
Hi Magnus, sorry for the delay in replying, for some reason the forum has stopped sending me notifications..

The SSC is a larger board so its a bit awkward to get it in where the RCB3 used to be but I've never seen the KHR1 back so I dont know how much room you have.

As far as sensors go its a trade-off. The RCB has some clever stuff for mixing Gyro's which I would love to have played with but its ability to react to other sensors seemed unclear. I am currently installing an intermediate processor (most likely Atmega128) which has 2 UARTS that I will use to pass data through. This I have proven works fine with little or no delay to data and unlike the RCB allows me to use Bluetooth. I intend then to use the array of ADC and digital inputs on the micro to perform my own mixing and probably some low level form of I.K. (extremely low level).

Moving to the SSC does leave you without the comfort of the H2H and RCB stuff such as ICS etc but its only a ten minute swap to put it back If I need to make a change.

The advantage to me is that it is now an open book that I can exercise my abilities and ideas (or lack of) with.

If you are like me (and many others on here) and you aren't so keen on having it all done for you then its a good move.

As you mentioned the cost is low. I think with the SSC, the bluetooth and the Atmel it will cost me about £100 extra but I've learnt a lot and I think achieved something....


Hi Orac, long time no speak...

To get roborealm working I wrote a small app in VB6 that calls the roborealm API. It then fetches the variables back from RR and decides what to do..

I've also converted it to run in VB.NET 2005 so if you have either then you are welcome to a copy of the code. Its very much configured to my system as in commports and robot config but its not difficult. I deliberately made it so it only had access to the head servo as I was terrified it would go lurching across the table.

As I say you are welcome to it if you want....
PaulP
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 153
Joined: Fri Jan 19, 2007 1:00 am
Location: West Mids, United Kingdom

Post by Orac » Mon Mar 26, 2007 5:34 pm

Post by Orac
Mon Mar 26, 2007 5:34 pm

Hi, thanks, but as my wife says, if I don't try it myself, i'll never learn.

Usually this translates into decorating and DIY, but I think it applies perfectly well to robots too :)

I am not 100% about going down the SSC route yet, I'm clinging onto the slim hope that I can somehow produce a microcontroller that emulates H2H (or the remote control) to stick on the back of the robot and then access the robot by using the micro to string together groups of standard moves stored on the RCB. It depends on how much delay there would be between changing fromone move to another, etc.

Gyro and accelerometer units would be controlled by the RCB. Infra red distance, etc would be handled by the new processor

Not clinging to that hope by much, especially seing the progress you have made in such a short time :wink:
Hi, thanks, but as my wife says, if I don't try it myself, i'll never learn.

Usually this translates into decorating and DIY, but I think it applies perfectly well to robots too :)

I am not 100% about going down the SSC route yet, I'm clinging onto the slim hope that I can somehow produce a microcontroller that emulates H2H (or the remote control) to stick on the back of the robot and then access the robot by using the micro to string together groups of standard moves stored on the RCB. It depends on how much delay there would be between changing fromone move to another, etc.

Gyro and accelerometer units would be controlled by the RCB. Infra red distance, etc would be handled by the new processor

Not clinging to that hope by much, especially seing the progress you have made in such a short time :wink:
Orac
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 299
Joined: Wed Feb 21, 2007 12:46 am
Location: UK, Near Aylesbury

Post by PaulP » Mon Mar 26, 2007 5:48 pm

Post by PaulP
Mon Mar 26, 2007 5:48 pm

The only issue I can see that may cause a stumble is the RCB's failure to notify when moves are complete. If that had been available then I would have done exactly what you are working towards.

Lash an Atmega128 to the TTL inputs of the RCB and do the grunt work there. You can pick up an Atmega Stamp or MCU module for about £30.

One thing I have found from working with the SSC is that is is actually possible to work out the time it takes for a pose to complete. The Atmega has a very accurate clock system and in BASCOM you have the Waitms command which will wait for a specific number of milliseconds...

Its dirty but it would work
The only issue I can see that may cause a stumble is the RCB's failure to notify when moves are complete. If that had been available then I would have done exactly what you are working towards.

Lash an Atmega128 to the TTL inputs of the RCB and do the grunt work there. You can pick up an Atmega Stamp or MCU module for about £30.

One thing I have found from working with the SSC is that is is actually possible to work out the time it takes for a pose to complete. The Atmega has a very accurate clock system and in BASCOM you have the Waitms command which will wait for a specific number of milliseconds...

Its dirty but it would work
PaulP
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 153
Joined: Fri Jan 19, 2007 1:00 am
Location: West Mids, United Kingdom

Post by Orac » Mon Mar 26, 2007 6:19 pm

Post by Orac
Mon Mar 26, 2007 6:19 pm

I wonder if I go around the RCB with my scope and look to see if there are any signals we can use on the board that will allow us to differentiate between a moving and a stationary system.

It will have to wait a week or so until I finish installing my wifes new (removed by spam filter).

"If you are clever enough to build yourself robots, kitcars, etc. You must be able to install a new (removed by spam filter) for me !!"



:cry: :cry: :cry:
I wonder if I go around the RCB with my scope and look to see if there are any signals we can use on the board that will allow us to differentiate between a moving and a stationary system.

It will have to wait a week or so until I finish installing my wifes new (removed by spam filter).

"If you are clever enough to build yourself robots, kitcars, etc. You must be able to install a new (removed by spam filter) for me !!"



:cry: :cry: :cry:
Orac
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 299
Joined: Wed Feb 21, 2007 12:46 am
Location: UK, Near Aylesbury

Post by PaulP » Mon Mar 26, 2007 7:12 pm

Post by PaulP
Mon Mar 26, 2007 7:12 pm

If it works the way most controllers do it will adjust the pwm output from the current state to the next state over a timebase. I don't think it needs to do anything more than that. It may use the query mode to check the pwm but unless you know what frequency it is meant to be at that wont be much use.

I was wondering whether I could adopt part of the open-servo to get the real position back but I don't know enough about it.
If it works the way most controllers do it will adjust the pwm output from the current state to the next state over a timebase. I don't think it needs to do anything more than that. It may use the query mode to check the pwm but unless you know what frequency it is meant to be at that wont be much use.

I was wondering whether I could adopt part of the open-servo to get the real position back but I don't know enough about it.
PaulP
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 153
Joined: Fri Jan 19, 2007 1:00 am
Location: West Mids, United Kingdom


10 postsPage 1 of 1
10 postsPage 1 of 1