Might be a day late and a dollar short, but I'm having an issue with the dynamixels that I am hoping other users could confirm or try and repeat.
Hard core alans have three dynamixels the TTL version on the 64s. While building up the two neck dynamixels with no physical load the servos worked as expected. Power on Alan, connect com on ARC touch the touch pad controls and servos work as expected.
As I built up the head and added weight (4 to 5 pounds) I began to notice at power down the weight of the head would move the dynamixels to a new position ( head down in this instance). Makes since the dynamixels have no power applied and the head is heavy so the weight moves the head down...gravity right?
Problem: When I power up the head and connect ARC and the EZB and touch the pad controls instead of moving to the position (like they did in the past no load) the neck dynamixels rotate clockwise a full 360 to get to their position that I am requesting. Now mind you both these dynamixels are inverted from one another, ie clockwise and counter clock. in EZ builder and limited to about 60 degrees of motion.
Somehow when the dynamixels under physical load either at powerdown or power up are setting into effect to initialize a full 360 when it receives its first signal.
I've looked everywhere on the internet for a possible cause or resolve. No luck. It def has something to do with the load, BECAUSE the rotate head dynamixel (thank God) does not do this at all...and there is no load on that dynamixel.
Bottom line this issue is probably cause something to break long term becaue of the vilent power up process.
If anyone in interested in seeing the issue I can upload a video.
Thanks in advance
Edit: I tried to create an init script to move them into a position but I think that the differences in regular servos and dynamixels are causing problems. Once I activate the script the servos move slightly then become unresponsive. I have to reboot power to get them to work again.
Yes Will I stated this same exact thing many months ago. If during power down of my machine the " elbow rotation" joint goes slightly out of its boundary range the next power up makes the elbow rotate completely backwards and the machine tries to beat itself to death. Probably because there is no physical stops like a regular servo. Even initializing script dies this. I stated that it appears this servo tries to get to its " home " position the fastest way it can and chooses its direction to do so. I tried limiting its range with the USB dynamixel programming device to no avail. Hopefully there is an answer to this.
To both of you guys I have a bioloid premium with the ezb4 and the io tiny, and I can't get my servos to work. Jerseylance.
Not experienced with IO tiny.... but I don't believe it has a UART so it won't work. Again I may be wrong. Good luck
The plugin has support for IoTiny. Get plugin here: https://synthiam.com/redirect/legacy?table=plugin&id=39
Instructions are also on that page
@Will Not sure this will help you... but when I have an unbalance head (like with inMoov) I use springs to offset weight differences between fore and aft.. (balancing any heavy side that is). This allows the head to stay neutral when the servos are released or when the bot is off...
@kamaroman68, I missed that thread or understanding of the problem you were having. Could be a deal breaker for future projects. If this happens to the head rotation it would be devastating to this build. But my end result is a quick animation on my start init, that activates one servo at a time allowing the rotation to happen on side at a time. Less likely to create a breakage down the line.
@richard, there was a spring system in my original design but in the end the servos are amazingly strong and support about 60 pounds together. Adding springs I found added stress to the dynamixels. So in the end I created silicone bumpers that absorb the power off head dropping forward. Works great. But they do not assist with any counter balance.
Hey Will,
Yeah my next move is to try and use some extension springs from the forearm area to the bicep area. Keep in mind this is not an inmoov so it will look ok, kind of industrial like the rest of him. Just hate that I'm going to end up losing some range of motion.
Yeah id like to have a conversation with someone at Robotis and see if there is a way to fix this issue or if they can come up with something for a firmware fix. It doesn't make since that the behavior is normal, when its not under load.
For fun my pain....
I might add as I was creating the start animation I discovered it's one Dynamixel not two in the neck that rotate 360. In the video it's the servo on Alan's right neck. It does the exact same thing with Alan 2, they are exactly the same set up and exhibit the same behavior. Both have servo ID number 2 for right neck which sets in the middle of the daisy chain of 3 dynamixels... hmmmm.
With the exception of the crunching sound of lettuce being crushed, that's the same move I use to re-align my neck after I've been working online. Even the "thunk" (as my vertebrae pop).
Hope you can work out the problem. He's too young to have neck problems.
Lol! Yeah, the neck is free floating held in place by two magnets. This allows some "wiggle" room for adjustments in this start up sequence. "Good thing" is it's probably going to be running 24 hours a day with out being turned off and on all the time.
After the shut down sequence and servoes are released it still holds it position this might be more desirable than that hideous reboot.
@fxtst, Sorry I can't help you with your current problem. I do have a question about your start up and connecting, though. Watching your latest video - Do you have it programmed to automatically connect to ARC when you turn on the power? If so can you share how you do that? Thanks
@Bob, Here is the link to show how to auto-start your program. You will need to create a initscript with the command to start the auto connect script in ezb.
EDITED**** Forgot the link. https://synthiam.com/Tutorials/Help.aspx?id=171
Did not mean to hijack Wills' thread.
@bob no not when I turn on power, that would be great but I'm not that tech savvy. You can't see me off camera activating the script after I hit the power button on the power supply. Once I do that I hit the start script button and that connects to the com port, turns on the camera and starts a looping animation.
Hey Will, although it looks bad it isn't as bad as I thought. As to my previous comment about using springs I absolutely despise having to use a 50 cent spring on 1500 dollars worth of servos. Anyways if I ever get some time I'll post a video of mine trying to beat himself to death. Luckily these servos have there own overload / shutdown protection.
I certainly would like to see a video of your error, if you have time. I really would like to try and get to the bottom of it. Can you tell me about your set up?
Thanks, Will. I couldn't see how that would be possible but then I'm not that tech savvy either.