Asked — Edited

Tablet Face

Many robots are built with installed tablets. Often the tablet is in a head. I was wondering if anyone has seen or could build a face that could be displayed on the screen. I have seen this idea around.

It consists of the basic face features eye brows, eyes and a mouth only. These features are able to move to show expression. Has anyone seen this feature or messed with one? Is it possible to build?

Ron R

Edit: The idea is like ROMO. I want only the face which could be run by an EZB.

DJ possible?


ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

Portugal
#1  

Hey Andy, i have tought of the exact same thing. I think it would be possible and not hard to add to the interface builder (4 DJ) . We could have a face builder and it could react to variables coming from ARC ( $sad_face, $happy_face, the soundboard, etc).

User-inserted image

#2  

That is what I am talking about. ! I know there are some current robot projects that would have a need. It would also be a fun addition for a Roli or Adventurebot.

Thanks,

Ron R

Portugal
#4  

We need to convince DJ to help!:P

PRO
Belgium
#6  

PLEASE

does rafiki have such a face frm david cohran.

#8  

I've toyed with the idea, but I am not capable of making anything "cute". It kinda sucks that I can't.

But here's the idea...use a flash animation program like Swish or something like that, they're very easy to use and make animations...then export them as videos, like .avi or .mov, then use the ControlCommand() script to bring up the expression/ animation you made on video player, full screen. That should be doable right?

#9  

Rafiki does have multiple faces. It will be one of its plugins. They aren't animated but switch based on the condition. The jpg images can be replaced with other faces if someone wants to do this.

PRO
Synthiam
#10  

Use the Video Player, that is what it was created for. There is an example in the examples folder...

  1. Open ARC

  2. select OPEN from file menu

  3. Navigate to Examples -> EZ-Script Examples

  4. Load Video Player project

  5. Run the script

Also - if you decide to make a plugin, check the Display Popup plugin source code. From that, it would be very easy to modify and display a stretched jpeg/png image. It can be specified via ControlCommand() easily

PRO
Synthiam
#11  

I can't seem to find it - but there was a robot in the forum that this was created for a few years ago. The robot had facial expressions that were video files...

Portugal
#12  

To do that you need your robot to have the computer onboard. I was thinking more of using a smartphone or tablet for the display over wi-fi.

You could have Interface builder do this:

User-inserted image

I would be happy to help with the art work.

#13  

Hello to @proteusy and All others interested,

Help me understand this more. I went to the video player tool and realize a file can be called and played. I want to now know how to build the animated face. My first example would be a face looking straight at you. The next face would be the same but the eyes blink, next look left, etc. I assume this would be a bunch of short video clips which would be scripted together, and called on as needed.

I guess my question now is does anyone know where software is that I can use to develop this face? I like the face @proteusy posted and want to build something on this idea.

Ron R

#14  

Because I have a limited knowledge, I was wondering and looking at a Bluetooth dongle for my computer which would connect to a tablet. Could it work?

Ron R

#15  

@proteusy,

How does it work with the interface builder? I would like to see a simple example if you could make one.

Ron R

#16  

@ANDY Like I said earlier you could try a flash building program like swish...very easy to use.

You could make your images on photoshop or even paint and edit your reaction together using a video editing tool, an easy one like windows movie maker or something like that, then export it as a .avi file

#17  

The program that I had was on the LEAF Project. It had many animated faces Free.

Portugal
#18  

Hi Andy, the face builder interface is just an idea for DJ. As you can add buttons, labels, etc, in interface builder you could add face parts like eyes, mouth , nose, and make it display on the smatphone or tablet that would be on your robot.

BTW: the robot on the pic is called Buddy from Blue Frog Robotics.

#20  

Hi @Nomad,

Yes, You have the idea. I have not yet found a software I understand, but I will keep looking.

I printed out a cartoon panda face and I will see if I can build it in paint. It is a challenge for me to draw a straight line, never mind a picture, but I will try. I will then see if I can make different expressions.

End Goal to have my Adventurebot have a face.

Hi @Doombot, Like I mentioned, I have NO artistic skills. You are able to build cool looking stuff from just stuff. I struggle writing my name...LOL. But I will try something.

Ron R

PRO
Belgium
#21  

there is an app from wowwee for robome has faces

#22  

I tried to load Adobe Flash Player, but having trouble. Has anyone used it or also had trouble loading it?

Ron R

@Nomad I can't seem to find the software. I will keep looking.

#23  

@ANDY Ok bro ill play around with stuff when I get home from work.

PRO
Belgium
#24  

ANDY ROID go to app store and typ robome it has a few faces voices recording and internet connetion it works without the robots

#25  

Thanks I will check it out.. Ron R

PRO
Belgium
#29  

for the android app robome look for roboremote.last one is robome.

#30  

It Won't work on my phone. Thanks for trying for me.

Ron

PRO
Belgium
#31  

