I have been using both board 0 and board 1 lately. When I connect to a robot through Board 0 and go directly to a frame on the corresponding Auto Positioner, and click "Transition To" all goes fine and the servos go to the proper position immediately as normal. However, when I try the same thing by going through Board 1, the servos go wild, some going to their opposite extremes and banging things about. They then go to their correct positions in a normal transition manner. Problem is that first jerk of the servos. I'm sure it's not good for them and certainly not good for the stuff attached to them.
To isolate anything in the project in which I was working causing a problem, I created a brand new project with the following:
Both Connection 0 and Connection 1 go to the same robot's EZB-4. I put in 2 Auto Position Controls; one movement type, which only goes through Board 0, and another non-movement type, set to Board 1. I exported all the setups in the first Auto Position control to a file and imported that file to the second Auto Position control so they would both have the same exact things in them.
Both have a "STAND" frame. It is that frame on which I ran my tests. Though the others will have the same results.
First, I connected to the robot through Connection 0. I then went right to the Movement Auto Position, selected "STAND" and clicked "Transition To." That worked fine with a minimum of extraneous servo movement before going to the correct positions.
Then I disconnected from 0 and connected to the robot through Connection 1. I subsequently went directly to "STAND" in the other Auto Position control and clicked "Transition To." Everything worked fine ... this time.
Then I disconnected and reconnected again through Connection 1. When I clicked "Transition To." for the "STAND" frame, the servos went wild before settling back to their correct position. If I disconnect and reconnect through Connection 1, the servos go wild again. Same thing every time I disconnect and reconnect through Connection 1
Somehow, going through Connection 0 first and doing the "STAND" thing has some sort of "calming" effect such that the first time I connect through Connection 1, all is well. After the first time, however all is not well. After that first time, everything works OK through board 1 as well, but that initial jerking around can be a killer to the robot's parts. Perhaps the first time going through Connection 0/board 0 leaves some initial values in memory that are used by the servos when going through Board 1 the first time. Just a guess.
I can't actually do the going through Connection 0 before going through Connection 1 thing in the actual project. So I'm wondering if something can be done to stop those wild gyrations when using Connection 1/Board 1?
After some more tests I found that the problem does not occur when I do the connect and "STAND" thing the first time after starting the project (even without doing the calibration for board 0 first). It is when I disconnect and reconnect the connection to Board 1 after that first time that the problem occurs. So it seems the best thing to do for now is shut down the project and restart it if I have to re-do connection 1 for any reason, such as losing contact due to other circumstances.
This all came up due to the fact that the connection is lost when I have the camera resolution set to the highest resolution setting and stop it. The unit disconnects from the EZB-4 for unknown reasons. That's, of course, a separate fault and is not related to the above problem. But it was that occurring that made me have to reconnect board one, leading to the servo gyrations. Lately the camera thing has not only been disconnecting from connection 1, but also often crashing the program such that the program shuts down completely.