Thumbnail

Setup - Raspberry Pi

EZ-Builder Designer software can install on Raspberry Pi, and more specifically any operating system supporting MONO (Linux, MacOS, etc). There are a few limitations on the Raspberry Pi version of EZ-Builder in comparison to Windows EZ-Builder. These limitations are based on the dependencies of certain behavior controls. For example, when a behavior control is created with Microsoft Windows dependencies that do not exist on Raspberry Pi, the control will not work. Some of these controls are Speech Recognition, Joystick, WiiMote, and USB Cameras.


Installation Types

There are two ways the Raspberry Pi can be used with Synthiam. The Pi can either run EZ-Builder or the EZBPi Server. This server allows an EZ-Builder instance to connect to the Pi and use components and peripherals connected to the Pi.


Image

This image is EZ-Builder Pi running on a Raspberry Pi B . Because the Pi does not have onboard WiFi, there is a USB WiFi dongle connected to the Pi.

Download

View the Software Download page to get the Raspberry Pi ZIP file and follow the installation instructions below.

Installation

1) Install the Mono framework on your Raspberry Pi terminal shell, which is pretty easy...

sudo apt install mono-devel

2) Next, unzip and extract the EZ-Builder installation file that you downloaded in your home folder...

unzip ~/EZ-BuilderPi.zip

3) Change into the directory of EZ-Builder...

cd ~/EZ-BuilderPi

4) Execute the application with...

mono ./EZ-Builder.exe

Installing Plugins

There are a number of feature limitations on the Rasberry Pi version Vs. Microsoft Windows. These limitations are no Blockly, no WiiMote, no Speech Recognition/Synthesis, and no 3d robot designer. Plugins are supported long as they do not use unsupported libraries.

1) Download your plugin from https://synthiam.com/Software/Manual into the ~/Downloads folder

2) Navigate into the EZ-BuilderPi folder

cd ~/EZ-BuilderPi

3) Since the plugin (.ezplugin) file will be in the ~/Downloads folder, you need to be in the ~/EZ-BuilderPi folder to install it. So you will type the following command to install from the ~/Downloads folder.

mono ./EZ-Builder\ Plugin\ Manager.exe ~/Downloads/plugin_filename.ezplugin

4) You will see a window open that shows the installation debug of the plugin. If there are no errors, you can press any key in the new window to close it. Reload EZ-Builder and the plugin will be there.

If the plugin is not in EZ-Builder Add Controls, you may have not installed it in the correct location, or there was an error. The plugin must be installed while you are in the ~/EZ-BuilderPi folder. AND you _must_ execute EZ-Builder.exe from the ~/EZ-BuilderPi folder as well. This is because the folder you launch the executable from is the folder that contains the configuration settings.

#1  
I will be interested in trying this out on a Raspberry PI but just wondering ,since the install language looks exactly the same as on my Laptop with Ubuntu all Linux based I guess, Will it work with my Laptop too?
Synthiam
#2   — Edited
Yes - it will work on your linux laptop as well. But, I don't know why anyone would run Linux on a laptop:) Windows 10 is unbeatable IMO lol. I think linux is great for raspberry pi or some lightweight computing
#3  
Ha ha ya I know right, Win10 can do so much more but the laptop I have just refuses to install Win 10 something to do with needing firmware upgrade in the Cmos start up menu but running any version of Ubuntu works great. Also for taking the robot outdoors it would be better to use the Laptop than to use a cell phone running Ez Builder as currently only my giant desktop computer has windows 10 and don't want to lug that around.Thanks ,will try it out on my Laptop,good to know!
#4  
how is linux running a .exe file
#5  
This is VERY interesting to me, since I am running my robot project on a Raspberry Pi....
I will look into your live hack, and definitely try to get it going on my Raspi!!:)
Synthiam
#6   — Edited
Good to see you again! There's a few things missing - but it works well! Specifically if you build the project in Windows and move it over to Raspberry Pi after. What's your robot doing? If you're using a Pi, how did you code it?
#7  
So I managed to put a quick demo together...I am still working on controlling my robot with Unity, I got it working on Android now. The app still runs a bit choppy, I will have to send all the servo positions at once, rather than sending them one by one I guess!
The Raspi runs a REST server and has a breakout board for servo control!
Facial recognition and emotion detection runs locally on a Pi Zero with Googles AIY vision kit!!:)
Synthiam
#8   — Edited
That's cool! Have you seen this? https://synthiam.com/Software/Manual/Virtual-Reality-Robot-15982

