RCB-4 did not response

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

RCB-4 did not response

Post by taylor » Mon Mar 08, 2010 7:20 am

Post by taylor
Mon Mar 08, 2010 7:20 am

Dear All,

I updated to HtH4 1.22 and I tried to clear the rom. However, I accidentially power off.
When I tried to power on again, all the LED fresh 1 time and nothing happen.
Could anyone help me how to refresh the rom again. (HTH cannot connect to the robot now.)
Dear All,

I updated to HtH4 1.22 and I tried to clear the rom. However, I accidentially power off.
When I tried to power on again, all the LED fresh 1 time and nothing happen.
Could anyone help me how to refresh the rom again. (HTH cannot connect to the robot now.)
taylor offline
Robot Builder
Robot Builder
Posts: 22
Joined: Wed Dec 30, 2009 6:09 am

Post by chrisvo » Mon Mar 08, 2010 5:01 pm

Post by chrisvo
Mon Mar 08, 2010 5:01 pm

Did you try to change the COM baud rate back to 115200 and press >RAM?

More specifically, try different baud settings. When you clear the ROM it may also clear the settings area which stores the baud rate settings.
Did you try to change the COM baud rate back to 115200 and press >RAM?

More specifically, try different baud settings. When you clear the ROM it may also clear the settings area which stores the baud rate settings.
chrisvo offline
Savvy Roboteer
Savvy Roboteer
Posts: 132
Joined: Mon Nov 02, 2009 10:24 pm

Post by taylor » Mon Mar 08, 2010 5:19 pm

Post by taylor
Mon Mar 08, 2010 5:19 pm

Thank you! I ignore all the error message and format again. It seems to work.
Thank you! I ignore all the error message and format again. It seems to work.
taylor offline
Robot Builder
Robot Builder
Posts: 22
Joined: Wed Dec 30, 2009 6:09 am

RCB4 not responding

Post by romayiii » Tue May 17, 2011 5:59 am

Post by romayiii
Tue May 17, 2011 5:59 am

Hi all,

I have a Kondo KHR-3HV and has been working pretty well. We have been using libkondo (Thanks ChrisVo) more specifically rcb4.h. However suddenly today RCB4 has stop responding the "end motion" bit. This is an example:

I execute run_motion 0 (the "bow" default motion from H2H) , the robot performs the motion correctly but the program does not stops until the 50 seconds time out are done.

These means that the (ki->opt[0] & RCB4_OPT_VEC) (something like that) is allways returning a "0" even if the motion has physically finished.

If possibly the RCB4 has been damage, do you know where to buy a replacement? or

if this can be sent back to Kondo, do you know the contact details?

I also thought this could be caused by some parameter in the H2H proyect, so, is there any way to return the RCB4 to factory defaults?

Is there any other way to know when the RCB4 has stop performing a motion?


Thank you in advance
Hi all,

I have a Kondo KHR-3HV and has been working pretty well. We have been using libkondo (Thanks ChrisVo) more specifically rcb4.h. However suddenly today RCB4 has stop responding the "end motion" bit. This is an example:

I execute run_motion 0 (the "bow" default motion from H2H) , the robot performs the motion correctly but the program does not stops until the 50 seconds time out are done.

These means that the (ki->opt[0] & RCB4_OPT_VEC) (something like that) is allways returning a "0" even if the motion has physically finished.

If possibly the RCB4 has been damage, do you know where to buy a replacement? or

if this can be sent back to Kondo, do you know the contact details?

I also thought this could be caused by some parameter in the H2H proyect, so, is there any way to return the RCB4 to factory defaults?

Is there any other way to know when the RCB4 has stop performing a motion?


Thank you in advance
romayiii offline
Robot Builder
Robot Builder
Posts: 7
Joined: Wed Feb 03, 2010 7:45 pm

Post by chrisvo » Tue May 17, 2011 6:58 am

