EZ-AI development is on hold right now, well kind of...
We are in the process of working with some services that will allow the capabilities of EZ-AI to be far better than what they currently are. These include Wolfram|Alpha and IBM BlueMix/Watson. Speech Recognition will be performed through Nuance Cloud services. Advanced vision features will be available through OpenCV. A quick search of these services will allow you to see the end goal of what we are doing. These will be in the Rafiki project which is the primary focus at this time for CochranRobotics. We will release a limited use version for free which will replace EZ-AI. All of the current features of the EZ-AI database will be available through the new version. All of the services provided by EZ-AI will be available through REST queries and exposed services. This will allow plugins to ARC to be able to use these services.
There has been a huge amount of changes to what is possible since I first started working on EZ-AI. This huge shift of improved technologies has made it necessary to rework EZ-AI so that it can continue to grow and mature.
We are also toying with the idea of allowing programmers to write their own business logic layer within Rafiki. This would allow a programmer to be able to use the core services of Rafiki/EZ-AI and write their own applications with the data that is returned. It will probably be a while before this is implemented, but it is something that we are trying to make happen.
I have probably said too much, but wanted to give you all a picture of what is happening and why EZ-AI isn't being worked on directly. We hope to have our new AI available around the end of the year. There are multiple developers working on this while I find come up with solutions to other problems that arise.
As far as Rafiki goes, the pods are functioning great and additional code/abilities are being added almost daily. The models for the pods are being tweaked to expose the HDMI and usb ports and network port to the outside of the case. This will allow someone to connect a mouse, keyboard and monitor to the pod and use it as a computer if they would like. The Rafiki Bot is about 1/3 of the way printed. I am making modifications to the models as needed and reprinting some of the parts as needed. There will be 6 subsystems on this robot. 3 of these subsystems have been written and are ready to use. The other 3 subsystems cant be worked on until more of the Rafiki Bot has been printed. The 3 that are not complete are all very similar for motor control. I hope to have these ready in a couple of weeks. I should be able to show a demo of the Rafiki Bot in about a month, and then all of the robot programming starts. I will work on the charger base shortly after the robot has been completed and the pods are all working with all of their functionality.
One more thing on EZ-AI... As a part of this rewrite, you will just need to have Java installed on your computer to install and use EZ-AI. The days of the huge install will be behind us so it should make it far better in the long run. The other thing that this allows is robot platform independence. I will be working on modules in ARC to allow the features of EZ-AI to be accessible far more easily. This will probably not be worked on until December at the earliest.
Okay, going back to my robot cave. Have a great day all.
Asked
— Edited
Cheers
There is also a lot of new technology that has come out at the right time for us.
We tested our server today with a lot of load and it performed great. This was a concern for me but it performed far better than I expected. It worked so well for the hardware that it was on (sub $300 total for hardware and software) that i had to question if it was even really working. It was passing requests to our BlueMix application where most of the work was happening, but the coding is really good and the traffic is really light and fast. I was blown away.
This is a fun project to work on. I really look forward to being able to share this. The work is part of the reward for me. When advances are made I really enjoy it. It makes all of the little frustrations worth it.
This is the brain of the Rafiki Bot that allows simple commands to be passed from the EZ-B to the Rafiki Control box to read do things with the neopixel, move motors, get sensor readings, get the position of the servos and other things. When we go live, the goal is to have a single board handling all of this.
The feeds to the distant parts of Rafiki are handled through USB cables and HDMI cables. There was one failed print in this but I used it anyway. It really didnt matter for what I was doing with how the print failed.
The power comes in the back of the box and is fed to all of the devices in the box. Keeping all of these wires enclosed makes for a much cleaner setup.
Enjoy
Inside the control box
top of the control box
connections out of the control box
side of the control box
The purpose of this box is to have all motor and sensor readings come back in a very usable and simple language approach. Here are some sample commands
Move forward 10 inches
Drive forward 2 feet
move forward 4 yards
move backward 7 cm
drive backward 2 meters
turn right 19 degrees
turn left 18 degrees
raise right are 5 degrees
lower right arm 5 degrees
move arms in or out
raise both arms 60 degrees
Look up 30 degrees
look left 4 degrees
I am working on light ring commands but there are so many that making these "common speech" commands is probably not going to happen.
The sensors return text like
Object detected 18 inches sensor B
drop off detected front/back/right wheel
All "servo" motors can be queried to know the current position of the pot in the motor.
When a request is sent to this box, it will report back when the action is completed or if there was an issue completing the action. This is done by querying the position of the pot or encoder of the motor. It also is smart enough to stop an action if a sensor is tripped detecting a drop off and then recalculate a route to get to the location that you requested. If a route cant be found, the EZ-B will be notified via a serial command.
This box also is running the code for the room mapping and path finding that the robot uses. You will be able to say "Hey Rafiki, Come here." The pod that is closest to you will pickup this speech and the robot will know which room it is in, and which room that it needs to go to. All of these features are outside of ARC so customizing them will not be possible. You will simply send serial commands to this device in a simple language from the EZ-B. The EZ-B will be notified when the task is complete. All sensor readings will come back to the EZ-B in plain English with the information from the sensors.
The communication back to the EZ-B will be very light and will not be repeated multiple times. This should keep the EZ-B very expandable with any other sensors that the user of Rafiki wants to add to it. These sensors can be programmed through ARC without having to worry about how someone would then tie actions of a robot back into these sensor readings. Creating scripts for use with this control module will be very easy to do.
:-)
Mel
P.S. glad you got funding. You Really deserve it.
The way EZ-AI will work going forward is that there would be a small server placed on your network. It would contain all of the code that connects to the outside world for information, and would be the part that does the majority of the work with EZ-AI. The client would be installed on the machine that runs ARC. This not only protects the code, but allows a much smaller client computer to be used in the robot that is running EZ-AI.
We have tested clients with machines as small as a Raspberry Pi and it has performed extremely well which shows how light weight the client is. This is because the work is done on the server, which is a small single board computer also. Depending on the size of the installation (how many clients are used at the same time) the server might need to be larger. We are going to be conducting tests to get an idea of how the server/client count configuration should be.
Using a CochranRobotics configured EZ-AI server will also remove a lot of the headaches associated with installing EZ-AI. Right now, the Client listens for the words "Hey Rafiki" (which we will make configurable) and then gets the spoken words after these words, and sends them to the server for processing. The client waits for the response back and then decides what to do with the information that is returned to it. If it is a command, it will pass it along to ARC. This would be something like "Bring this to David.". If it is information or an audio stream, it would play that audio stream or speak the information. Most of what EZ-AI does is informative. We will be working on adding an option to allow either the audio to be returned or for the text for the audio to be returned to the client. I cant spring this new wrinkle on my dev guys until after the 22nd though but it will be one of the final things that we need to add to the server.
The server will allow multiple clients to access it. The costs associated with the services used by EZ-AI are all dependent on the number of requests to these services. The server will track the number of uses per month for your installation and will not allow you to go beyond the number of uses that the user has paid for for the features that cost us money to use. The first X number of uses each month will be no charge, which will allow you to run a limited number of EZ-AI external service type requests a month. This is about the only way to have EZ-AI have a free version still because of the advances services that we are now using for speech type things and for information from external services.
Costs will be determined shortly, but it is dependent on the number of requests not only by you but by everyone using these services. The more requests, the lower the cost per request goes... This makes it very difficult to estimate.
There will be an initial cost for the server that will be sold on CochranRobotics.com. This cost will be to cover the cost of the server hardware dependent on the size of the installation. The question will be asked, what if we want to run this on our own hardware? At this time, we won't be offering that option. By allowing us to do the hardware installation and ship you a working product, you will have fewer headaches and a much better end user experience. Also, we have to protect our code because we are using services that cost money for us to use. If we simply posted the code for use, the billing wouldn't be able to be setup and we would take a huge hit on pirated software. We are working on ways to stop the software from running in the event of theft right now which is something that we didn't have to worry about with previous versions of the software.
Welcome to the world of online authentication of license keys... The server will access a license server over the internet, which will allow your key to be validated against a database of keys. This will happen once a day and the EZ-AI server will work for that day. The local server will report back to the verification server the number of uses for the paid for services for that day. This will allow us to do billing from a different secured server. This is all a pain but it is really the only way to offer the advanced features that we are offering, and protect ourselves financially.
A lot said, but I just wanted to prepare people for a completely different approach to this product.
It sounds like you have assembled a great team, and I look forward to seeing the new EZ-AI in action. Great work.
I tried to log on to your website to get more information on Rafiki but could not register, not sure if you are trying to limit the e-mail traffic. I am very interested in this project and hopefully you will be able to bring it to fruition, so count me in.
Regards
Hector
I will check the website when I get to a location that I can. The admin side of the site isn't very smart phone friendly.
We haven't had a lot of time to optimize the code yet so this is very promissing from a cost perspective.
The server was using the 4GB 8-bit eMMC on-board flash storage only. This is really cool. Not having removable storage helps us by reducing cost and providing a board that just has to be flashed. This allows for a drop in place solution.
To install the client, you simply install Java, then launch the jar file. (java -jar c:\rafikipod\rafiki_pod_pi.jar) for windows. It can be anywhere your machine has rights to see. You will possibly have to change permissions depending on how we deliver the jar file. This has been tested on Mac, Windows8.1, Windows 10, ubuntu and debian. The client searches your network (based on the first 3 octets of your ip address) for the server. This takes about 1 minute to complete. If you have a more advanced network configuration, you can specify the IP address of the server by placing it in the config file. We are working on ways to more easily identify the IP address for you but this is not our primary focus.
We will be working on an ARC specific client shortly. We will build a plugin for ARC which will allow ARC to drive the use of this client. I expect this to be finished in the next month or so.
The client will notify you of when you can ask questions and when it is working on getting an answer to the question you asked. On our system, this is done in the form of a light ring.
We will be working on the billing piece of EZ-AI shortly. We are spending this week finishing up code optimization and some user friendly type things.
EZ-AI uses the Nuance cloud for speech recognition and Speech to text, which is then either processed locally for commands like "Remind me to buy eggs". If the classification isn't something that we expect, the text is passed off to Watson and to Wolfram Alpha. The results are returned and spoken at this time through the client. The ARC skill plugin app will just place this information into a variable that can be monitored for changes, and when changes happen can be spoken.
We will be adding features over time. This is the really cool part about the EZ-AI server now...
Updates to add new features to EZ-AI all happen on the server. You will be notified if there are new updates to be downloaded. If there are, you click a link and the updates will be downloaded and be applied. The server will reboot and when it comes back online, you are ready to use EZ-AI again.
This is a huge step forward for this product. By doing things this way, we are able to provide a product that we are confident will work. If you would like to provide more substantial hardware for larger installations, this can be done. If have a medium sized installation (5-20 robots all running EZ-AI at the same time) we will offer a different board (still a single board computer) running at quad core 1.6ish ghz processor with 2GB ram and 8GB flash storage for a little over double the cost of the Beaglebone Black. Larger installations are available but would require some conversation to insure that we size the server right for the situation.
The server will come with a CochranRobotics case to protect it from damage. We will be assessing the cost of the monthly fee very shortly. This will be based on the number of transactions you would be making per month. I will be posting videos in the next month or so of the new EZ-AI working with and without ARC.
If someone wanted to allow this to run on other equipment such as computers or devices other than robots, that is definitely possible. The clients will be downloadable. The server will be distributed on flashed single board computer for the most part.
There is still some development to, but the core is in place and functioning great.
We have discovered a new software product that looks promising from the outside. We had meetings with their team and it seems to be a great fit for EZ-AI. They are excited about what we are doing and are partnering with us. The new software product promises to reduce our dependence on some other products which will lower the cost if successful. We are going to be working on a Java based client for this vendor and will share our work with them. [EDIT as I forgot to mention this -] In return, they have offered to have their linguists convert our services to use multiple languages. Win on both fronts I think.
This product is a language processor and classifier which will allow us to reduce our dependence on Nuance and Watson. It understands conversations so saying "I want to hear some Classic Rock" and then saying "Tell me about this artist" is possible. There is a decay period for conversations which allows you to move from one conversation to another pretty easily. We will still use our knowledge system to process the request but this would allow us to not have to track the conversations locally as the conversation would be tracked by this service. This would also allow us to link knowledge. For example, showing a picture of Abraham Lincoln to the robot could then spawn a conversation about Abraham Lincoln. Conversations are a huge addition to what EZ-AI is able to do.
We also met with a local home builder who wants to put our products in new houses that he builds. He has some really cool ideas about features that he wants added to make this happen. This only improves our product and its capabilities. There have been some others who have offered up some ideas that are really cool that we never thought of. One of these is a feature that would alert the user when they got an email from a particular person, or an email with a specific subject. We have the ability to check emails developed, but this type of feature makes the platform much smarter. I personally never used our email feature due to the huge number of emails that I get on a daily basis, but there are some from certain people that are always viewed due to their level of importance to me. I suspect that this is the situation for most people running a business.
We are continuing our tests using very small single board computers as the main brain for EZ-AI. These tests have been going great. We are also fine tuning the logic used to tell when someone has stopped speaking. This is a bit more difficult on Linux than it is on Windows but the goal is to keep the cost as low as possible. Linux uses a much smaller scale for volumes than Windows. Knowing when someone is finished speaking in windows is much easier due to this larger scale. We looked at using IoT for our pods for Rafiki, but not all of the devices that we use in our pods are supported by Windows IoT. Ugh... Work is continuing here.
An update on Rafiki
The trip to talk to the investor was okay. I spent my time working with my developers to identify any issues that we were having and identify possible solutions. My lead developer (my son) is in his final weeks of College. He has had to focus on school and work more lately. Once school is complete, he will be pushing development on EZ-AI and Rafiki. I found a couple of things that I wanted to change on the robot from this trip. These are mainly strengths of the neck motor and mounting system for the wheels. Both of these changes have been made to the prototype. I also adjusted the arms a bit so that they are more pocketed when closed.
Another change that we made was that all of the subsystems now report back what they are when sent a "Q0" serial command. Serial ports can change on a computer. What was com9 can become com10. This is problematic for software that isnt smart enough to handle this. The test app that I have created had this issue so now I query each com port at the time that the application starts up and use the results of this query to set the port identification parameters that are used. While doing this, I also added the ability to query the position of the motors. Sending a "Q1" now gets the pot reading from the first motor attached to the specific subsystem. "Q2" gets the other motors position. This allows me to then know the position and calculate things like "move your left arm up 12 degrees". I will be adding this functionality to the client shortly.
We have developed the test software in a way that allows us to easily build the production software (using the same classes in production as in test). The client will eventually become invisible and will allow the user to simply pass information into a variable in ARC. The robot is looking for this variable and will process the command as soon as it sees it. The commands in ARC would be things like "Move left arm up 12 degrees". The goal of this system is to make it as easy as possible to program the robot to do anything that you want it to do. I think simple language that everyone can understand is the best way to accomplish this. The test software has worked great so far.
We have started development on an EZ-AI client plugin for ARC. This will have all of the same features as the pod for Rafiki, but will be run through ARC. We haven't focused much on this because it will be so simple, and it really isn't needed until we get done with paragraph 2 in this novel.
We had a rather severe ice storm this week. I think Richard R and many others are now getting this storm (or will be shortly). This storm caused major power outages and a lot of damage. This has caused some delays along with the Thanksgiving holiday, but it was also a good time for us to take a break. I got to play lumberjack the past could of days and there is more cleanup to do in my back yard. I should be back to working on Rafiki and EZ-AI this week and it will be nice to get back to it.
Okay, I'm done giving an update for now.
I put in about 1500 hours of labor in 5 months on this project. It turns out that doing this and working at my normal daily job isn't very healthy. I visited my doctor a couple of weeks ago and found out that my health has gone down hill over the past 5 months. He told me that if I keep up this pace, I was risking a stroke. I decided to take a few weeks off to allow blood pressure and other issues to get back in line. I have allowed myself to get a lot of rest over the past couple of weeks and am feeling a lot better, so hopefully the damage I caused to myself wasn't too damaging.
Holidays and end of year type management responsibilities with my normal job have also cut into my time. My son has finished College (except for one easy class that he needs to complete online) so this allows him to have more time to focus on wrapping things up.
We have brought in another developer who is looking at adding another application to the project. I have mentioned it before but he is able to focus on this while others complete other parts of the project.
Right now, I put in only a couple of hours at most a day on the robot. I plan on spending more time on him this weekend. I have one issue to get figured out and then I can start focusing on SLAM for this robot. The code used to drive the robot got messed up somehow. I think I will probably just rewrite this code this weekend and go forward from there. The robot is almost all built again so after I get this piece done again, I will be able to hook up all of the subsystems again and go forward. Hopefully it won't be too hard to get SLAM implemented and I will be able to show a video of it all working together.
Have a great day all!
As much as I look forward to your AI for our robots, it's certainly not as important as your health.
Life already passes us by very quickly, before you know it we are in our 60's (lol), tough to get going in the mornings and aches and pains that take forever to go away, if they ever do!
No reason to push it any faster along.
I myself want to be around to see my grandsons grow up.
They all need a grandpa you know.
So, kick back a little and smell the roses.
I never have slept more than about 6 hours until the last couple of weeks. The last couple of weeks has increased to about 10 hours. I know you can't catch up on sleep, but I sure have tried
I have found that my robot is alway willing to wait for me.
I look forward to EZ AI.
Thanks for all of your hard work!
First holy crap I'm excited about the ez AI development and eagerly await testing
Once you get these things off the ground you can over see the work and get the young ones to burn the midnight oil!
There are some changes that we are putting in that designing this as a plugin allows us to do.
The initial "Hey Rafiki" command can now be done through the Speech Recognition control. It would also allow the user to change this command to anything they want like "YO Adrian" or "I pity the fool!".
The facial recognition can now be done through the camera control which can set a variable that we would use.
This helps us to focus on what EZ-AI does well and get rid of some of the trigger events that can now be handled through scripts.
We have to redesign some things on the client to be more of a service based architecture, and those changes should be complete this weekend. From there I will work on making it into a plugin.
The pods would still run the Java client.
Great work!
As is the case with most things like this, it seems that others that I was depending on to complete certain parts of the Rafiki project are not able to come through as promised. This has slowed progress down a lot on Rafiki. I end up doing everything that was promised by others and I have limited time to complete everything. Something as simple as needing to design a circuit board ends up pulling me away from other areas, which slows things down.
I can either continue to complete a solution that is mass produced and sell it much later than I had hoped, or I can sell Rafiki as a kit of parts with the STL files. This would allow me to then focus on the code to make Rafiki work within ARC as I want it to while fulfilling orders. The good thing about this solution is that the manufacturing costs become far less on me. The kit would include printed circuit boards which greatly reduce wiring requirements and allow someone to simply plug in some USB type cables to make a huge majority of the connections. For the DIY type people, this would be a great option as you would be able to take the Rafiki products and incorporate them into other designs. For a majority of the public, this isn't what they are looking for.
I am really divided here but also know that there is a need to get some time to focus on the programming side to complete a lot of the features that Rafiki has been promised to have.
The thought is that the kit would come with everything needed (excluding the 3d printer and the filament to print him). The plugins would be downloadable, along with the code for each of the subsystems allowing someone to modify this to their own liking if they wanted to. This would still require me to stock some items that I really don't want to have to do, but it would be a way to get Rafiki out to DIYers much more quickly.
I appreciate your thoughts on this. I am struggling to make a decision.
Is it possible for you make a kit version first then release a fully assembled consumer version down the road? Is this what you are kind of thinking of David?
There are a couple of other benefits to this like having a group of people put the robot through its paces before coming up with a manufactured product and all.
Actually, you were one of the people I was first thinking about when I the thought popped into my head. This would be a perfect fit for you.
When you can (If this is the direction you want to go) can you get an approx price for the kit and of course when it might be available... I have to budget now... LOL... Long gone are the days where I made good money when I had my own business...
You have my email (it's also in my profile) if you need anything off the forum... And there is no rush... I have to save my money anyway.... especially since the CAD is in the toilet right now (so be kind)... $1 US = 1.44 CAN (approx)...
Almost all of the other parts are consumer products. It would be possible to buy them over time from different distributes. Also, I think you already have the motors that are used for the shoulders.
Let me sleep on it and I will make up my mind as to the direction that I want to go.
Thanks Richard
No worries.... I would love to help you get Rafiki to the market...
I feel your pain. Where are those cloning machines ? The physical stuff takes a lot of time. As for kits you are definitely going to limit your market, but you do gain some beta testers as you stated. How does this work out with your investors? Are they willing to let the product they were going to mass produce out onto the market?
Your software will really be the most valuable assets and the sooner you get to that the better positioned you'll be. I still think EZ-AI should be a paid product and that additional income could help you move forward as well. A lot of folks like myself don't mind paying for something that we know the money goes back into its development.
A good idea is going to be copied. If I assume that this is going to happen, and just provide the ability to do so, and then keep the code locked up that makes the real magic happen, then it could be a win.
I am going to have to step away from this for a bit, but it won't be too long hopefully. I have something non-robot based that I need to deal with and focus on for a bit.
Hopefully everything is ok ... As far as stepping away is concerned ....
Kit Idea:
how you managed the printed parts ?
1) kit contain's the printed parts ?
2) the buyer download the STLs and print. What kind of printer size, and how many parts are needed ?
3) There's a 3d printing service supplier (where you deposit the STLs), the buyer orders the prints from them ?
electronics, motors, hardware ?
1) Kit contain's all the pieces
2) buyer gets a part list with and a recommendation for a supplier ?
firmware, software
1) Kit contain's the micro-controllers with the firmware loaded
2) buyer need to purchase the micro-controllers, and you need to provide a tool to upload the firmware (bins) to each controller
I think builders and consumers have different mindsets and different goals
for example a builder will be more likely interested in hacking or changing the initial idea, add or remove different parts, ask questions and will force you to share more about how the solution works, and eventually will lead to open architecture, or modular building.
consumers on the other side will be less patience for changes adaptations, delays or issues, less savvy and they want a working solution.
for me it's a business decision.
2) the buyer download the STLs and print. What kind of printer size, and how many parts are needed ?
2) buyer gets a part list with and a recommendation for a supplier ? The unique parts would be in the kit.
1) Kit contain's the micro-controllers with the firmware loaded
I am not sure at this time.
As to the issue that I am dealing with...
My son lost his mother yesterday. She wasn't married so all of the legalities are falling to him. He isn't equipped to handle this right now so I am helping him out.
Sorry to hear about your recent troubles and your sons loss (and to the others who have lost someone, especially Richard. Sorry to hear that dude). I think you should take a little time out and deal with family first, not forgetting your recent health scare. Just my humble opinion.
In regards to Rafiki, I think option 2 may be a better option for you for now. I would tend to go with option 1 for those of us who don't have printers, but option 2 will give you a good chance to get some third party beta testing done like has already been mentioned. The software/programming element of Rafiki and EZ-AI is a vital part of the project, and I think this needs more of your attention when you are ready. Those who are serious future buyers of the complete Rafiki kit, and who know you, I'm sure would be happy to wait a while. I certainly would be.
Anyway, just my 2 cents worth. Take it easy.
Alan - The value is in the STL files. The look of Alan is what makes it desirable. Protecting the STL files = profits.
Rafiki - There was a lot of work that went into the design but nowhere near what went into Alan. The appearance isn't even in the same ballpark. Where Rafiki's profits are is in the programming as Will has mentioned. This includes the subsystem controllers and in the plugins that are being written. There is also some value in the electronic boards (the first batch of which should be here today) that tie everything together and consolidates the wiring.
The cost to build one would probably be higher than the mass produced version. I think that I went through about 10 KG of ABS to print him out. I am sure that the body of a mass produced version could be much cheaper. There are also cosmetic things that are required after printing, but this isn't where the value is. Alan is a completely different thing all together. It is because of this that I really want and need to focus on the programming of the plugins. Without them, the capabilities of the robot become lessened.
Almost all of the parts (except for the subsystem controller board, Communications board and signal spliters that are used to take one USB cable to 2 cables) is purchasable as consumer products. Some are automotive grade components and the components are not cheap. Because of this, one off purchasing is expensive but every part was chosen because of its ratings and ability to withstand abuse. The only exception to this is the LIDAR that is currently being used, but in this area I decided to see what could be done with this sensor. The issue with this is that it will drive some away due to the cost unless mass produced, but if I go this route initially there are benefits as mentioned.
Programming is an interesting part of this. There are things that should be easy that end up being complicated. There are things that should be complicated that someone has already completed, which then makes them easy. It all takes time to focus on to either find an existing solution (like the licensing solution I found yesterday) or build something. Focus is really the key as interruptions shoot a timeline right out of the water. It is these interruptions that I need to get control of. Many of them are impossible to predict as the situation that I am in now, but many can be avoided. I am focusing on getting the boards completed so that I can then go focus on the programming. My brain multitasks at work all day. It doesn't like to do it on this project as I think that each part requires my full attention. I don't want to overlook things and end up with something that people are not happy with. Once something is released, it is hard to make adjustments.
This is where the DIY type people would be beneficial. They are much more willing to take something that might require updates than those that buy a product. This type of customer would also be able to make improvements and share those improvements with others in the community if they chose to do so. It is such an interesting time now for these types of products. It is also a challenge in that if I went this route, I would be competing with InMoov type products. Looks have a lot to do with peoples decisions on where they want to spend their money and many people are fascinated with human looking robots and I totally understand it. I have built one and look forward to getting back to it. This does however, reduce the selling aspect of a kit.
I will take care of myself and my family as that comes first. I will take my time to get things right on Rafiki as much as possible. It is an interesting balancing act for sure, and I am just looking for a way to focus on what needs to be focused on to be able to make a profit from this venture. The good news is that the expenditures are very low so far and it wouldn't take much to be able to make a profit.
Right now the kit would include the
Built and ready to use Circuit boards
Programmed subsystems controller boards
Any special wires needed to connect the communications board to the system controller board
A list of the components needed for the build along with recommended vendors.
All of the STL files needed to 3D print the robot along with any special instructions.
I am going to be building another Rafiki shortly. I will make video tutorials of how to assemble it.
While I am doing this, I will continue to program the plugins for ARC that will make everything work in one application.
The main reasons for this decision are
1. Much of my support from other people have moved onto other things so this all has fallen back on my shoulders.
2. The goal was to get a product to market by the end of the year and mass production will take a long time to get up and going.
3. There are a lot of robots that are being released this year. We will watch the market to see how these do once released into the general marketplace and make a determination as to if now is the time to release something like this based on how these other robots do.
4. The availability of inexpensive 3D printers has become far more prevalent.
5. The 3D printed parts have proven to be very rugged and reliable so far due to the dome type structure of Rafiki. These 3D printed parts don't break easily at all.
6. If the investor backs out in the future (no sign of this at this time), this is still a method that I can get Rafiki to market.
7. It allows me to focus on getting the code complete instead of worrying about manufacturing processes.
8. Sold as a kit, it removes a lot of the legalities associated with selling a completed robot.
9. It lets us test the market before diving in and hitting our heads on the bottom of the pool.
10. Technology and the changing of abilities in different components that I use (including the EZ-B) has changed in the past 6 months. This allows us to adapt to these changes as they are made.
11. This allows people to replace components with things that they already have and allows the cost to be spread over an extended period of time for them. I don't have financing options so, this is a way to finance the build over time.
12. It removes the supply chain issues associated with this large of a build.
This won't be a kick starter or anything like that. I will be setting up a store on the CochranRobotics.com website. When a purchase is made (don't know the cost yet) you would receive all of the downloadable content and then I will start manufacturing the board. I will have plenty of the controller boards and other custom type products on hand, but I would suspect that it would take me about a week to get the boards built if needed, tested and shipped out. There will be very little if any soldering needed from the purchaser. Most, if not all of the wiring would be as simple as plugging in wires to the appropriate sockets.
I realize that I will be doing a lot more documentation doing it this way, but this is all good in the long run. Having instructional videos for a build like this should easily translate into maintenance and repair instructions if this were to be a produced product. Also, these would be good for manufacturing anyway.
Anyway, just an update. I would suspect that this will reduce the timeline to have this out to somewhere closer to the summer instead of around Christmas.
I am excited about this new direction as I feel I am much more capable of providing this solution at this time. It takes a lot of stress off of my shoulders and allows me to focus on making the best robot that I can. This will be far less lucrative initially. This isn't really my goal at this time anyway as I have a good paying job and can more than take care of my responsibilities with it. I believe that it will pay dividends in the long run if we were to take it to the next level.
This direction allows me to start working with more of the maker community instead of the general public community. As seen with the Revolution robots recently and with Anthony's experience with one of his customers, I believe that this will allow me to "interview" the potential customer to figure out if they will be wasting their money on this type of a build or not and offer advice to them prior to the purchase, along with fine tune the platform instead of answer a lot of questions from people who don't understand or shouldn't have purchased in the first place. This lack of communication and research before purchase is where I see the issues that we have seen recently. It is also why I made the post "Is this for everyone" or something to that effect. I am really concerned about the company needing to hire a huge support staff to help people who bought this as a toy. I am concerned about people who have bought this and think "I just plug it in and it goes without any maintenance or repairs being done by me". It is a different mindset and I hope to set expectations prior to the purchase. This is a huge concern for me. I understand that it will cost me money to run a business like this, but I genuinely care that someone doesn't waste hard earned money on something that they will never understand or use. It keeps me up at night...
Thanks
David
There is something about the "this is a robot that I made" feeling when you see it running around your house, even if someone else designed it. It puts me into the same space as InMoov I suppose but for a totally different type of robot. From my InMoov build, I learned a lot about making durable 3D printed parts. I also learned a lot about peoples reaction to InMoov. There were some things from the InMoov build that I wished I could have used, but I decided to stay as far away from those types of design decisions and opted for the stronger option where possible. For example, I could have used the shoulder gear type design that the InMoov has for moving some components with a rotational servo. I opted to use a linear actuator instead because of the strength that it provides for a minimal cost difference. Also, I lost all concerns of the gear breaking at that point. Also, this allowed me to keep more of the robot running at 12 volts instead of having to step down some of this voltage to something like 6 volts for different components.
DJ mentioned this before and the longer I am in the community, the more I understand what he was talking about. It would be awesome to have a consolidated effort by many of the members to come up with a robot platform that really made people stand up and take notice of ARC. So many members are so talented in different areas and each is working on their own robot. A consolidated effort by many of us on one platform would result in a simply amazing robot. That is so tough to do and I haven't thought of a way to make that happen with everyone working their own jobs and having different likes/dislikes and all. It is an interesting thought though...
It still would be interesting to start a thread with people throwing out ideas from potential robot ideas to sensors they would have, tasks they perform, software/hardware they would run, etc. We know from watching successful robots on crowdfunding what's popular with consumers now ( social robots) and consumer robots that have been out for awhile like the roomba and lawn mower robots. The balance is always cost and performance.
You never know what could develop out of talks like that!
Image to reference showing the STL file locations
Summary of the build steps for the current part you are on.
List of the parts and the recommended vendor along with expected cost
Detailed step by step instructions
Testing procedures to make sure that this series of steps was completed correctly
There will be videos available for the build process showing the step by step instructions.
While the lengthy print process is completing, I will work on finishing up the code for Rafiki to tie it in as plugins in ARC.
Is there is anything else that anyone can think of for documentation purposes on the build process? I would like to get input because so many kits have limited instructions that frustrate those who buy them. I am trying to make this as complete of a build kit as possible without causing frustration to the buyer.
I know it would be a great pain in the ---, but detailed, dimentioned mechanical drawings would be a big help to those of us would like to build a Rafiki.
Are you planning to make the printed parts available through someplace like Shapeways?
When do you think you will be able to release a parts/price list?
I have followed your Forum entries and answers and learned very much from them.
Thank you.
I agree that mechanical type drawings would be good. I will look into doing that. Good advice.
The first part (base) price list is pretty much ready. I just need to identify what the kit would sell for. Also, I am making any adjustments to the STL files as I print them. As you know, the first print gets things about 90% correct and then adjustments are made. I made adjustments to the STL files from lessons learned during the first build, and will make further adjustments with the second build before releasing them for download.
I am also identifying what is easily purchasable from vendors and what I need to include in the kit. Things such as wiring that is the correct length and such would be included in the kit along with the things that are specific to this build like the subsystem controllers, circuit boards and such.
I will probably release everything in chunks (like the InMoov project) so that someone can start the build. The difference between this and InMoov is that all of the design and STL files already exist when someone starts the build. This is nice, and it will help with the build process as changes dont have to be made to fix something in order for it to fit with the next component developed. Also, by doing another complete build, I will be able to document it as it goes along. This should make the documentation process more complete.
I expect to release the first part of the build process in about a month with the final parts released by July or so. I think that is a reasonable timeline. The large majority of the cost is in the base. The motors and battery make up a large portion of the cost. Unfortunately, to test things out at that point you would need a 12v battery and the motors/motor controllers/motor driver and kit. The base is about 1/2 of the cost of the total build. I dont want people to think that every section of the build costs anywhere near what the base costs to complete so I am trying to figure out a way to convey this.
To set expectations, this build will cost around $3,000 to complete. Mass producing or mass purchasing some parts would reduce the cost but would require me to stock items and make a much larger kit that I am not equipped to do at this time. I wish I was, but unfortunately I can't. I believe the completed robot is well worth this cost when looking at what it will be capable of doing as the other plugins in ARC are completed. This path allows me to do those things that make the cost of the platform much more understandable.
Also, the cost of the parts are higher due to being either industrial grade components, automotive grade components, or just very robust components. The parts that normally fail in a robot are the moving mechanical pieces. All of these are really high grade components so, the hope and goal is that once built, you won't have a need to replace these in the future. Really, nothing is hobby grade where motors or sensors are concerned except for components that have been used for many years and have been proven to be stable and reliable. The battery that is used is very light weight for delivering the power that it does. This also costs more money initially but is really a cost savings in many areas over time.
This timeline should allow the new components for the V4 to be available based on DJ's stated timeline. There are other components that I use that should also be updated by the time you are working on the areas that you would use these in. Basically, the timeline is based on a lot of different things, some of which I have no control of, but fit nicely into my timeline.
I was thinking that I would like to build a Rafiki Bot with the powered base but realized I can't make good use of a roving bot. We live in a 2 story, split level home.
I don't think a bot that can go up and down stairs would be economical or practical.
But the Rafiki Pod is of great interest. Are you planning to release the Rafiki Pod as a kit?
I am a 79 year old, ex computer engineer. (Not a software developer.) I have a lot of experience with hardware and software package integration.
Some thoughts on Rafiki interaction:
We would not want enter the initial database information (People/Places/Important Dates, etc.) via keyboard.
Building the different databases as part of a voice interaction would be OK.
We also would like reminders of Dr. appointments. Most of ours are written on an appointment card. It would be great to have a scanning capability to enter the appointment Doctor, date, and time.
Scanning from a network printer or Rafiki Pod attatchment for other entries into the system would be a big help.
I would like to be a beta tester for many of the Rafiki capabilities if you thought that would be of any help. Buying a Pod in kit form has a lot of appeal.
Thank you.
http://cochranrobotics.com/RafikiDIY
STL Files for the base
Component list with recommended vendors for this part of the build and expected cost (except for kit cost)
Slicer settings for printing the STL files
First part of the instructions.
This layout requires that you have a 3D printer with a build envelope of 225 x 145 x 150 mm.
I will update the build instructions as I build this Rafiki. If you have any questions, please send me an email or make posts on the CochranRobotics.com forum.
Kit pricing will come shortly, but I didn't see a reason not to release these STL files as it is going to take some time to print these anyway.
Just my 2 cents.
Regards
Let me rephrase something -
I am working on adding a SLAM module to ARC for Rafiki. While I am building the second one, I am using the first one to finish the programming on it.
The Base, Body, Wings, Neck, internal pieces and head are available for download.
http://cochranrobotics.com/RafikiDIY
[edit]
I have also opened this location up to all users, registered or not. I am working on the instructions for the base now, and should have it completed by tomorrow.
There is an STL file missing for the head motor mount and one for the other parts that holds the linear actuator block in place on the rods. I will find these and update these zip files.
I have posted an update to the STL files for the Base, and there is an build instructions document for the base. This makes sense to me but I would be interested in having someone look at it and give me their thoughts so far. The document can be found at
this location if anyone would be willing to review it.
would a Prusa I3 printer do the job?
I personally would get something like a flashforge creator pro. It made 3d printing much easier from the get go. There are a couple of issues that I found with them but if you do a lot of printing while still under warranty, these will be discovered and replacement parts will be shipped quickly. Here are a couple of threads that I had on this topic here and at Amazon.
http://www.ez-robot.com/Community/Forum/Thread?threadId=5725
http://www.amazon.com/gp/customer-reviews/R3IX2PUIBDGM2E/ref=cm_cr_pr_rvw_ttl?ie=UTF8&ASIN=B00I8NM6JO
Will buy a kit and assemble it nice and slow.
I like the fact you allow people to use cheaper part if they can find them, maybe you should have a disclaimer about this part? All links worked. I did not see a price on your Kits on your web site, did I miss this or are you still figuring that out?
I seen a few minor errors while reading your documentation.
Line 4, you have super clue, I think you meant glue?
Line 18, you ask we solid wires to the motor, what size gauge/length or is this in your kits'?
line 21, you have sunk holes, maybe sunken holes would be better?
I would like to speak with you on the phone when you are not so busy, you have my number and e-mail, let me know.
Thanks, Merne
@David, in step 18 you sugest to super glue the wires to the motors. I would not do that since the super glue afects the isolation of the wires over time and you could have a schort circuit and a nasty fire. I think a bit of hot glue would be better.
Ron R
I am really excited about Rafiki. The complexity of him makes me a bit apprehensive. My program skills are very minimal, though I am willing to learn. I am a good candidate for the "less experienced builder".
I am reviewing the 3D .stl files. I am using Cura , so I will have to review your settings and convert them to settings I can use.
A humble remark / question, I saw a few minor spelling errors. I will re-read and make notes so when you do your update you can fix them, if you like me to.
Looking forward to the next steps.
Ron R
When you have an opportunity, a video will be great. It will allow someone to better understand your thoughts and reasons for doing things. This way we will all "get on the same page".
I assume for starts, I should look over the base files and see how they match up to my printer build area. Next look at the required parts and costs.
Once I get approval from you site I will continue any feed back I can offer there.
Regards,
Ron R
Great to hear your investor is 100% behind you. Can't wait to see the video by the way check your other email.
Thanks for taking the time to explain Rafiki's background, concept and design points. It shows that this is the real thing, not a toy. The heavy duty components, and modular controllers will allow years of use, flexibility and expansion.
Regards,
Ron
My hope is to have the kit available for sale this summer. The printed parts can be completed prior to that so that then the build is simply adding the electronics and such. If you choose to go down this path, don't assemble anything above the base until you have the electronics. It will be much easier to add the electronics as you build the robot. I am working on adding access panels under the arms so that you have more access to the inside of the robot. I will update the STL files when this is complete.
One other note...
The first Rafiki was printed when I had my office setup. I could keep the office pretty hot. This allowed the tall body pieces to be printed well without layer separation as the print got to its taller sections. My office has moved to the living room to allow my son to move in, so I don't have the climate control abilities that I did when in an office. It was also printed in the summer which just really meant that I had to close the door to the office and block the vent to make sure heat stayed high in that room. I have had to order a lexan box to sit over my 3D printer due to the location of the 3D printer now. This box could have been built but I figured that I would rather pay for something that will work instead of going down the path of building something that might work for this. This should help the prints to complete without the separation issue. I mention this because you might experience the same thing. It has been my experience that even though the printer is enclosed, there can still be issues with this due to heat.
Another effect that I hope to gain from this is to make the printer more quiet while printing. The printer isn't loud, but being that it is now in the living room, I like for it to be quiet so that others in the family are not disturbed while watching a movie or TV or whatever.
Anyway, all of this is said because I am now waiting for the box to arrive. Once it gets here, I will start printing the body again, and then start making modifications to these parts as needed and such...
Another note on EZ-AI...
My son is planning on starting work on this again in the coming weeks to complete the plugin for ARC. I hope to have this completed shortly and go forward from there.
Thanks
David
There are some reasons that I chose it above this though. The son of mine that is helping to program some things, when he was a young child, we would watch "Lion King" over and over. Rafiki was a wise character in this movie. Also, there was a tree in the movie that was important. In math, there are a lot of different tree's used to demonstrate relationships to things. This is used because of the branches that a tree has and the branches that the are in math. We have something special planned for the tree with Rafiki.
am curious to see what you have planned.
As a note, I printed some large parts for the BB8 and never used pla, always abs. Now I'll never use abs again, no warping or split layers .
BTW, our online store is...
NOW OPEN!
There are only a few items available for purchase though and it looks rough. I will be updating it with more as the week goes along.
Ron
I print them standing up to prevent a lot of the support material needed.
I am looking forward to the build. The order is in and my two machine are set to go. I will also add a little heat to the build area to help prevent separation during printing.
Ron
I sure hope you will let us use this for other robots too. I also want you to know I do not expect anything for free, just hope I/we, will be able to afford it.
So if needed maybe this community can open their Robotic hearts *eek* and maybe we could come up with some prize money, not only for EZ AI but for the Lidar as well.
Just thinking out load. If anyone else want to jump in please do.
Thanks
In the store, we only ship in the US, Canada and Mexico right now. Shipping overseas is very expensive and I haven't researched the other possibilities for doing this. Sending a small box to England using UPS costs $86+ USD. Until I find a better shipping solution, or need to find a better shipping solution, I am not going to be selling items overseas.
Let me know what you think of the new layout.
Thanks
David
Simple is good. I just wasted a day to get simple done and really didn't want to spend a ton of time on it.
http://www.cochranrobotics.com/blog
This just gives a centralized area to store this information.
Thanks
David
Will you be marking .stl file updates with rev notations ? I have begun printing the base .stl files and want to make sure I have the latest versions, if changes are made.
Ron
Thanks
David
Please do not take my enthusiasm as pushing. I was going to hold off on 17 and 20 anyway because you mentioned there could be modifications.
My only other concern is, are the base hardware (motors, wheels, hubs etc.) finalized. I would like to begin ordering them. I want to budget the cost over time, so I assume the motors would be the most critical part for the base build (fit and finish). I would order them first.
Ron
My last request is, upon the finalization of the base assembly instructions, can you give critical dimensions of the base? I just want to be sure the completed section is correct for the shell fit / next assembly. No great detail is needed, just what is important. (you can even use the drawing on page 1 of the instructions)
Ron
I am glad that you are working on the build. It helps to keep me focused on something. There is so much to doing this that it is very easy to get distracted by many different things. By you doing this, it helps to put a priority on some parts that I may have let slide until later.
Thank you Ron!
ABS allows you to fill any gaps. I use a thick slurry (about the thickness of a milk shake) to fill parts if there are any gaps. I would wear old clothes as this is a messy process for sure, but it sure works well.
I will come up with something that has the dimensions though. I should have it out to you this week.
When building the shell, I use the wing pockets to align one layer to the next. This will help you to be able to align things as you build upward.
Ron
I just finished up the side access panel modifications. Give me a couple of days to get it printed and checked out to make sure things work as designed. I am not sure if I should use a top or bottom magnet at this point though. I dont want to use both as this basically blocks the access panel with supports to hold the access panel. I will let you know how I make out with this. Once this part is complete, I think the shell will be ready to print.
Also, I owe you the layout with measurements. I will work on that soon and publish it with the instruction manual (replacing the top image and all).
Thanks
David
Thanks for the update. Can you glue in a small plate of steel ? , like a small washer, and have the magnets grab that ? then have a tab and pocket for the other side. these tab things can get glued in where needed. I have been looking for alternatives for this type of latching for an unrelated project. Velcro never seems to work real well. Magnets need locator tabs for alignment. I was thinking about using rubber rivets. My last resort will be pins and a dab of automotive clear silicone (Loctite brand) in 3 places. I won't be going inside the case that often (only for problems). The silicone can be removed and re-sealed easily. The brain keeps looking.
Regards,
Ron
These access doors were not in the original design. During the build they are not needed. They are very good if there is an issue though. It is a difficult thing to try to do things from the back door. Also, if nothing else, it helps to have more light in there.
Thanks
David
Sounds good about the added doors. If the side doors have a lip where they fit or pocket, I assume they can be held in by all the ways you mention. I may try the bathtub caulk idea and see what happens. It is white and Rafiki is white too. The caulk will release easier than the silicone sealant if access is needed. (LOL .... prevents mold too !)
Ron
There is a lip added to parts 1, 2, 3, 4, 5, 6, 7 and 8 in Shell1.zip. This lip will allow you to align the shell to the base a little bit easier.
The magnet holes have been added to part 11 in Shell1.zip.
The magnet holes have been added to parts 18 and 19 in Shell2.zip.
The door supports have also been added to Shell3.zip.
The door supports are separate pieces that allow you to decide which you would like to use if any. I would probably just use the bottom ones. This should still allow you room to access the inside of the robot from these doors. It will also allow you to mount these (bond them to the inside of the shell) earlier. I didn't attach them to the body shell so that you could choose what you want to do.
Small layer separation is no issue. Fill it with Slurry and go on. A lot of layer separation isn't good and will need to be reprinted.
As far as the doors go, they have a gap on the sides of them. This is by design to allow some venting. I haven't needed venting but figured it was a good place to add them. The magnets and the amount of support should be fine. I haven't physically tested it out yet though. The holes for the magnets are designed to fit these magnets (http://www.amazon.com/Creative-Hobbies%C2%AE-Ceramic-Magnets-Science/dp/B014Q44HOK/ref=sr_1_4?ie=UTF8&qid=1456177695&sr=8-4&keywords=magnets+rare+earth)
The supports have the same curve as the doors so with the magnets, they should be held well. The top and bottom of the door are snug to the rest of the shell.
One other thing... Part 17 in the base has been updated to allow a little gap for the wires from the encoders to feed to the board more freely.
I still owe you the measurements. I wont have time to do this tonight probably. I need to get the lidar plugin to quit locking up for some people, and need to get the 3D printer going again. I haven't forgotten about this though.
I will check out the fit and finish of all the base pieces and if any are N.G I will re-print. Otherwise I will do a slurry fill and bond them all together on final base assembly. They are small cracks. I will probably wait for the motors to come in to be sure of alignments. Ok on base part 17. I will continue to complete all files.
As far as the dimensions, no problem, I'm still printing the base pieces. I won't need it until all are finished. It was really just a suggestion, just for confirmation of fit.
Thanks
Actually, I will probably move the printer to the garage soon. I have a nice work area setup and the box should be able to allow the printer to maintain heat even when it is a bit cold outside. If I need too, I will put a blanket over it to help hold more heat. I am further south than you, so 70 degrees in the winter isn't unheard of. I guess 0 degrees is also not unheard of but it seems this year 70 has been more the norm.
The box I bought cost about $200. The shipping on it was crazy high ($175 I believe) but I didn't feel like failing over and over again to get a box right. The one I got is 24"x24"x24" and gives a lot of room inside the printer for spools and such. It is a bit too deep for what I need, but too big is better than too small in this area.
I will be placing an order for EZ Robot parts soon. Do you have a rough list of EZ Robot components needed for Rafiki yet? I assume the new version of the EZB, once it is released, will be needed. I have some items now and want to see if I can use them (compass, cables, servos).
Ron
I will begin tomorrow or Monday.
When the new 1/2 comes out I will use it with one of the new com boards.
On part 2, it is probably the largest piece and will give you a good idea if your printer is going to have issues with printing the parts for Rafiki. I printed my last one at .2 mm layer height 15% infill. On this one I will print all of the parts except for 2 of them at .3 mm layer height.
The reason that I don't think it will matter is that after the parts are fitted, you will have sanding and filling to do anyway, so layer height really isn't going to do much in the end.
I am near the end of the Base files and so far they came out ok. My slicer screwed up the top of the hook on one of the parts but it is only the hook. Once they are done I will sand and fit them and wait for the motors. I may have to modify the battery tray if my battery doesn't fit, but not by much. I also want to add a battery strap in case it ends up loose. The 20 ah sealed batteries are 7.1" x 3" x about the same height, which may be a future option. The cost is considerably lower than your production spec. battery. I will let you know how I make out.
If you have any issues with printing the shell, let me know and I will cut down the large/tall pieces to fit more printers. I have been wanting to do this anyway.
Let me know how part 2 in shell1.zip goes. It will let me know if I need to do this or not.
Also, I really don't sand down the base. It is completely hidden so I don't worry about it much. I have thought hard about making cold cast parts after this one is completed which would be based off of one that is very smooth. It is a ways down the road though and it might not happen. It just all depends on if I can get all of the other things finished and this one printed and assembled.
I really need about 4 more 3D printers for the next 6 months. That sure would go a long ways toward getting everything done that I want to get done.
I will print part 2 first and let you know how it comes out.
Because of this, there are now some other avenues available to get information about EZ-AI and Rafiki. They are:
EZ-AI Community group page
Rafiki Community group page
and http://www.cochranrobotics.com
I will try to keep these updated with information as it can be released. With the community group pages, you are able to turn on or off notifications on new posts. This does require that you have a free google+ account, which isn't a bad thing anyway. I will also reply to any questions posted here about either of these two products. Hopefully this will allow those who don't care to see these updates in this community to not have to see the posts, and will help to keep this community focused on the products that it was intended to support.
Thanks
David
The EZ-AI Community Group page is saying I am required to sign in with a Google+ account if I want to join. Is there another way?
Are we still allowed to post EZ-AI questions and discussion here?
Thanks!
To use that page, you would need to sign up for a free google+ account.
On a side note, it also allows me to see the level of interest in EZ-AI.
Dude, I just purchased a bunch of mold making materials for Archetype, so I can reproduce the shells in whatever material I'd want. Right now fiberglass/cold cast aluminum is the strongest contender, but other resins and even carbon fiber is possible. If you need molds made for Rafiki for mass production let me know if you're interested.
Email me if you would so I can figure out what any limitations are. My email address is in my profile here.
Sent you an email.
I will be in touch.
Cool bro.
I'm all the way north of Houston so I'm only about 5 hours away from Dallas
Question about the new EZ-AI: you noted that users will be able to choose and subscribe to the features that they want. If a subscription lapses, or the user decides they are satisfied with the current "level of intelligence" and don't renew, what happens? Does their bot go dark? Or does it continue to function as it did, but it would no longer get updates and improvements?
Thanks!
In order to offer the level of product that we wanted to offer, we leverage some third party tools which are mentioned in this thread. These cost money to offer and each transaction costs money.
To use EZ-AI will cost a monthly fee based on the level of the knowledge and the speech recognition engine you choose to use along with the number of requests you want to make per month. The advanced services will be better and cost more.
This thread also discusses what happens when you go beyond the number of requests that you have purchased, but basically we shut you off until you have either increased your total number of requests available by purchasing more, or you go dark for knowledge and speech recognition access in EZ-AI.
IMPLEMENTED:
1. Natural Language Processing
a. Deciding what action is to be taken for audio/text output
2. Entity Recognition
. Detecting names/places/dates/times/address/colors/currencies/and more
3. Detection of a person through image
4. Tracking that person from multiple devices
5. Offering contextual information
. Based on detecting a particular person at a particular time
6. Detecting patterns in requests and offering to do or automatically doing a particular action for a particular user when they are detected
7. Commands:
. Reminders
a. Calculator
b. Basic QnA
c. Small Talk
d. News
8. Undoing a particular action by saying Nevermind or similar
9. Java client for interacting through microphone, speakers and camera
10. Web interface for interacting through text.
11. Option for using multiple speech to text, text to speech and knowledge engines.
12. Sessions on a particular device (Requests can use information you provided in previous requests and take action)
IMPLEMENTING:
1. ARC native plugin for interacting through microphone, speakers and camera
2. Detection of a person by voice
3. Adding multipart upload to the web interface to send images and audio to the server for testing purposes
4. Learning the context of your queries (If you ask about HTML, JavaScript, and CSS, the AI will know that you are interested in Web Development Tools)
5. Getting the AI to know a person through a brief(5 minute) tutorial’ period
6. Key authentication server
7. Sending logs of requests the AI cannot handle (optional) so that we can make the AI better
TO BE IMPLEMENTED:
1. Commands:
a. Booking a reservation
b. Contact book
c. Finding social events
d. Finance (stock prices and information)
e. Flight information
f. Notes
g. Maps, points of interest and navigation
h. Media playback
i. Taking notes
j. Social Media reading and posting
k. Sports standings, scores, statistics, schedules, etc
l. Setting an alarm
m. Translating a phrase
n. Getting the weather
o. Web searches
2. Device control through AllJoin and z-wave
3. Learning relationships (my dad is David. Remind me to call my dad.)
Any estimate of subscription costs?
If you have a reminder setup and EZ-AI reminds you of this, this is not a transaction. If EZ-AI recognizes you and says hello, this isn't a transaction.
We are working on options to allow you to reduce your cost for the information that is returned. Here is a scenario of a paid for service vs using a free service. The paid for service has its information vetted through professionals in that area (in this example a Dr. Specializing in neurological muscle disorders). It would return a phrase that is meant to be spoken and display more detailed information on the computer screen if you have chosen this option. The free option would return the information from Wikipedia. This could be quite large and could be riddled with errors due to Wikipedia information not being vetted through a neurological muscle disorder doctor in this case.
Another of the paid for services is the best speech recognition service available. The odds of a normal user correctly pronouncing Myotonia Congenita (unless they are somewhat familiar with this disease) are pretty small. The speech recognition engine that we use will handle small mispronunciations of words and the knowledge system that we use does a great job of finding matches even with misspellings of words. This makes the experience far more enjoyable. Without these paid for services, we only know that the experience will not be as good as the paid for services.
I haven't made this publicly known but now is as good of a time as any...
EZ-AI is more than just an application. It is an AI framework. This allows programmers (java mainly) to extend the features of EZ-AI for their own purposes. By simply dropping a class file in a directory and making a simple modification or addition via a webpage, you can modify EZ-AI to use whatever services you would like it to use. This is the real power behind EZ-AI and where we see its potential. Additionally, you can customize the actions performed based on the main service that we use. You can setup your own API.AI account, download our environment to yours via a zip file download and then modify actions to then be specific to your environment. These do require some level of programming experience but you have the ability to change EZ-AI into whatever you want it to be.
What I am basically saying is that if someone develops a class that would use other services for information that are free (us or anyone else) then you would be able to use this class to bypass some of the cost associated with EZ-AI. If someone wrote a different class that accessed a different API on the internet and this didn't cost any money, you would be able to download and start using this class for actions pertaining to that type of request. You would make a change in your account and your billing the next month would not include the charges for the paid for service that was replaced by this new class.
This is all confusing for people who don't work with this type of a product and I understand that, but there are options to reduce or even practically eliminate the monthly cost of running EZ-AI. What we are delivering is the full functioning paid for EZ-AI at $30.00 per month. There will be documentation on how to go about changing out services and such. I don't have a timeline on when this would happen yet, but the goal is to allow you to make EZ-AI into whatever you want or need it to be.
My use for EZ-AI would be purely recreational: have some interesting conversations, have him remind me of appointments, dates, etc. Considering that I don't use half the functionality on my smartphone (a Luddite working in the cyberage!), many of the features are not important to me. I don't use social media (Facebook, Instagram, Twitter), I'm afraid to fly and I don't invest in the stock market.
If I understand you correctly, EZ-AI "basic" will start at $30/month, but the user will be able to opt-out of certain features, which will reduce or eliminate the cost? Or at least bring it down drastically. If that's the case, it's very good news!
That is sort of what he said. More like, the initial release will be $30/month. There is a framework built in that would allow sophisticated users to swap out the components with free ones that do the same function with perhaps less accuracy as long as they have APIs.
In another thread (about Google opening up their voice recognition API) David mentioned that a future release of EZ-AI might take advantage of that and a new API that Wikipedia is releasing to reduce or eliminate the monthly cost, but that would be a future thing after EZ-AI is released with its current speech and knowledge engines.
Alan
api.ai costs money to use if you make it public for people to use. api.ai allows you to also use a developer license for your own use, but if you make your service public for others, they will start to charge you or shutdown your service.
Nuance Cloud costs money to use if you are doing REST calls (basically using it from a computer). You can use this service for free for a limited time as long as you don't make your service public.
Wolfram|Alpha is free to use if you sign up to be a developer. Once you publish your project for others to use, this costs money.
Google speech stuff is free to use right now if you sign up to be a developer. It will cost money at some point to use this service but who knows when.
there are cookbook API's, Bible API's, map API's, Email API's and many many many other API's out there that are either free for a developer or run for a limited time.
EZ-AI uses CLASS files to interface to these API's. If someone needed an AI that associates dog tail length to the type of dog, this could be done in a CLASS file. The CLASS file could then be used by EZ-AI. It is possible for someone to publish this CLASS file which would then allow you to use these features from within EZ-AI. It might be that this costs money to use, or it could be free. The billing for the use of this CLASS file would have to be handled by the person making this CLASS file. EZ-AI is simply a way to leverage these CLASS files through an application.
To get EZ-AI, you will be charged the $30.00 for the first months service, and you will be charged the cost of the server and shipping. This all comes to about $120.00 roughly. You would then be able to modify your instance of EZ-AI to only use the services you want to use, or to use someone else's services through adding their CLASS files and turning off the default ones that come with EZ-AI.
If someone gets to writing a CLASS file that uses Wikipedia (example which is free) then they could use that CLASS file instead of the Wolfram class file. Because this API doesn't do Speech to Text, it wouldn't replace the Nuance Cloud API so you would still get charged for that service. If someone gets to writing a CLASS file that uses Google Speech stuff, and if it is still free by the time this happens, you could use that CLASS file to replace the use of Nuance Cloud. You would then not be charged for the use of Nuance Cloud's API. There is still the $10 charge for api.ai. This is the core service that makes EZ-AI work. That isn't to say that there isn't something else available that could do some of these things and if someone wrote a CLASS file to point to a different API, then this could also be replaced reducing the cost that you would incur for using our api.ai instance.
I believe that it is reasonable to charge $5.00 for the use of EZ-AI even if you don't use any of the other services, but right now, we are making it free to use if you don't use any of the API's that come with EZ-AI. You would still have to pay the $120.00 roughly for the hardware, shipping and first month's use of these services. Even if on the first day, you decided that you have other CLASS files that you want to use, you would still be charged the same $120.00 roughly.
So, why was the other version of EZ-AI free to use... Simply, I ate the costs associated with using the API's or found the least cost versions (sometimes free) of these API's. We proved that what we wanted to do was possible even though we didn't do it in the most efficient manner (as was evident from the brutal install process). We have done things far more efficiently now focusing on the end user experience. If we had a choice on API A or API B and API B offered a better user experience, we went with API B. This could mean that the data was more reliable, or that the speech recognition was better, or that the install was far simpler or whatever. Using the best of breed costs money. Designing EZ-AI to where someone has choices to make it what they want to make it costs money. Ultimately, if you choose to strip it down to its bare nuts and bolts that is your call and you have the ability to do this. If you decide that you want to use $100 a month in API's, that too is your call. We provide the services that we believe are the best for what people want, and give the option to the end user.
By providing a framework, we have allowed this product to be used in professional settings like hospitals or businesses, and allowed it to be used by hobbyists. This is like your cell phone. You can use it as a phone (which I rarely do anymore) or you can use it as a calculator, web browser, game machine or anything else. EZ-AI also has this type of flexibility depending on which CLASS files you add to it. If someone wrote a CLASS file to make phone calls and you use it, you too can make phone calls...
I hope this is logical. Let me know if you have any questions.
i h**e those guys
I've been developing since I was born, so i must be a developer ?
Examples might be
Home Automation
Launch Applications upon request
Remind me to do things at specific times
Tell me the weather, sports, news...
Answer questions when asked
There are a ton of things on our list to program in time. We have some of these things listed already finished and a lot more, but we would like your input.
Thank you
David
Tony
When people check in with EZ-AI, it plays message back.
Different Profiles and a secure (i.e. non trivial) mechanism to switch the profile.
By profiles, do you mean users? Right now the way that people switch users is by one of three methods.
Either the variable is passed from the EZ-AI ARC client (through facial recognition or whatever means you deem necessary inside of ARC), facial recognition by passing an image taken by the camera, or voice recognition. If the user cant be identified by any of these, EZ-AI will ask who the user is.
There are three ways to run EZ-AI:
1) Using the CochranRobotics Ecosystem - We have contacted all external services and have paid keys for use. To use these keys, you pay CochranRobotics a monthly fee and the EZ-AI server is registered with our Authentication server. The Authentication server provides the necessary external API keys for the EZ-AI server to run properly, and the EZ-AI server reports its usage back to the Authentication server for billing. You purchase the EZ-AI server and hardware/software from us. You can purchase and use pods for this installation. Also, you can use any or our free and open source clients or program your own for your own products.
2) Completely Local Installation - You provide your own keys to the EZ-AI server. You maintain and pay for any usage yourself. This is useful for individual developers who want to integrate EZ-AI server into their own projects. This is NOT recommended for production, though. The keys are stored in the EZ-AI server's database locally. If the key changes, it needs to be manually changed. You purchase the EZ-AI server and hardware/software from us. You can purchase and use pods for this installation. Also, you can use any or our free and open source clients or program your own for your own products.
3) Using your own Ecosystem - This means that you are responsible for running and maintaining your own Authentication server, as well as you own external product keys. This is useful if you want to move your EZ-AI enabled product into production. The Authentication server will be free to download and we are discussing making the Authentication server open source like the clients. You purchase the EZ-AI server hardware and software from us, register the EZ-AI servers with your Authentication server, and distribute with your product.
Quick Points:
1) Any EZ-AI client will work on any EZ-AI server on any Ecosystem.
2) After you purchase the EZ-AI hardware/software from us, you are free to change your external API keys and not pay us a monthly fee. The only required external API is free to use for personal projects, and has a paid version for distributing in your own products.
2.B) This means, after you purchase the EZ-AI server hardware from us, you can run the hardware without a monthly fee while you develop your product.
3) Developers will be able to create plugins for EZ-AI server to extend functionality. As of now, these plugins are written in Java.
4) We are not planning on distributing licenses for the EZ-AI server to be run on non-approved hardware. This is to ensure that every EZ-AI server is of the highest quality, is fully setup/configured and is easy to use for everybody.
5) We are not planning on releasing the EZ-AI server as an open source project.
Hail POD!\m/
We have focused on making the plugin more "bullet proof" and more reliable. We just published a new plugin which should handle the unexpected errors that we were seeing. I want to give this a good test to make sure that it solves any issues.
We are working on the pod clients. We have decided to make the pods open source as they are a client. We will be publishing the hardware needed, STL files and a disk image for you to download and use. This will allow you to extend your AI to multiple devices and allow the features of EZ-AI to be used throughout your home or office. I am building 3 pods this weekend and hope to have all but the disk image posted. Once the pod disk image is complete and tested, we will publish it.
Thanks
David
On the EZ-AI pods, as promised, here is a list of the hardware to build one
EZ-AI Pod hardware
You can get all of this from Amazon or many other places...
Code:
You should get this from Adafruit just so you know that you are getting the right ones
Code:
The STL files
https://github.com/cochranrobotics/Public/blob/master/Podball%20STL%20Files.zip
Nick will be working on the pod client (since we added a screen there are a few changes needed to the one that was already written) soon.
Thanks
David
In this example, someone could have encoders of different click counts per revolution, or no encoders at all. The robots could have different wheel sizes and motor speeds. It could be a walking robot . It is up to the user to determine what needs to be done to move forward 10 feet, but you would know what the request was without a lot of speech recognition objects.
This is cool but paves the way for other things that we are adding to EZ-AI. For example, one of the beta users asked for his robot to be able to dance when his favorite team scores a touchdown in American Football. Through IFTTT this is entirely possible. We will be implementing IFTTT so that the robot can control other things, or other events can trigger actions in your robot. This command structure is the first step of that and should be available for testing soon.
come here
robot come here
find [person]
robot find David
find [thing]
robot find my keys
flash light
robot flash light
flash lights
robot flash lights
go to [person]
robot go to David
go to [place]
robot go to the office
look [direction] [distance]
look down ten degrees
robot look down one radian
look up ten degrees
robot look up one radian
Arm Commands
lower left arm [distance]
lower left arm ten degrees
robot lower left arm one radian
raise arms ten degrees
robot raise arms pi radians
raise left arm ten degrees
robot raise left arm pi radians
raise right arm ten degrees
robot raise right arm pi radians
Move/Walk commands
move backward(s) ten feet
robot move backward(s) 2 inches
walk backward(s) ten miles
robot walk backward(s) pi meters
move foreward ten feet
robot move foreward 2 inches
walk foreward ten miles
robot walk foreward pi meters
Turn commands
turn left ten degrees
robot turn left pi radians
turn right ten degrees
robot turn right pi radians
On the move and turn commands, we may need to add a duration option...
There have been a couple of issues where the setting in the plugin and the mic needed to be adjusted, but that is all pretty self explanatory. I have used this with literally $2.50 mics up to about $75.00 mics and with slight adjustments, gotten the SR to work great.
Thanks Dave. It wont be much longer before we will be selling EZ-AI.
Are you taking preorders yet?
I'm in.
EZ-AI Information
Along with this there is a client that is pretty well wrapped up for the pods, which extends the AI throughout the dwelling.
We also have an extensive list of features that we will be adding going forward. There are now 3 programmers working on EZ-AI along with a QC person who also specializes in Home Automation. Then, there is me... The face and voice of EZ-AI. I don't get to play with the cool stuff anymore
We have a few meetings this month which will determine when the release is. There are many interesting possibilities that I cant speak to now.
Plugins complete along with the java client. This allows the cost to be reduced as shown in the video. Nuance is a costly service to use. You are now able to choose to use the nuance service or not. Basically, this allows you to have a monthly cost of $22 instead of $30 with the current pricing model. We are working on adding other services that will reduce the cost to use EZ-AI, but allow you to add the services that you want to use. If you want to use the more costly service you have that option. Because ARC has its own TTS engine, the voice isn't a concern. The only negative impact on not using the nuance service for SST, you get slightly less impressive results.
Anyway, here is a rather lengthy video. The end of the video discusses some things we are working on currently before releasing EZ-AI.
Can't wait to have all my bots using EZ-AI. The list of ways this can be implemented is virtually endless. All those movies where a person walks into the house and asks the house ("... Any messages?"). This brings SCIFI to reality.
"Gort, Clatu, Barada, Nictoe"
We will be reviewing the code from others before making the plugins that they submit public. This is for a couple of reasons...
1. To make sure that everything will work right.
2. To make sure there isn't any malicious code, and
3. To make sure that the standards that are needed are in place for the plugin to work.
I have one guy who already is doing this for us and will do this type of review for submitted plugins also. I don't know of any other way to make sure that the plugins will work correctly that are submitted other than doing this. Once verified good, the developer can make the plugin public or keep it private.
A question about latency: will response times (from when user voice input ends to when reply begins) change depending on whether the installation is cloud, local install connected to cloud ecosystem or local install/local ecosystem?
We spent some time at a conference last weekend demonstrating our AI to get feedback from people, and also promoting our new school. The crowd wasn't as large as the promoters had promised but we still got plenty of feedback along with some good promotion.
School link
EZ-AI presi
Rafiki was also shown off a bit. We didn't have him doing a lot because I wanted to focus on the school and EZ-AI information gathering. I was able to offer some assistance to the R2 Builders group and a few other groups at the show who want to make their robot props into actual robots. Anyway, enjoy the presi.
I was happy to hear you made it to the conference.
I enjoyed the presentation. It really showed the structure and features EZ-AI will offer. Will the first full release of EZ-AI available soon? I assume the "POD" will be a device offered also. Any projected release date window?
Ron
Typo on the school link. In the last paragraph you have "...continued support your school." Should be "...continued support for your school."
Alan
Ron, I hope so... I have had to step away from the EZ-AI development and let Nick take it over so I can get everything lined out with the school. I plan on going to Dallas on Thursday for work but hope to find some time to spend with him there catching up on where we are at... I will let you know.
Personally first
2 years ago, my daughter was injured during a cheer leading performance. In and of itself, this wouldn't have been a major thing to recover from but it lead us down a rabbit hole of situations that I will describe. My daughter tore her long thoracic nerve in her right shoulder. This caused her scapula to wing out and her shoulder to drop. There are literally 2 doctors in the US that have a clue about this injury but we didn't discover who they are until after two years of therapy and pain for my daughter. This injury caused us to have to home school our daughter which is another topic, but the pain caused her not to be able to sit in a classroom for more than about 15 minutes without being in severe pain. While doing EMG nerve tests early on to discover the extent of the injury, it was discovered that she has a rare disease called Myotonia Congenita Thomsen disease which is a nuerological condition which causes here muscles to lockup after tightening. This is a very rare disease (one other person in Oklahoma City has been diagnosed with it). This sent us down another trail of genetic testing and a lot of research to see how this will affect her life. Because of this she will not be able to have children and is also greatly affected by different types of medications and also affects her in other ways. We found a doctor in Houston TX who performs surgery to solve the issue with the long thoracic nerve and he performed the surgery last weekend which fixed the pain that she was having. Needless to say, all of these medical situations were expensive and time consuming so my focus on EZ-AI has been taken away from the project.
My grandson was diagnosed with autism. We have been helping his parents with finding help to learn how to handle his outbursts and what causes them. I am one of the few people that he reacts to on any sort of human level. This has consumed a lot of our financial resources and my time. I expect that it will continue to do so, but we are doing what we can to try to assist his parents and siblings.
My wife has had many medical conditions over the past few years, and had a 3 level neck fusion earlier this year. She is recovering but is not able to help as much with the grandchildren or our daughter. She is recovering but it hasn't been easy for her. This too has consumed a lot of resources along with time and money.
All of this has left me trying to recover from these issues. I have been trying to come up with something that my son can do that he will excel at (grandsons father) that will also allow him to be home more. We have decided to start a robotics school directed toward home-schooled students. There is a large market for this and really nothing exists that fits quite good enough, so we have developed a curriculum and a way to work with the students over the internet. At first we were going to focus on a brick and mortar school but we have decided that with technology being what it is now, we can do this virtually instead, which allows us to reach many more students world wide and also reduces costs drastically. This is where my focus has been for my robot time over the past 3 months or so.
EZ-AI was my other son's project (the programmer son) and we had a short meeting last weekend about the issues that we see with this product. EZ-AI is a good idea, but we lack the funding to make it a really cost effective product. The reason that I say that is as follows.
1. Many other products have become available over the last 2 years which allow a lot of the features that we were including in EZ-AI to be publicly available. These include Cortana, ok google and Siri from the desktop, and Google Home and Amazon Echo for hardware solutions. Every one of these has one thing in common that we can't do. You pay a one time charge for each of these (ether computer OS or a hardware device) and then you can use these devices as much as you want without being charged by these companies for their use. This kills EZ-AI because we will never be able to get the product anywhere near this price point. We have to pay for services, and as such have to pass this along to the users of our services.
2. There are some laws that were passed (one in the US and one in England) that make me not want to be in the world of cloud services. We were not going to store what someone does on these devices at all on our authentication server. These laws require online service providers to house the activity of its users for a minimum of one year. I don't like this in the slightest as it would require me to do so and then possibly have to turn over a users activity to authorities. This prevents me from perusing this type of a business.
3. There are laws against recording youth without their parents consent. This means that if our platform were to be used by anyone under 18 years of age without their parents knowing about it, and we identified the person using facial recognition (which requires recording) then we could be liable. I really don't like this either and it could never happen, but it could open me up to litigation that I wouldn't be able to afford. I believe that this is why the devices that are currently out don't contain cameras and don't do facial recognition. That was the biggest thing that made us different from these other commercially available products and kills our advantage.
4. API.AI got bought out by google. I am not a fan of google. I like my privacy a bit much and after learning more about the harvesting of personal data that is done by google, I have quit using their services. Their purchase of API.AI also leads back to point 2. If anyone is going to be requested to provide information to a government source, it is going to be google, and the use of services that they provide will then force those who base products off of their services to by default also have to provide this information.
5. The market for this type of product has become difficult because of the huge players in this market now. Apple, Google, Microsoft, Amazon and IBM would be my main competition along with the main services that I would use. This becomes a loosing fight quickly simply because there is no way that I can compete against all of these players. Add to this that a almost all of these companies are now cooperating with each other to further these types of functions, I seriously can no longer compete.
It would be one thing for me to put together something that I can use and handle the costs associated with my use. It becomes something quite different to make a product used by others. Developers normally can establish relationships that allow the API's that I used to be used without cost. Once you publish these for others to use, there are costs. The DIY community tries to keep costs as low as possible, which I totally understand and do the same thing. There are not a lot of people willing to pay for monthly for an alexa type device that can be put into a robot. The cost would be about $25.00 a month, which now you can buy an amazon echo dot for $40.00 and have unlimited use of it (if you have a prime account which carries with it other advantages). I don't see the market being open like it was even 6 months ago.
Because of all of these reasons, I have turned my attention toward a virtual school that allows anyone to enjoy live broadcasts teaching EZ-Robot based topics initially. This will allow people to participate in the live shows via IRC, Mumble, Skype or phone. I have worked with Noah from altaspeed to get the streaming to the internet setup in a way that will allow people to enjoy the stream from Twitch, YouTube live, RTMP and others. I have two entertaining hosts to serve as hosts for the class and have the streaming figured out. I do have some equipment to purchase so that I have redundancy and very high quality sound for the videos. Really, sound is the most difficult part of the entire setup. I should have the studio setup by February and we will start producing some test shows at that time. We will be housing our content for 1 year on a cloud server at digitalocean.com. We will keep archives locally also. I am currently working on getting a kodi channel up and running and testing other steaming services like scaleengine and ustream to see what they can offer that I cant do myself.
Students who buy the classes would be able to participate in the classroom conversations and be able to also get access to previously recorded classes. We will also start a show which will delve more into non-EZ-Robot specific topics with robotics. There would be news segments, product reviews, answers to questions and other things. We would have guest speakers on to discuss topics as we found those who would be willing to participate. There are a few other ideas floating around in my head, but this is a good enough start. From there, we would do other classes on other topics that are used in robotics like 3D design and manufacturing, programming and Artificial Intelligence topics.
We plan on doing shows on what we have done with EZ-AI and how it works which will allow others to do the same thing that we did. It will probably be about 6 months before we will start broadcasting. We will be setting up a patreon page for those who want to assist in getting this off the ground.
I was using another free service that the link just went dead, I assume for much the same reasons. I was unaware of the retention laws you spoke of. That is scary.
I hope and pray everything turns out well with your family, out of my 10 grandchildren, I have 2 that are autistic so I understand the challenges.
Will talk more off line.
RichardZ
You could also check out https://github.com/itsabot/abot/wiki/Getting-Started
Just a suggestion for anyone interested.
I hope all the best for your future projects and specially for your real life!
is an interesting topic ...
https://www.indiegogo.com/projects/jibo-the-world-s-first-social-robot-for-the-home
The robot will interact with kids, family, friends of the Jibo's owners, so the question is how they handle that law.
If my kid goes to a friends house and their whatever robot e.g. Jibo records videos or photos and uploads to the cloud and then their Asia support center guru, downloads to his laptop for work purposes and then the laptop ends up in black market ... is a serious issue but i think most people gave up of their privacy when they started using FB, G+, Twitter, Snapchat, Instagrams, etc etc.
Another example Nest Camera
https://nest.com/support/article/How-does-Nest-Cam-store-my-recorded-video
I've been several times in a Friend's house, he uses a Nest cameras to monitor the house, one of them is in the Kids playroom. I didn't know until he grabbed a few screenshots and sent the pictures to me (my kids and his kids) so the question is how Nest handles that, special when you can hide cameras for security protection....
Do you think i can sue Nest ?
Really, I only see this as getting worse because people are willing to forfeit their right to privacy and governments are willing to take more of these away. The law in the US passed without a vote of the house or senate. It passed by them ignoring it. UK actually voted on it and it passed. In any event, with more and more going to the cloud, I really think that these types of laws are going to do one of two things. One is that it will prevent people like me from offering anything that is stored on the cloud and kills production. The second thing it is going to do is slow down peoples acceptance of the cloud. Both might not be bad. IDK. I just don't have the energy to investigate what it is going to take to keep me not liable, so it's not worth it to me to take a chance. Others can get beat up by this until it is cleared up from litigation.
If you are a huge company that can afford the litigation and outlast those who are suing, great. Many people can outlast me.
I don't think people are aware of these issues when they buy/own the technology and i believe 99.9% don't care.
Check the Arkansas case:
http://www.cnn.com/2016/12/28/tech/amazon-echo-alexa-bentonville-arkansas-murder-case-trnd/
Is only a question of time... in the end they will surrender the information.
what is the justification border line to cross the privacy rights ?
MSFT had plans for a Xbox Console with Kinect built in always on, internet connection required. You can imagine a nice sensor with infrared camera, microphone array, skeleton tracking, etc on your house accessible (under law pressure) ?
other point how the law applies to a foreign company e.g. EZ-Robot @ Canada or Buddy Robot @ France ?
Chris
I have started looking at the packets that the Echo Dot is sending to Amazon. So far I see nothing coming from the IP that the Echo is on unless it is activated. I might leave this sniffer on for a while to see if the IP sends anything in the middle of the night. I know that this is the subject of some podcasts that I watch for next year. I think that more and more people are getting their hands on these devices (especially with the dot selling for $40.00) and people will be doing a more thorough examination of what it is doing.
@Kamaroman68, send me a text and I would be happy to talk. I am off work this week. I saw you texted a while ago. I forgot to get back to you. Sorry man. Yes, I definitely know that you understand the road I have traveled. Will talk soon.
Regarding the Echo, I assume this will not allow your EZ-Ai to continue as planned. Do you think the Echo will become an issue as is thought? If not do you think an Echo and an EZB will be able to be interconnected?
Ron
PS, email sent
First, a little information about what the general consists is about the echo vs the google home. The google home will be better at general information that isn't "real world information". For example, the question "What is the Millennium Falcon?" would be better answered by Google Home right now. Questions like "Who is Harrison Ford?" would return similar results. Questions like "What is the weather?" would have similar results. Tasks like reading gmail or setting up lists and such right now is better on the Echo simply because it is older and has more development done on it right now. IFTTT allows you to setup a lot of things like when x happens do y between different systems and Echo has more built for it in IFTTT for the same reason. Buying things would be better through the Echo right now and probably forever if you purchase things through Amazon.
Again, I haven't tried this yet...
The Echo has a switch on top of it that allows you to bypass the wake-up words. Currently the wakeup words are "echo", "Amazon" and "Alexa". There isn't a way to change these, but by triggering the switch, you are able to speak and have the echo hear what you are asking. This could allow the EZ-B to be attached to the echo (after some hacking) to allow it to then start listening and make the keywords be handled through the EZ-B instead of through the Echo.
With that said, the voice coming from the echo will be the Amazon Echo voice and will not match exactly to what your robots other statements are. Some may see this as problematic. One of the advantages of EZ-AI is that the voices would match because everything would have been passed back to ARC to speak.
Both the Echo and Google home go to a single source for its information. The main complaint of EZ-AI was that it was slow. I have to describe the paths that these devices take to finally return the information for you to see why EZ-AI was slower than the Echo, siri, cortana or Google Home.
EZ-AI
The recording of the question happened in the EZ-AI plugin
The recording would then send to the EZ-AI server
The EZ-AI server would
1. Start a thread that would send a message to the EZ-AI Authentication server
2. The EZ-AI Authentication server would validate that this was a valid user and which services were paid for by this user
3. The EZ-AI Authentication server would send a response back to the EZ-AI Server saying it was okay to process the request.
While 1,2 and 3 were being executed a separate thread would send the request off to API.AI to see if it could convert the text to speech and then process the request. (this was successful about 80% of the time) If the request could be processed then
API.AI would classify the text
Run through its logic to return the result
Return the text to the EZ-AI server
If the user was a valid user from the Authentication server checks from the other thread, the text would be returned to the plugin
The plugin would then take this text and place it into a variable to be spoken.
If API.AI couldn't process the request it would return a failed attempt back to the EZ-AI server
If the user from the checks from the Authentication server was a valid user and had paid for Nuance services
The recorded audio would be sent to Nuance which would then perform the SST (speech to text) conversion (this had a 99.97% success rate in the beta).
This text would be returned to the EZ-AI server, which would then send this information to API.AI
If API.AI determined that this was a question that it didnt have the answer to it would return a failure to the EZ-AI server.
The EZ-AI server would see if the user had access to Wolfram|Alpha from the checks it did earlier.
If the user had access to Wolfram|Alpha, it would then submit the text to Wolfram|Alpha. This was about 25% of the requests from the beta.
The Wolfam|Alpha engine would run and gather a lot of information and return it to the EZ-AI server.
The EZ-AI server grabbed the spoke text data and passed it back to the EZ-AI client.
As you can see, there was a lot of hopping around due to trying to provide the most accurate results possible. Sometimes the results (if it went through the entire chain of events) could take up to 20 seconds to return the final results. This was due to transmission times and due to the massive amount of data that Wolfram|Alpha provided. It could take 15 seconds for Wolfram to retrieve the information. This feels like a very long time, but it returned accurate information. It could return things like "What is Myotonia Congenita?" which is amazing but very few people would have asked this type of question. It does make it somewhat useful for medical professionals though, but what is the market?
A question to the echo of "how far is the earth from the moon?" sent or received 214 packets from and to the same IP address on different ports and took ~10 seconds to complete from the first packet to the last. The Echo doesn't wait until you are finished speaking before it starts sending packets to its servers for processing. The question took 2 seconds to complete and 8 seconds for me to ask the question and it to finish processing the request. This is because it had already figured out and classified most of the text before the statement was completed. I had no way to do this with the technologies that we were using. The downside to this is that you can't ask things like "What is Invokana?" making this really more of a digital assistant or a Amazon sales point in your home than anything.
So, to get speed, the Echo is better than anything I could ever develop simply because it goes to one location and can do so prior to the question being completed. It allows the number one requested thing from our testing and the conversations that I had with various users which was digital assistant features. It covers about 80% of what we could do from a knowledge engine perspective and it has a huge community of developers working to improve it daily. The only thing left is to get the robot to trigger it which could be done by hacking the Echo to allow the EZ-B to electronically or mechanically activate the switch on the top of the echo. The only thing you are missing is really accurate data to more difficult subjects, a consistent voice, controlling the robot by voice (ie move forward 25cm) and data being returned to the ARC application itself.
I will keep working on EZ-AI in my spare time but there just isn't a market for this product outside of the robot DIY community. The robot DIY community isn't large enough to support the required funding to make this cost effective, so I will just keep working on it for myself and see where we are later in time.
I'm so sorry both your family and your personal challenges are causing you all such trouble. Many here have been on that same road in our own lives so we totally empathize with you. Not that I am comparing but I also have a grandson with autism and also have had to stop more then one business venture because of economic issues or competition. It's hard to walk down a different path after you've put so mush into something or someone. My personal wishes and strength go out to you and your family to move through these times. I hope the next year sees better times for your family and your ventures. It sounds like you have a good plan and lots of the right kind of help to get you all there. Peace.