I built it in Unity - the receiver will work on a raspberry pi in ez-builder. The transmitter for moving servos with the google glass or any steam vr (openvr) can be any thing else (i.e. windows or android etc)

I can help you with moving servos from unity to ez-builder. Actually, there's a plugin i should create that will receive any servo values from unity using the library i created. I don't think i'll have time this week to create it for you, but next week i can. Maybe i'll do it as a live hack one day soon.
Synthiam
#9  
Check this out as well - there's bi-directional servo reading. Which means you can physically move the servos by hand or through another controller, etc. and create your own frames to have them play back. I demo this using VR as well as WiiMotes.


#10   — Edited
Thanks a lot for the feedback!!
The VR Integration EZ-Builder is great. The other head of my Robot has an IoTiny build in, so I had the chance to check it out! Its great!
I tried to build something like this myself in Unity too, but I had trouble streaming the Raspberry Pi camera.
The only stable option was using UV4L and Web RTC...but it has a weird format which was kind of hard to import into Unity! Actually the camera on the EZ-B was impossible to import to Unity too, but you know this stuff inside out I guess!:D

For bi-directional servo control, my next strech goal would be an Oculus Rift Controller setup, so there would be the least possible error in position...and it can be integrated into Unity easily!

There was an app for the Virtual JD in development, back when @fxrtst had the idea to bring Unity to the table!
@ptp already solved most of the problems sending the servo positions out of Unity to EZ-Builder...
There should be a GitHub project somewhere, but we kind of ditched it for the lack of people being interested!

I am more than happy to see that EZ-Builder is moving to the Raspberry Pi, that will make it a lot easier for me to port my project and test out all the new stuff that is being developed by you guys!! 

This new forum is great, things seem to be moving at an increasing speed!!! :D
Synthiam
#11  
I'm curious to see if anyone else has tried to install EZ-Builder on the Raspberry Pi 3 model B? Even after DJ's Friday night tutorial I'm not having much success. I want to see if it's just me or if I need to purchase a "B+":D
Synthiam
#12  
That's crazy - i wonder if it is related to the raspberry model? I'll have to come and see in your office later!
#13  
Running on a RPI 3 B (not the B+):

User-inserted image


I had some random freezes on specific areas but it works.
Synthiam
#14  
Awesome! I had it running on a Raspberry Pi 2 *embarrassed* but that's what i had lol. In the top upper picture of this thread is a Pi 2 haha

We think Jeremie has a very outdated OS which is almost 2 years old. The Mono and libraries might not be supporting in his version. He'll update the OS and try again
#15   — Edited
sudo apt-get update
sudo apt-get upgrade

Did the trick for me...:)

I still get the comma instead of dot error, but I think I just need to change the region of the raspi or something right? Otherwise it seems to be working, I will give it another try later today!!

This is fun!!!! :D
Synthiam
#16   — Edited
Looks like it's just me:P  Thanks for the messages guys!

As DJ mentioned my distro is pretty old. I previously did the update/upgrade before I installed but I didn't do a distro upgrade:

Code:

sudo apt-get dist-upgrade


Sorry guys, I'm still a linux noob, so I do have a few challenges. I'll give it a shot tonight and let you guys know:)
#17  
I got it all working too!! There seems to still be a ton of work to be done before this all works as you guys want to, but the basic functionality is given, and its great that I can run my robot now exclusively on the Raspberry Pi...since one of the heads has an IOTiny, which always needed my laptop to get it to work!!