Post by chrisvo
Tue May 17, 2011 6:58 am

First, make sure that you are using the latest version of libkondo4. There was a bug a long time ago which caused the loop to run forever even though the motion is completed. Since then, the bug should have been fixed.

If possibly the RCB4 has been damage, do you know where to buy a replacement?


The RCB-4 if operating properly should have set the flag in the options when it's done with the motion. First, I recommend to verify this by printing the value of the options (ki->opt) and seeing if the value changes when the motion is done. If not, there may be a problem with your RCB-4. Verify that your settings are correct too in Heart2Heart4 and that the robot works fine in Heart2Heart4.

I asked RoboSavvy to assist in getting a replacement once before. I sent a burned RCB-4 to Kondo, they repaired it and sent it back along with an endearing letter, but it took more than 3 months!

Is there any other way to know when the RCB4 has stop performing a motion?


There are several ways to "workaround" this issue. For example, you can detect that a motion has completed by placing an additional block at the end of your motion which sets a counter value which you can then read in lieu of the options string to determine that a motion is complete.

You can also just pass in a value of 0 and just make assumption based on time. The "frame time" in the options dialog in Heart2Heart 4 will tell you how many ms each frame will take and you just multiply that by the number of frames total in your motion, which can give you a reasonable estimate of the time the motion will take. It's not perfect but it can be close.
First, make sure that you are using the latest version of libkondo4. There was a bug a long time ago which caused the loop to run forever even though the motion is completed. Since then, the bug should have been fixed.

If possibly the RCB4 has been damage, do you know where to buy a replacement?


The RCB-4 if operating properly should have set the flag in the options when it's done with the motion. First, I recommend to verify this by printing the value of the options (ki->opt) and seeing if the value changes when the motion is done. If not, there may be a problem with your RCB-4. Verify that your settings are correct too in Heart2Heart4 and that the robot works fine in Heart2Heart4.

I asked RoboSavvy to assist in getting a replacement once before. I sent a burned RCB-4 to Kondo, they repaired it and sent it back along with an endearing letter, but it took more than 3 months!

Is there any other way to know when the RCB4 has stop performing a motion?


There are several ways to "workaround" this issue. For example, you can detect that a motion has completed by placing an additional block at the end of your motion which sets a counter value which you can then read in lieu of the options string to determine that a motion is complete.

You can also just pass in a value of 0 and just make assumption based on time. The "frame time" in the options dialog in Heart2Heart 4 will tell you how many ms each frame will take and you just multiply that by the number of frames total in your motion, which can give you a reasonable estimate of the time the motion will take. It's not perfect but it can be close.
chrisvo offline
Savvy Roboteer
Savvy Roboteer
Posts: 132
Joined: Mon Nov 02, 2009 10:24 pm

Post by romayiii » Tue May 17, 2011 4:15 pm

Post by romayiii
Tue May 17, 2011 4:15 pm

Hi ChrisVo!

Thank you for your fast response!

latest version of libkondo4


I'm pretty sure we are using tha latest version of libkondo, we had an issue with analog devices and updated to commit 32 where it was fixed.

printing the value of the options (ki->opt)


Unfortunately we have printed this value and never changed. This is a recent problem, tha last weeks we had been working fine. So I will try to check the settings in H2H4 to see if there is something I can check or unckeck there.


but it took more than 3 months!


We don't think we can wait that time for a replacement :(


placing an additional block at the end of your motion which sets a counter value


I think this could really be our solution, I think I will have no problem adding this counter value at the end of the motion, however,

which you can then read in lieu of the options string to determine that a motion is complete


I'm not pretty sure how to read this from libkondo. I have found this function: int kondo_get_counter(KondoRef ki, UCHAR * result, UINT num)

If I put in counter C1 a value of "1" in H2H block, I then read from "num = 1" and will have in "result" this "1"? so maybe

I will have to initialize this counter at the begining of my motion to for example a value of "0"? or

