Hello

Our new hands (just the part with the fingers) have inbuilt Arduino compatible boards (ATmega2560s) and we'd like to hook them up to MRL while continuing to use the InMoov service, which we have otherwise configured to match our needs. 

How would you go about this? I've been browsing the MyRobotLab config files and documentation for a while, but it's not obvious to me where you can add new boards in the mix. 

BR
Teemu 

kwatters

6 years 1 month ago

This shouldn't be too difficult. 

If you're adding new arduinos. you'll need to 

1. upload the MrlComm sketch to them.

2. start them in the python code     myNewArduino = Runtime.createAndStart("myNewArduino"< "Arduino")

3. configure the servos to use these new arduinos instead of the default i01.left / i01.right

i01.leftHand.pinky.detach()

i01.leftHand.pinky.attach("myNewArduino",pinNumber,restPosition)
 
 
basically just telling the servo to detach and then to re-attach to the arduino / controller of your choice.
 
good luck!

 

I think you may also need to play with the meta data ftuff in the InMoov.java file.

I have a seperate UNO for all my head servos, but it wasn't a simple case of changing the name/port in the config files. Somehow this metadata stuff links arduinos and skeleton parts.

Sorry I don't know enough JAVA to be anymore help, I just took some educated guesses (hacks) until it worked.

RekabUK

kwatters

6 years 1 month ago

In reply to by rekabuk

You can start the inmoov service as normal, then re-configure it all via python as I described above.