Robauto

What is Artificial Intelligence (A.I.)?

What do you think of when you hear the words Artificial Intelligence?

For me as a kid it was robots. I imagined a future world filled with walking, talking robot companions. Robots to carry me to school. Robots to sit and play a game with me. You may remember The Jetsons. It was a cartoon  which depicted a nice family who lived in a futuristic world of flying cars and friendly personal butler robots. I dreamed of one day living in a world like that.

And today flying cars are real and personal robots exist by the thousands. But I still mop my own floor and drive a pickup truck. Like most fiction it’s not exactly how the creators of the Jetson’s imagined.

While most of the technology seen in this futuristic show exists – it’s evolving a little differently than we thought.  And It’s also nothing to joke about. AI is more than just robots. It’s software that is already changing the world. AI is not as complicated as is sounds and anyone can become an AI innovator.

What is Artificial Intelligence (AI)

WikiPedia defines A.I. a computers demonstrating intelligence. So in simple terms the computer is making some sort of decision based data it’s fed.

But all of this is nothing new. There’s been lots of work done at government and University levels research facilities since the 1950’s. The Ancient Greeks conceived a similar idea and semi-intelligent software has been around for a long time. So what is all the buzz? For starters A.I. has simply become a trendy buzzword. I have seen a number of startups suddenly emerge that claim use some semblance of AI in their product. Some of these are nonsense and a few are likely very good and will become useful.

In reality it is hard to find anyone with any kind of new truly functional, useful AI like is depicted in movies. This is just because the technology isn’t quite there yet. Even though we have lightning fast computers and Internet available, it’s not always cost-effective or feasible to process mass amounts of data in real time.

This is why you see prototypes with patches of intelligence displayed in closed environments but not as many fully functional human looking robots out there ready to greet you throughout your day.

Getting started on some basics: There are 2 main types of AI:

Applied: Most common – a very specific application such as a self-driving car or a voice activated computer. These are using libraries of data and get better as they go. These software programs typically use some sort of Machine Learning architecture where the engineer uses lots of machines each receiving inputs on the environment. In aggregate, or over time, the machines are able to find a pattern and use the pattern to make decisions. 

General: I can’t think of a single ‘general’ AI that actually works in a production mode. If someone has one please let me know! An example would be a robot  you could walk up to and it would just instantly be able to converse freely with you with no human input. Even the impressive humanoid Sophia isn’t really fully autonomous. 

AI as a socioeconomic tool

Over the years I’ve had the opportunity to host and participate many robotics meetups and events with thousands of people and virtually every type of robot known to man. I’ve designed and brought to market several technologies, some of which failed and a few which made it through the gauntlet of consumer acceptance and adoption.  For a working class kid from rural Vermont technology was an opportunity to transform myself and the world around me.  Today I love my job helping others to innovate around robotics.

I am a capitalist so yes I want to also make a profit. That’s important to sustain innovation. But teaching people about AI, robotics and technology entrepreneurship is my social-economic-spiritual statement to the world, and gives me a purpose. Currently I’m working on BiBli which is a robotics platform to help people learn about all of this easily and inexpensively. It’s also really fun to collaborate with smart, talented people to make goofy robot inventions and even some potential breakthroughs. 

The CEO of Google recently came out and said he thought AI was more of a game changer than electricity. Elon Musk has warned AI is more dangerous than nuclear weapons. I agree with both statements. Do we need to be afraid? No. Do we need to pay attention? Yes.

AI is here and already impacts your life daily.  Marketing, fake news, hacking, the financial markets, security and safety screening, healthcare and education all use AI.

It’s really nothing new, nor that difficult to understand conceptually. If you are a real geek  interested in the math and more advanced aspects of AI I would suggest starting with learning a about the
basics of neural networks and or the different types of machine learning.  Being versed in college-level math such as calculus or linear algebra could help you to understand but really all of this comes down to analyzing data. 

If you have no programming experience, don’t worry that part isn’t important in the conceptual stages. If you are really interested you could spend a few nights a week learning Python which is a great starting point to learn software.

Simply start to think about how a robot could help you in your daily life