Great progress so far!!

Btw...I did not disassemble my other robot head to check if the Pi camera will be recognized by EZ-BuilderPi should I try? I figured it can only make use of cameras connected to an EZ-B so far, right?:)
Synthiam
#18  
The pi camera and pi digital ports and pi serial ports will be supported in the next update. You won’t need an iotiny for the next update. You can connect an arduino or serial servos directly to the pi

Did you know that arduino is supported by EZ-Builder? I mean it’s still arduino and you don’t have streaming audio or video - but it does the rest. 

How are you currently moving servos with the pi?
#19   — Edited
That is GREAT news!!! It will be a huge leap forward to porting my complete project to EZ-Builder, since I would really like to stick to using the Raspberry Pi camera, since it is compatible to all platforms...meaning EZ-Builder and Raspi projects!!

I am currently using the 16 channel pwm breakoutboard from Adafruit to drive my servos, it is way smaller than using an Arduino plus Servoshield!! But this makes it harder to use with EZ-Builder I guess...but since I am sending the servo positions from Unity to the server on my Raspi, I can also just send the servo positions from EZ-Builder to the server, so everything should work just fine!!

The camera integration is what I was hoping for, with this I am set to go!!:D
Synthiam
#20   — Edited
Send me a link to the breakout board you’re using and I’ll just make an EZ-Builder plugin for it. So it will connect directly to EZ-Builder via the plugin. That way, you can run EZ-Builder on the pi and still use the breakout 

Oh, I should also add that I’ve been working on an ezbpi firmware. It’s an ezb that runs on the pi. So you essentially turn the pi into an ezb. And since you can run EZ-Builder on the pi, you connect to itself
Synthiam
#22  
Thanks man - there’s been so many people struggling to program robots that I realized they could benefit from EZ-Builder. So I’m focused on making it run on everything. 

It saddens me when I see such terrible robots with such boring features from other platforms. It’s 2019 and we’ve been producing amazing robots for 7 years! No other platforms are catching up, so I might as well give them a hand
#23  
DJ, I know what you are saying, but it’s not quite as bad as you think. I have three EZ-B robots (two Sixes and one JD) and I always turn to them when I want to do real robot experimenting. Ez builder is fantastic for getting EZ B robots to move, see, speak, and more. The other electronic stuff is just a bit of fun when you want to see some LEDs blink. Please keep up your excellent work in both worlds. BTW, the Friday nights are fun.
#24   — Edited
Without EZ-Robot, I would have never even started with robotics...all the other stuff out there is either boring, or has such a high entry level that it  scares you away before you even get going! Its seems like robotics these days is either being just a consumer, or to be a MIT student!
EZ-Builder is clearly bridging this gap!!

I would have never met all these awesome people over here, so thanks for giving us a new home for the forum...And I am really looking forward to whats happening with EZ-Builder, you guys are being super productive!!:D
Synthiam
#25  
Got it working last night, Yay!!!

I tried the dist-upgrade command but it didn't work out for me. It seems that you need to do a few more steps to have the dist-upgrade command run successfully. Tutorial here.

As it turns out, I was running Raspbian - Jessie which is fairly outdated (2017). I should have been running Raspbian - Stretch. I ended up just downloading a fresh Raspbian image onto my SDcard and started from scratch. I ran update/upgrade just in case and voila! EZ-Builder was running on the Pi. 

Thank you to the community for your help, and @DJ for making this possible!
#26  
Yes, it can be nervwrecking at times...took me a bit to change the country code too, sometimes things are a bit messy if they go wrong! But all in all, I really like to run my robot on a non Windows dependent plattform!!

Its great that EZ-Builder migrates to the Raspberry Pi...maybe once everything is done we could make an image for users to download, so it would be the most hassle free option to get going?

Great you managed to get it to work!!:)