there are tons off secondhanded cheap phones out there. on ebay .what phone do you have.

#32  

Hi Patrick,

My goal is not really using a phone, but using a tablet or even a computer screen. I want something like the faces posted by you and others. The apps give me the concept, but I am limited by using them.

There is a program by Adobe, called Flash Player. It can allow you to draw a face and make it animated. ( like you see on the phone) This gives the ability to have the eyes move, blink, the mouth to move and the face to turn, etc. This way your screen, tablet or computer screen is the face. This then can be run by ARC. Dj explained how earlier in this post. By adding other thing like relays and servos, you can make a cool robot.

I am working on loading Adobe Flash Player, and playing with it.

Ron R

PRO
Belgium
#33  

sounds great,tablet would be better then a phone. cant wait to see what you come up with.

#34  

@ANDY

That's what I've been saying all this time, flash. Look up a program called Swish. It's s simplified Macromedia Flash. You can make simple animations. You can then "export" (save them as...) them to video files, like .avi, so u you can pull it up on Video Player. I'll make an example when I get a chance.

#35  

@Doombot

Sorry I am so dense, LOL .. Brain fade from my youth,,,

I will look up Swish.

Thanks,

Ron

#36  

@Ron,

Yeah, you don't want to use Flash Player. It is a security nightmare and will be discontinued soon. Swish can use Flash to create the animations, but then turn them into videos that ARC can play with the Video Player object (found under misc controls).

You tell it what to play with ControlCommand() script commands:


Video Player  ControlCommand() examples...
 
ControlCommand("Video Player", VideoPlay, "C:\My Documents\Video1.mpg")
 
or
 
ControlCommand("Video Player", VideoPlayLoop, "C:\My Documents\Video1.mpg", 20)

Alan

#37  

Thanks Alan, I am still undecided on which software to use but it sounds like Swish will be my first try. I will download tutorials and the trial and see what I can do.

The ARC steps seem pretty straight forward. Building the face and movement will be the work.

Regards, Ron

#38  

If you have to pay for Swish, I say just use something free like Windows Movie maker. Use jpg images and transition them together to create a pseudo animation...then save the file to .avi or whatever video file you want.

You can go deep into detail and use a photo per letter...look at the guide below. It'll look more like realistic talking rather than just expressions...

User-inserted image

#40  

Hi @Nomad, It is something like I want to do.

If you remember Eva from the Wallie movie and remember her eyes, that is what I want. I would add eyebrows and a mouth. The mouth shows up only when she speaks. All can be done with the EZB once the art work is done.

Building the eyes eyebrows and mouth on the computer is not hard for someone who is good at drawing, but for me it is tough. I need to re-learn paint or something like it to be able to draw again. Forgetfulness is tough. I call it Brain fade...LOL

Thanks for your help, Ron

PRO
Belgium
#41  

that is great idea using eva eyes.

#42  

@Doombot I guess I will try to draw the basic faces and do what you said. I can use a script to run it. Thanks, Ron

#43  

I made a face, got it animated, transferred it to Movie Maker, ( a mp4 file). (My Movie.mp4)

I can run it on my desktop, but the script displays the face, but won't run the file. Anyone have any ideas why it won't work?

ControlCommand("Video Player", VideoPlay,"C:\Users\Ron\Desktop\My Movie.mp4")


Sleep(7000)


Thanks,

#44  

I would transcode it to mpg from mp4. The manual doesn't specify the supported video types, but the examples are all mpg. I suspect it also works with AVI and WMV but probably not every video type.

Alan

#45  

Thanks for the info. I changed it to a .wpl and it didn't work. I will keep trying

#46  

try mpg, avi, or wmv. wpl is a windows media player playlist, not a video format.

You can't just change the name, you need to use your video creation software or transcoding software to re-encode it.

Alan

#47  

@ANDY You're getting there bud. A long time ago I tried to use my Acer w8 as a chest piece for one of my experiments, and I used a video of a live beating heart (pretty gory) on Video Player, in full screen. I must say the effect was pretty scary haha. I was prepping for an art installation a while back. But long story short, I used .avi and it worked fine.

Keep trying man:)

#48  

Yeah, I been using window media player, and converted it to a . wmv. Still ng. I can run the video in windows media player on my desktop, but not thru builder. With all my past test, when I start from scratch, I get the first frame, and that's it.

#50  

@ANDY I'm trying to look for my project...I just can't remember what I did...ill post it if I do find it

#52  

Hey guys, just came across this....so I quickly scrubbed thru the previous pages, please forgive me if I am off topic!

There is one thing that could help connecting your laptop screen and you phone, it is an app called

http://trinusvr.com/

So if you managed to have all the stuff going on your PC you could just stream that window to you phone tablet or whatsoever and you animations would be displayed propperly....there are more apps doing this, but this one is by far the best one that I tested!

Hope this helps, or is fun to check out;)

#53  