During Build-a-BiBli workshops we often give people a blank piece of paper and ask them to design their ‘dream robot’. What comes back is pretty typical. In the case of students their robot usually looks like a robot they’ve seen in movies, cleans their room and does their homework.

We talk about the power usage required to power a laundry folding arm and how difficult it would be to program a computer to do homework in any language on any subject. Eventually the robot design gets reduced down to a prototype idea that could actually be built and used.

An interesting note – In the case of adults there is almost always one person who wants a robot that will go get them a beer. In all cases, their robot is usually inferior – a sort of slave designed to serve them.

An Example of an AI Project in Real Life

Sometimes the easiest way to understand a concept is to see it in real life. For this example let’s take a look at Tesla’s self-driving cars. You may own a Tesla or hopefully have at least seen one drive by. Tesla isn’t the only autonomous driving vehicle out there but they are pioneers.


It’s  a great example of a network of computers working together to get smarter. Teslas rely on cameras, sensors, GPS data and a driver to navigate through streets and highways. And while the self-driving is getting better and better it’s still not totally autonomous. The company has given no deadline for when they will be.

Think about why:

There are many Teslas in the world and it was recently reported that more than 1.3 Billion miles have been driven autonomously. They are all connected to the internet. Data from all of those miles have been fed into the Tesla software. Also the data from your own routes as a driver  (hint: you repeat the same ones over and over) are also part of the math.

I would guess that when there is enough collective data to make that system perfect they will offer a software update that makes of the cars truly intelligent and self-driving will be a reality in the world. And they will likely make a pile of money in the process.

The Tesla fleet is a perfect example of neural network using machine learning to get smarter as they go. This is a real thing – in fact you can even see discussion about the Tesla neural network community here.

Get started inventing the next AI

There’s no calculus homework involved. You won’t need a soldering gun or engineering background to complete this challenge.  You just need creativity:

    • Today, simply go about your day. Look at all of the devices in your life. Appliances, computers and vehicles are everywhere. Most are connected already to  or bluetooth. Think about which of those could help you more in life if they were just slightly ‘smarter’.
    • Then think about the types of data they could potentially collect if they all had inputs or sensors. Sensors are cheap and easy and just send a computer a signal that is either on, off or with some value. They can detect lots of different things. Temperature, distance, humidity, light, air quality, sound, hidden frequencies and more.
    • The AI part: Finally think about they kind of patterns you might see if you looked at all of that data in aggregate. Think about a simple way in which a computer might use that pattern to easily make a guess on what will happen next.
    • Also think about the various tones and lights and voices these devices use and how that makes you feel. Do you like the device? Do you trust it? Does it annoy you? Social robots are the same tech as a roaming laptop with eyes. But we see them much differently. Why? The personality of AI is going to be very important.
    • Now think of a product that lots of people would also need, invent it and become the first trillionaire..

OK, maybe it’s not quite that easy. But it’s not as hard as you might think.  No longer are the days where only big companies or trained scientists can invent the next breakthroughs. Every day people are solving problems and coming up with products from their garage or classroom.

Our future is not going to be exactly like The Jetsons – but still pretty amazing.  AI is here to stay and it’s just getting started. We don’t need to fear it we need to harness it.

Countless breakthroughs are coming and trillions in new revenue.

Hopefully because of someone just like you!

20 Steps to Launching an IoT Product

Conceiving, designing and bringing to life a new product can be challenging and risky. Many times the product idea we conceive of ends up changing some as we work through the engineering and testing process. After many years of product development, including successes and failures, we’ve developed these 20 steps which we follow on any of our own products:

Non Disclosure: Never share your concept online or with others without an NDA. This is important for the patent filing!

Project Overview: Customers and partners generally give us an overview of their idea. Sketches and notes are fine but we can also just listen and document as we go.

Estimate: We always try to provide an estimate for our clients ahead of time. While there are many unknowns, we can approximate scale and scope early on.

Agreement and Downpayment: We work as an extension of your team. We only do what you need and want us to do. We bill for actual time and materials and are affordable and fair compared to adding a team of electrical, mechanical and software engineers to your business.

