Wireless Inmoov Arm Project

Hello, I am currently using the 1.0.2693 Manticore myrobotlab.jar to create my project. The architecture is as follows.

I have built the inmoov arm which is controlled by a Raspi 4 connected to a PCA9685 I2C servo controller. Thus far I have been utilizing the RemoteAdapter service to connect from my PC to the Pi. I am able to control the servos just fine this way through the local (Linux PC) Swingui. However, the next step of the process is to be able to control the arm via the Leapmotion Controller over Wifi. The Leapmotion controller is connected to the PC which is remotely connected to the PI over a dedicated router on the Robot. This is when I ran into the Serialization problem with the LeapMotion controller and as long as the leapmotion mrl service is running on the PC, I cannot use the RemoteAdapter to communicate between the two nodes. As GroG suggested, I am now trying to move away from the RemoteAdapter and instead use the WebGui service broadcasted by the Pi to control my servos. On my PC I am able to receive the finger in the onLeapData handler using leap.getFingerAngle and now I'd like to write those values to to hand of the InMoov.

Attached is the code I am running on the Pi and PC nodes thus far:

Any guidance would be much appreciated, thanks.

**EDIT** When attempting to launch the WebGui MRL crashes as shown in the attached log

**EDIT2** I was able to get the WebGui working by switching from java 11 to java 8 and using chrome instead of firefox

 

GroG's picture

Here's some docs regarding

Here's some docs regarding the WebGui REST API http://myrobotlab.org/content/myrobotlab-api

As I mentioned before I suggest that you get webgui running first and comfortable with the REST api before you throw everything together ..

The error is a Java one where annotations is not defined because your using Java 11 vs 1.8.

To fix you can install 1.8 and switch the alternatives to use it, or you can get the Java annotations installed.

Nick_S's picture

Thanks GroG, that api has

Thanks GroG, that api has been very helpful, here's the current state of things below. Also starting to flesh out the leap interface a little more. I'm planning to have the operator's hand's position in space act as a 3d joystick of sorts that will move the arm forward/back, up/down, left/right via some thresholds in the LeapMotion space as well as the actual finger/wrist tracking. That way the user's hand won't actually move out of range of the leapmotion.

https://photos.app.goo.gl/zXvNK7ceQrJdyQr39
https://photos.app.goo.gl/BzMu18g7X3RHrPhW6