Poland
Asked — Edited

Sitting Position Changing During Initialization

Hello All Yes! I got my DJ :-) did assembly and servo calibration... play with him a little and close connection and turn DJ off in sitting position

Some time after, I turn it On again and then the sitting position change like a yoga man

then I connect via EZ builder, open my project and now my DJ is taking another position (standing with straight arms like servo calibration) very quick

Is there any way to avoid both change, during initialization

I am worry for my daughter's fingers

Thanks


ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

#1  

Whem you power down any servo, it loses its ability to hold position and will drop to a relaxed state. When you power on Swrvos, they jump to often random positions, then When you start the JD project, the initialization script sets all servos to 90 degrees so that it is starting in a known configuration. I believe the JD tutorial indicates he should be started lying on his back so he doesn't fall over.

You could chamge the init script to have him start in a sitting position instead, but there will still be some random motion on power up, and then correctiom whem ARC connects (although you could add a servospeed() commamd in the script tobslow down that initialization movent).

Alan

#2  

Hi Yes you right, JD tutorial indicates he should be started lying on back I will look on how to change the init script

https://synthiam.com/Tutorials/UserTutorials/155/1 Setting servo speeds and Initialization Script Tutorial

Thanks

PRO
Synthiam
#3  

Sorry, having trouble understanding...

Are you asking for JD to move into the sitting position when he connects, rather than calibration position?

If so, edit the init script and change..


ControlCommand("Auto Position", AutoPositionFrameJump, "Calibrate")

to


ControlCommand("Auto Position", AutoPositionFrameJump, "Sit 5")

Just remember, every time you connect to JD, he will jump into the sitting position. So, if he's standing and disconnects and you reconnect, he will jump into the sitting position.

#4  

hello Sorry, my english is not perfect but you understand well

yes it is what I want, making him to sit on EZ B connection, following the tuto I found the init script in EZ B

But what I want to avoid is him JUMPING (moving fast in the init position), I would like him waking up slowly, is there any way?


in this tuto there is an explanation on ServoSpeed command The servo speed is a number between 0 (fastest) and 10 (slowest).

but few ligne after Example: ServoSpeed(D14, 25)

does it mean that we can set over 10 ? or it is just an example what will happen if the value is over setting (10) ? is system will read at 0 or others ?


second interrogation in tuto To initialize the ServoSpeed() at first use, set a Servo() position before using the ServoSpeed() command.

but Steve G in his example start to clear ServoSpeed with value "0"


# This will clear the servo speeds for initialization. 
ServoSpeed(D1, 0)

What clear means ? that servo will not move at all during EZ B connection ? why using ServoSpeed "clearing" as we have, first to set position before using speed?

Thanks

PRO
Synthiam
#5  

that is impossible. Jumping is the only way to initialize servo position.

This is because when powered on, there is no previously recorded position. Servos do not report their position.

ServoSpeed() command will only work after servos have been initialized. Please read the documentation for the command.

There is a great tutorial in the learn section for jd that explains how servos work, it's recommended reading: https://synthiam.com/Tutorials/Lesson/48?courseId=1

Your English is great:) better than most people on here! :D