Stakeholder Map & Market Evaluation: We use Stanford’s Design Thinking Model to map user needs and project stakeholders, helping to define a better product.
Version 0.1 Concept: Using flow diagrams, use cases and product concepts we develop and all agree on a concept.

Test Product & Dev Environment: How can we design, mock-up or otherwise test the core technology or design early on? What is the development environment? We use Slack to communicate as a team and will invite you to participate if you’d like. All source code and schematics are stored in Google Drive and Github.

Software and Hardware Architecture: What are the key applications, functions, power needs, motors, nuts, and bolts required? How will they work together?

Patent Search: Who is doing something similar and do they own the intellectual property? We like to have a prior art roadmap early on and then be free to invent and create.

Go/No Go Meeting: Sometimes products won’t work. It’s rare. But we’d rather know early on than invest the bulk of your engineering budget on something that isn’t feasible.

Website/social media: While you shouldn’t show your product yet, it is important to start early on building a brand and gathering potential pilot customers.

MVP Built: Minimum Viable Product – let’s make one and test it. It will be large and clunky potentially, but this is where the fun starts!

MVP Tested: There is no substitute for letting people try it out. We have a range of testing options including online and in-person focus groups.

Refinements: What did we learn and what is not working?

File Patent: We now know what the final invention will be. It’s time to get the patent process started if needed. We have attorney partners or use your own. We provide a patent discovery form which any lawyer can start with.

Kickstarter: It’s not a free marketing channel. But it’s a great way to test the market and raise money for engineering and manufacturing.

Full Prototype: You’ll need a version that is pretty close to the final to film and fully test and break through use.

Manufacturing: We have a number of partners we work with for large and small scale manufacturing. We do all of our prototyping and light manufacturing in Longmont, Co!

Q/A: Testing. Is the product compliant? Do we need to get it certified or registered? Does it work correctly over a large sample?

Logistics: How will your product be assembled and packaged? Who ships it out? How will instructions and support and customer returns work? What about insurance and pricing strategies?

LAUNCH!

Door Opening Robots

Boston Dynamics released a video recently showing door-opening robots. This is incredible engineering. Note how they seem to be working together. It also seems to use it’s leg to hold the door and then waits for the companion. That, combined with the speed and agility make it one of the best robots we’ve seen:

How to monitor progress when using dd to copy Raspberry Pi operating systems

Creating an ‘image’ or a copy of an operating system can take quite a bit of time. And if you are using the command line to set-up your SD card it can be difficult to tell how much time you have left on the copy.

To view the status of the ‘dd’ command simply open a new window and type:
sudo kill -INFO $(pgrep ^dd)

The should display the time and bytes transferred in your original dd window without stopping the process.

How to install an operating system onto a Raspberry Pi SD card

Whether you are installing Linux, Raspbian or BiBli operating systems to your Raspberry Pi’s SD card the process is always the same. It does involve opening up the command line but it’s actually a great way to learn the basics of Linux.

1. The image, or compiled source code is going to be called filename.img. I like to put the image right in my root directory but it typically would be in /Downloads if you found it online.

2. You will first need to make sure the SD card is formatted. We’re not going to get into partitioning however for advanced users you may want to pre-format your SD card into different sizes. For most people simply insert the SD card into your computer using an SD card reader.

Important: This is for advanced users only. Using ‘sudo’ will allow you to completely erase a drive with no warning.

3. You can find the name of your SD card by typing:

sudo diskutil list

4. Your computer should detect it, however you may need to first unmount the disk as it becomes ‘busy’ when you plug it into the reader. This command simply involves typing:

sudo diskutil unmountDisk /dev/disk2

5. Start copying. This is going to take a while and you won’t see any log or response until it’s done. We use ‘dd’ which is a command and it’s pretty easy to rember. The ‘if’ stands for input file and the ‘of’ stands for output file. Your directory, file and disk names may very.

sudo dd if=biblios2.0.img of=/dev/disk2

6. Check the status by opening a new window and running this command.

sudo kill -INFO $(pgrep ^dd)

How to connect Raspberry Pi 3 to external bluetooth speakers

