A project to create NetIO UI for Rapiro

I'm trying to build an interaction UI includes movement as well as camera and voice related functions using NetIO, here is the project page.

Any suggestion, advice, information are welcomed.

Now a CGI based version is ready on another post (http://forum.rapiro.com/thread/163/). NetIO client is not needed for it. I'll concentrate on the CGI version for sometime. Well if you already have NetIO client, or wish to pay for it then still this version has better response time I think.

posted by lacarte on 2014-02-26 16:13

that sounds very interesting. I thinks adding something like gestures would be very interesting.
Thoses gestures could move a single servo or could make a serie of movement resulting in a pose..

I have a nexus 5 et nexus7 and nexus7 2014, also and ipad mini and a ipad2 if you need someone to test your software on a different environement with another rapiro :)

posted by djakku on 2014-02-28 10:26

Thank you djakku for the suggestions. Yes, gesture will be something very useful to communicate with an agent robot like Rapiro. With opencv it should be feasible to recognize hand and fingers within some controled environment. I'll add this to my to do list. Also, I've backed the Pixy (https://www.kickstarter.com/projects/254449872/pixy-cmucam5-a-fast-easy-to-use-vision-sensor), which can recognize and track some simple objects at a very high frame rate. I think I'll try to put this on Rapiro when the cam is ready. And thanks for the offer, I'll try to share the codes when a little bit more funtions are implemented, and after a refactoring.

posted by lacarte on 2014-02-28 13:56

A working screenshot for the current version.

posted by lacarte on 2014-03-03 09:34

Great project!! Would you like to share your Phyton code with us? i have much to learn and it would help a LOT!


posted by zeil.timothy on 2014-03-04 04:01

I'd like to share of course, but I think the code need a little bit refactor and need more comment. Also I want to finish testing the voice recognition part until then. I think the code will be posted on the project page. Also I need to say that the code is not very elegant as python, because a lot of the tools are individual applications and so the code is calling them through system command. Before or with the actual code posting I'll also list up tools to be installed or configured.

posted by lacarte on 2014-03-04 08:30

That looks cool, also by looking at you interface, maybe you can also add gyro senso and make the rapiro's head turn left/right depending on acceleration :)

i ordere my camera then i will attach a PI to my robot. so far i'm still testing and learning from the basic sketch

posted by djakku on 2014-03-04 09:09

Just posted the server code on the project page. There are some libraries to prepare before you can use the code. Of course you will need camera and speaker for the related functions. Another thing to mention is the script must have sudo permission so to use, type 'sudo python netio_server.py'. Any feedback is welcomed. I'll implement voice recognition related and image processing related things in the next few....weeks i think.

posted by lacarte on 2014-03-04 20:51

You beat me to it.

Might try something similar with Google Glass though to control him maybe incorporating this? http://www.raspberrypi.org/archives/5672

posted by evilbluechicken on 2014-03-07 12:25

Thank you evilbluechicken for the info of the library, yeah I should use it. Actually the real problem for me now is the power supply. I'm writing in another Japanese post about this problem, so when you use battery or ac adapter with Rapiro, and you turn on Pi and the camera board, Pi will hang very easily. And from the official reply the reason seems to be the supply (from Rapiro board to Pi is 1.5A at most) and my luck (Mr Ishiwatari seems to be working fine with his Pi + camera). Anyway, I'll try to beautify the code by the library and try some neat control of camera with it. Another idea I want to give a try is to utilize my dust covered Leapmotion...you guys familiar with Japanese robot animation should know what to do. Map hand motion to real time Rapiro movement.....well I dont know when I can start. Ah actually I saw a guy posting a simillar control UI with mine, on the Rapiro's facebook page. He is not using the camera though.

posted by lacarte on 2014-03-07 16:19

djakku thanks for the suggestion. Gyro seems to be useful. I'll try when I got one in the future. Well on the other hand I think acceloration sensor wont tell much because the robot shakes too much when walking.

posted by lacarte on 2014-03-07 16:31

I was thinking at combination of holding a button on the device (phone or tablet ) + a movement = movement of one limb.
for instance volume + and raising the phone would raise left arm, or those kind of combination.
it can be hardware button or touch areas for instance..
Kids would have lots of fun having a small robot imitating them...

We can go even further and who knows, interact with kinect and rapiro... but that way too early :)

