As discussed in this thread: https://synthiam.com/Community/Questions/9107 I have been working on controlling my robots from my new Android Wear watch.
Eventually, I want to make a plugin and an Android Wear app to make this easier, but with the combination of 3 (unfortunately, all paid) android apps, I now have a controller. Note: Unlike the Apple watch app that DJ wrote that uses ARC Mobile, this one requires a PC running ARC and the TCP Client connection activated.
The app has 5 configurable buttons, which I have set up for basic movement panel, but each button actually supports tap, double tap, press and hold, and swipe so I could add 15 additional functions.
It uses the following three apps:
Tasker https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm
Send/Expect https://play.google.com/store/apps/details?id=com.asif.plugin.sendexpect
and AutoWear https://play.google.com/store/apps/details?id=com.joaomgcd.autowear
There are some issues with AutoWear on Android Wear 6.0.1 (the latest version) but none that impact this function, it just took some work to set up because I could not get through the setup wizard, and some of the features (like gesture support) don't work, but the multi-button function I used work fine.
If anyone else has an Android Wear watch and wants me to put together a tutorial, post here and if there is enough interest I'll write up instructions and post my Tasker files.
Alan
Created a little video of this in action.
It works quite well, and I can create different watch faces for each robot, with different script actions for the buttons. The only issue is that the Telnet app "Send Expect" hard codes the IP or host name and I need a separate hard coded task for each function, so I can only use it with one computer unless I want to duplicate the tasks and watch face for each computer separately. Making host and port be Tasker (global) variables is on the developers todo list, but I don't know how long it will take, so I may learn enough coding to build my own controller by then.
The other mild irritation is that Autowear has the ability to create named apps (using pre-defined names) for any Tasker app, and 3 of them are even well named for Robot controls, Jarvis, Marvin, and Hal. You are supposed to be able to launch them by voice by, for instance, saying "OK Google, Start Jarvis" but google broke the functionality in the latest Android Wear release. I can still select the apps from the watches app drawer, so it isn't too much of a problem.
Anyway, here is the video. I'll post more as I try out more functions.
Click To Watch Video
That's really neat - it's a clean UI. thanks for sharing alan!
Thanks DJ. I think I figured out the variable issue I mentioned so I would only need to change the host in one place, but it will take me some time to fully figure it out and then reconfigure it all, but by the time anyone else wants to use this, I should have it pretty repeatable and easier to understand than the gyrations I went through to get it working.
One cool thing I realized last night is that even though each screen is limited to 20 commands (5 buttons, 4 actions each) I could make one of those actions open another screen, so I could have one for movement, another for an arm, another for the claw, another for the pan and tilt camera (hmmm... Can I get the streaming video on the watch? More research needed), ine to initiate dance sequences, etc. Virtually unlimited number of commands.
Alan
On the train this morning during my commute, I modified the app to pass the script commands to the Telenet app as variables, so if I change computers, I jsut need to change it in one place, not for every script command. Would still like a way to fully automate that, but this is better. Can't fully test until I get home tonight, but I am confident it will work, and it makes the whole configuration much much simpler for if/when I write a tutorial.
Alan
thats a cool watch controle.does it work on other robots too?
It works for any EZ-Robot. The basic 5 commands work with any robot with a movement panel. The double tap and long press commands are customized for the script command in each robot, so this example was specific to a SIX (had the Strafe and FAST ControlCommands). I am probably going to add some of the "dance moves" that make SIX so cool as well, but I have just been playing over the weekend and learning how to make it all work together.
When I do one for Roli, it will probably have multiple screens, so I can run each arm independently, and maybe start some automation sequences.
Alan
so the basic 5 works with any robot other then ez robots. am looking forwart to see your tutorial.
I am assuming this was what you meant to say, and not your sometimes confused English usage. If not what you meant, then the clarification may still help others.
The basic 5 work with any EZ-Robot with a Movement Panel in the project - it gives the script commands:
Other functions would be specific to the robot you want to control since it is doing ControlCommands specific to the AutoPosition or script manager or other objects in the project.
Do you have or are you planning on getting an AndroidWear watch? I only plan on writing a tutorial if it will be useful. If no one else has one or is interested in using it in the near term, then my time would be better spent taking C# lessons and writing a plugin and my own Android App rather than relying on three 3rd party paid Android apps and making them all work together with ARC. If the documentation for the apps I am using was better, I would be more inclined to just do the tutorial anyway, but one of them, AutoWear is fairly poorly documented, so in order to allow readers to make their own customization, I would spend half the tutorial documenting how the app works rather than how to make it work for a robot controller.
Alan