@ANDY I can't find my old project dude, sorry. I'll see if I can make a new Example Project when I get home.

#54  

@Mickey666Maus Thanks. Sounds good. I will look it over..

@Doombot No problem about the project. If you can or cannot make an example, Thanks..

I made a face in Power Point and animated it to look around and blink. I converted it to a .wmv file and it doesn't work thru the EZB, but works in media player.. I'll keep trying.

Ron

#56  

This looks good. I was thinking about using the Eve face from the Wallie movie. I thank you for helping me with the searches. I think the key is to keep it simple and mainly use the eyes only. (Like this last one you found). I will share my designs soon.

Best Regards, Be Well, Ron

United Kingdom
#60  

I don't think this is what you want, but...

If you want to keep a JD model in the same scale and have a tablet face, you could maybe 3D print a new head and incorporate the Sony smartwatch 3 in to the head.

The Sony SW3 is just a watch strap and the watch itself sits within the strap.

You could make watch faces that use and show expressions. Then also use IFTTT to send messages to twitter for the face to change at times of day or when you receive messages/emails, etc.

#62  

@Nomad why does @Dnwx want to see Moviemaker's robot? Did he ask to see it?

PRO
Belgium
#63  

oeps wrong topic sorry

PRO
Belgium
#64  

andy was it you looking for eva'a eyes to use?

#66  

Yes this is what I want ,,, and a how to do also.. Thanks Patrick !

PRO
USA
#68  

Has anyone figures out Andy's original question pertaining to animated faces on flat panels?

I also would like to be able to call up animations smile, sad whatever animations. Are these animations called by scripts, maybe even reactive to voice synthesis etc. or eyes that follow you using the camera?

EzAng

PRO
USA
#70   — Edited

ok, Thanks I tried that, it works, I will play around with it.

So to change face emotions, save different gifs or videos

I have the Wio terminal: I got as far as the WIO terminal - no audio / speech , nor mouth moves etc. check my kink out https://youtu.be/GzJ97RnYYnM

from:

https://www.hackster.io/SeeedStudio/display-robot-face-using-the-wio-terminal-68f87a

works great, but has no audio

This is the code I used for the Wio Terminal, how can it be used for a script in Synthiam?

#include <LovyanGFX.hpp> #include <Servo.h>

Servo myservo;

//int outpin=D2;

int counter = 0; int i = 0; static LGFX lcd; static LGFX_Sprite sprite(&lcd);

int pos = 0;

void drawEye(int x, int y) { sprite.clear(); sprite.fillCircle(65,65,60,0xFFFF); //sprite.drawEllipse(65,65,60,30,0xFFFF); //sprite.drawFastHLine(5,62,120,0xFF); sprite.fillCircle(x,y,15,0); sprite.fillArc(65,65,60,1,180,360,0xED6E); sprite.setPivot(65,65); sprite.pushRotateZoom(80,70,0,1,0.5); sprite.pushRotateZoom(240,70,0,1,0.5); }

void sleepyEyes() { int p_rect[4][4] = {{9,65,112,22},{22,65,86,41},{40,65,49,55},{63,65,4,59}}; sprite.clear(); sprite.fillCircle(65,65,60,0xFFFF); sprite.fillCircle(65,70,10,0); //sprite.fillArc(65,65,60,1,180,360,0xED6E); sprite.setPivot(65,65); for (int i=0;i<4;i++) { sprite.fillArc(65,65,60,1,180,360,0xED6E); sprite.fillArc(65,65,60,1,0,22*(i+1),0xED6E); sprite.fillArc(65,65,60,1,180-(22*(i+1)),180,0xED6E); sprite.fillRect(p_rect[i][0],p_rect[i][1],p_rect[i][2],p_rect[i][3],0xED6E); sprite.pushRotateZoom(80,70,0,1,0.5); sprite.pushRotateZoom(240,70,0,1,0.5); delay(200); } delay(2000); //sprite.pushRotateZoom(80,70,0,1,0.5); //sprite.pushRotateZoom(240,70,0,1,0.5); }

void setup() { pinMode(WIO_5S_UP, INPUT_PULLUP); pinMode(WIO_5S_DOWN, INPUT_PULLUP);

myservo.attach(0);

lcd.init(); lcd.setRotation(3); lcd.setBrightness(128); lcd.setColorDepth(16); lcd.clear();

sprite.setColorDepth(16); sprite.createSprite(130, 130); drawEye(50,80); lcd.drawArc(160,90,120,119,30,150,0xE800);

}

void loop() { int x = random(15, 115);

for (pos = 0; pos <= 60; pos += 1) {
  int l = pos + 20;
  drawEye(l,80);
  myservo.write(pos);
  delay(80);

}

for (pos = 60; pos >= 0; pos -= 1) {
  int l = pos;
  drawEye(l,80);
  myservo.write(pos);
  delay(80);
}    

delay(3000);

sleepyEyes();

}