A-X-R / r-duo

0 stars 1 forks source link

Text2Speech discussion #6

Open benpayne opened 9 years ago

benpayne commented 9 years ago

Copied from our email exchange...

Peter,

So I have attached a quick doc that goes over the main high level design of the robot’s controller. It’s also now in the git repo.

BeagleBone Black was considered in the beginning. A few reason that we eventually chose the Pi were.

  1. Generally he PI is more popular.
  2. Easier for beginners to get started with, due in part to the popularity.
  3. BeagleBone has the realtime micro controllers, but they are not easy to use and not really needed for this application.
  4. many existing tutorial with Pi for cameras and text to speech, not much found for beagle bone.

Also as far as performance goes if the Pi isn’t fast enough we now have the Pi 2 as an option.

We also have discussed the idea of building everything on a single micro controller and decided against focusing on that. At least initially. Have multiple controllers (arduino, Pi, etc…) allows for us to divide the work between different team members and for them to work more independently. For example I have done work on motor controlling, while another member (Robin) has been working with mike on controlling the peripherals. We’ve done with with two different Arduino’s. At some point we will combined our work, but that’s not the priority. I’m a big fan of "get it working, then optimize”. The same could be the case for the Arduino in the future, it could be moved to the Pi, but it’s not a priority.

As for text to speech. It would be quite easy to do on the robot side. It may need a Pi 2 to have enough processing power to do text to speech at the camera. But we did find a good program to use for it on and Mat has already used that on his christmas lights project.

What needs to be solved is:

  1. How to get users to enter text on the web site. Since we are using twitch there is
  2. How to filter that text for “bad” words.
  3. How specifically to transmit that text down to the robot, keeping in mind that we might be behind a firewall and not have a public assigned address. So the robot needs to poll, have a web socket open to the web server, or something similar.

No one right now is owning getting this working so it would be a great way for you to help out.

Thanks

-> Ben

P.S. We’ve been using the issue tracking part of github to track questions and answers so far. I’m going to copy this thread up there and if anyone wants to add comments please do so there. Peter, I’m not sure if you are added to the github project, if not send me your github username.

On Oct 29, 2015, at 9:27 AM, Peter Machocki wrote:

My experience with the Beaglebone is that it was a little tougher to get going with since it wasn't in the spotlight like the Raspberry Pi is.

The reason I stopped working with the Beaglebone was that the cross-compiler was tough to setup and they wanted you to use Python for the coding. So anytime you see any tutorial, it's using gcc on the Beaglebone or using Python. Maybe it's changed in the last year or so, so I'd have to look up the current state of affairs.

The Beaglebone calls their shields capes, so not much of a difference from how Arduino does it.

I think one of the catches to ditching the Arduino for the I/O, and using the Beaglebone is now the code has to be re-written in C or C++ with a need to write some drivers to make I/O simpler for everyone. I would prefer working with a Beaglebone since we get to code in C instead of Processing on the Arduino.

As far a programming for the people. If someone would want to replicate what is being done with the robot and Arduinos are being used, there is less of a barrier to entry. If the Beaglebone is picked then we are now requiring anybody looking at the code to have knowledge of C/C++ and some Linux. Then there is the Device Tree and extra work to be done with muxing the pins to get the I/O you are looking for. I'm not sure if libraries exist to make this a little easier.

It would be good to get the communication design on paper so we can all take a look and see how the pieces fit in. This could help us determine which platform is best.

Let me do some more digging this weekend. Maybe I can try to replicate some of the Arduino features and report how different it is.

On Thu, Oct 29, 2015 at 8:43 AM, Mike Fulkerson wrote: Hi everybody, I added Ben to this. This is for everyone's consideration, will a different web interface micro processor help us work out our web based controls?

Our perspective on what processors to work with for the internet, the Raspberry Pi, is so we are promoting accessible and cheap micro processing for all, right? Now with that in mind, I met Dr. Tomas Bewley from UCSD's school of Engineering and his view is we could achieve the same "programing for the people" goal if we used a $50 Beagle Bone Black (or even better, the next color that is coming out soon) in his kit and Linux programing for his introductory to robotics system class. In the class he has the students build a basic desk top robot then program it to balance on two wheels. There is a shield (but that's not what it's called for a Beagle Bone) that has all kinds of robotty accessory plug-in ready points for whatever you want from Spark Fun. It allows his students to take the little guy in many different directions. He recommends it for power and ease of expanding.

Since we are not very far along, maybe we should catch up with the current processing power. I know there are some good reasons why not to do this, what are they? What are the conflicts with the Arduinos if we did this? What will get us closer to the goal quickest?

I will be cutting a prototype of the RC controller to test fit and fine tune the design at welding class tonight.

-Mike

On Thu, Oct 29, 2015 at 6:22 AM, Nick Doran wrote: I investigated the performance of text-to-speech in conjunction with hosting the webcam on the raspberry pi. Those results are on the github wiki. As far as I know, we never came up with a design on how to get the text to the raspberry pi. My understanding is that the website is hosted elsewhere, so we need a way to pass the text to the pi. Ben and Mat probably have good ideas on how that could be done.

Regarding the controls, I know it was discussed, but I don’t know what the mechanism for passing controls from the web to the pi (and then to the arduino) are. Again, I believe Ben and Mat had a plan.

From: Mike Fulkerson Sent: Wednesday, October 28, 2015 10:44 AM To: Cc: Peter Machocki; Will Ferrari Subject: Hey Nick!

Nick,

It's my pleasure to introduce Peter, he has joined up and is contributing on both the electrical and programing sides. It would be very helpful for focusing our efforts if you could approximate where you think AR-Duo is on the following :

Internet website-to-robot controls

Internet website text-to-speech on the robot

Peter and Will,

if you have questions let'm fly!

(Peter, if this is exactly what the Google Groups is for we can try to move it there)

Mike Fulkerson

Creator of AXR ( Alliance of eXtraordinary Rebels )

Mike Fulkerson Creator of AXR ( Alliance of eXtraordinary Rebels )

pmachocki commented 9 years ago

Ben, can you please edit the post and remove my email address?

Thanks.