The most recent Raspberry Pi 3 and up come with integrated bluetooth. Which is nice. It lowers the cost and power usage and allows you to connect in and out of the Pi via any bluetooth device.

But for the specific instance where you simply want to broadcast sound to an external speaker there are a couple of ways to do it.

If you are running Raspbian (which is what comes standard) then you can likely use integrated bluetooth connection via a variety of sound management apps. But what if you are using your Pi from the Command Line or via a program? How do you manage bluetooth?

An integrated bluetooth connection dashboard allows you to push audio to any nearby headset or speaker, including your on-board BiBli speakers.

I’m not going to fully recap the first method I found which includes the use of the bluetoothctl program which you can run from the command line. Basically in that instance you’d just be running some scanning and pairing commands while you open pairing on the nearby speaker. It might work. I found it frustrating. The issue is that you’re likely going to have some volume management issues unless you get into additional sound configurations which can be reset with HDMI inputs and other scenarios.

None of this would work for our BiBli users so we added a simple bluetooth management tool as part of BiBli OS 2.0.

It allows you to connect your Pi or swarm of Pis to any nearby headset or speakers.

(Note: Order an SD card here and get the rest of the BiBli OS to play with at the same time.)

7 Things Every Future Engineer Needs to Know

1. “Why am I even doing this?”
Help solve world’s challenges
Live a prosperous life of purpose
Challenge yourself to be better
Secure Internet, Energy & A.I. are all massive areas for innovation
Fun new jobs and a better world

2. Agile Development
Able to install a program from the command line
Clear concept of IPs, Hostnames and Devices on a network
Can programmatically store and retrieve data
Can spin up a LAMP Stack (Linux, Apache, MySQL, Python)
Google Docs from your phone on a chairlift
Slack updates as if you were there
Amazon Web Services (AWS)

3. Communication & Cooperation
Communication is as important as the innovation
A team is an awesome thing
Email and phone etiquette
Personal branding

4. Programming & Logic
Production Hello World software on 2 different devices in 2 different languages by 12th grade graduation (everyone)
Bonus if you can put it on your own hardware or make a robot
You can explain big data and machine learning

5. Art & Design
You design for the customer need
Band is as important as AP Calculus
You know how to brand and market
Character development vs software

6. Innovation is Engineering
The Full Path: Idea to Revenue
Zero limits.
Assume everyone is currently asking the wrong questions

7. Become a Balanced Human
Fierce execution and passion not busy or stressed
It’s a marathon not a series of reactions to life and career
Mental and physical health is paramount
Leverage the power of the phone but have self-control
Have fun!

2 Tips – How to ssh or ftp into a Raspberry Pi

Raspberry Pi’s are great because they are little mini-web server. This environment is familiar to anyone who has worked in the web development industry.

There are 2 primary ways to easily access a Raspberry Pi.

Note: First you’ll want to make sure your computer is connected to the same wi-fi network as the Raspberry Pi.

Tip 1: FTP and Raspberry Pi

FTP (File Transfer Protocol) is the easiest way to access the files on your Raspberry Pi. To get started you’ll need a FTP client. Depending on if you use MAC or Windows your FTP program may vary. Dropbox even offers an FTP client (I use Filezilla).

You’ll need the IP address of the Raspberry Pi. If you don’t know it then install an app called Fing on your phone. Connect the phone to the same wi-fi and it will show you the IP Addresses.

Then simply enter in the IP address (ie: 10.0.0.17). In most cases the port will be 22 and the username pi and password 123. If you changed these when you set up your Raspberry Pi then you’ll need to use the new address.

local directory: whatever you want
hostname: your.ip.address
port: 22
username: pi
password: 123

The default director is /home/pi

Tip 2: SSH and Raspberry Pi

You’ll still need the IP of the Raspberry Pi. If you are in the shell sometimes commands like ‘netstat -r’ will work to show device IPs. Otherwise use Fing to get the IP and the default command to access a Pi is:

ssh pi@your.ip.address
pw: 123

Now you can backup, edit files and share media with your Raspberry Pi. Be sure to set-up an organized local development environment and remember to back up your files.