BTW, lacarte, I think many of us will try to the same thing with the robot and you software is very important for the backers like me, who love computer/robotics but as a hobby and don't have time/skills to code or obtain result fast or accurately.

I have installed all the dependencies to test you server, but i don't have much free time on my hands now.. all i can tell is that when i try to connect via http to the port 5487, and plug a speaker to the raspberry, i hears and error message from eSpeak. which means for me that all the dependencies are installed and i'm just waiting for a sample of the client application :)

posted by djakku on 2014-03-08 10:21

Actually, sorry for even asking but would it be possible to consider creating a python library for the RAPIRO?

posted by djakku on 2014-03-08 11:10

I have a leap as well, but my goal was to control RAPIRO from a mobile device.

posted by evilbluechicken on 2014-03-08 11:14

I have not had any camera related crashes, but mine seem to be wifi power related. Too much traffic for too long and i get reboots and sometimes kernel panics. (using 12V5A power supply) Have ordered a 10A one, will see if that makes a difference.

posted by evilbluechicken on 2014-03-08 11:28

Fantastic stuff lacarte I am trying to get it running I have espeak working but when I connect it gives the following error can you give any help?

ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started

posted by Raspians.com on 2014-03-09 02:35

Thanks for the feed back. I've tested the server only with NetIO. However as the server is just accepting socket transmission quite plainly, I think with some other client code using socket will do the job too. A python library for Rapiro would be very nice. But I doubt I have enough time and python skill to do it. Anyway, as NetIO is a non-free application and the cost is mainly for the UI design ability I think I'm not in the position to ask everyone trying my code to pay. So the next thing I want to do is put the functions into a web interface, running on apache on the Pi. Then the only thing one need is a browser to operate the robot.

My adapter is 12V5A. Hope the 10A works for you but as the current from Rapiro board to Pi seems to be regulated to 1.5A by Rapiro board....

Thanks for the feed back. I think I do get some error message like that, but everything works without much problem. I'll look into it when I got time.

posted by lacarte on 2014-03-09 09:06

Thanks lacarte from what I read about it. It seems to be just output and not really any error. It could be suppressed in your code at least that's what most searches got me believing. I connect from PC Mozilla, Kindle Fire HD, and an iPhone 4 but all I get is a white page. I commented out all the speech and the only message I got was when the client connected.

Any ideas on that one. Outside of all the scripts I have seen yours is the most comprehensive and impressive dying to get to play with it.

posted by Raspians.com on 2014-03-09 10:23

Raspians.com I'm actually just going to take care about that now. The current code is only for NetIO client, so you must have a NetIO client installed on your android/ios/perhaps PC and download the UI script and fix the ip address, then connect to the server using that client. The problem is NetIO client is not free. So it was ok for my self because I already got a paid client but when it comes to other people, I think I should do a little more to make a completely free version. So what I'm going to do now is pack the features of the current server into a cgi that works from the Pi. Then you only need a basic browser to do whatever. This transition should be done in a few days.

posted by lacarte on 2014-03-09 16:29

Awesome thank you I had not heard of NetIO so sad it's not on the Kindle :( and the iPhone would make it too small to see. But I think for the price I'll give it a try I may just buy it under a friends account on their iPad if they have the time to come over and check it out.

posted by Raspians.com on 2014-03-09 21:26

lacarte - which netio client are you using?

posted by evilbluechicken on 2014-03-10 05:34

Read Terms of Service upon submitting. 投稿する前に利用規約をお読みください。