do you know if this counters are automatically initilized to a value when ever a new motion is played?

Thank you very much for your time, I think with this we will be able to handle the problem.

P.S. I have read that you were participating with RoboPatriots in RoboCup 2010, I was also there participating with Cyberlords, maybe we can meet in Istambul this year :D.
Hi ChrisVo!

Thank you for your fast response!

latest version of libkondo4


I'm pretty sure we are using tha latest version of libkondo, we had an issue with analog devices and updated to commit 32 where it was fixed.

printing the value of the options (ki->opt)


Unfortunately we have printed this value and never changed. This is a recent problem, tha last weeks we had been working fine. So I will try to check the settings in H2H4 to see if there is something I can check or unckeck there.


but it took more than 3 months!


We don't think we can wait that time for a replacement :(


placing an additional block at the end of your motion which sets a counter value


I think this could really be our solution, I think I will have no problem adding this counter value at the end of the motion, however,

which you can then read in lieu of the options string to determine that a motion is complete


I'm not pretty sure how to read this from libkondo. I have found this function: int kondo_get_counter(KondoRef ki, UCHAR * result, UINT num)

If I put in counter C1 a value of "1" in H2H block, I then read from "num = 1" and will have in "result" this "1"? so maybe

I will have to initialize this counter at the begining of my motion to for example a value of "0"? or

do you know if this counters are automatically initilized to a value when ever a new motion is played?

Thank you very much for your time, I think with this we will be able to handle the problem.

P.S. I have read that you were participating with RoboPatriots in RoboCup 2010, I was also there participating with Cyberlords, maybe we can meet in Istambul this year :D.
romayiii offline
Robot Builder
Robot Builder
Posts: 7
Joined: Wed Feb 03, 2010 7:45 pm

Post by chrisvo » Tue May 17, 2011 4:58 pm

Post by chrisvo
Tue May 17, 2011 4:58 pm

I'm not pretty sure how to read this from libkondo. I have found this function: int kondo_get_counter(KondoRef ki, UCHAR * result, UINT num)

If I put in counter C1 a value of "1" in H2H block, I then read from "num = 1" and will have in "result" this "1"? so maybe

I will have to initialize this counter at the begining of my motion to for example a value of "0"? or do you know if this counters are automatically initilized to a value when ever a new motion is played?


The counters are NOT automatically initialized.
You must put a set counter block at the beginning.
Note that the counters in libkondo4 may be 0-based, meaning that C1 may be num=0 and C2 is num=1, etc. I don't remember exactly.

P.S. I have read that you were participating with RoboPatriots in RoboCup 2010, I was also there participating with Cyberlords, maybe we can meet in Istambul this year .


I personally will not be there, but my team RoboPatriots will be participating in Istanbul for kid-size humanoid league! Good Luck!
I'm not pretty sure how to read this from libkondo. I have found this function: int kondo_get_counter(KondoRef ki, UCHAR * result, UINT num)

If I put in counter C1 a value of "1" in H2H block, I then read from "num = 1" and will have in "result" this "1"? so maybe

I will have to initialize this counter at the begining of my motion to for example a value of "0"? or do you know if this counters are automatically initilized to a value when ever a new motion is played?


The counters are NOT automatically initialized.
You must put a set counter block at the beginning.
Note that the counters in libkondo4 may be 0-based, meaning that C1 may be num=0 and C2 is num=1, etc. I don't remember exactly.

P.S. I have read that you were participating with RoboPatriots in RoboCup 2010, I was also there participating with Cyberlords, maybe we can meet in Istambul this year .


I personally will not be there, but my team RoboPatriots will be participating in Istanbul for kid-size humanoid league! Good Luck!
chrisvo offline
Savvy Roboteer
Savvy Roboteer
Posts: 132
Joined: Mon Nov 02, 2009 10:24 pm


7 postsPage 1 of 1
7 postsPage 1 of 1
cron