Sign in:

Thousands of Tiny Robots

The Modular Robotics Blog

Yesterday I tried a little experiment with my schedule: I switched all of my regular on-one-one meetings for the week to Tuesday, a single day with nine meetings in a row, no break.

The idea for this actually occurred on February 5 of this year, at our Q1 board meeting. I’m a little embarrassed that it took me this long to try. You see, somehow I found myself complaining to the board that I wasn’t able to find enough time to work on a few big projects that I knew I needed to be working on. This is not the typical stuff of board meetings. Anyway, I explained how for the last couple of years I’ve kept Wednesdays clear on my calendar, usually worked from home, and used it as design/writing/solo-thinking time because the other four days get consumed with collaboration: one-on-one and group meetings with the eight people I work most closely with at modbot. But lately, the collaboration days had gotten so busy, that Wednesdays had turned to email and administrivia catchup days and I needed more time in the week…

Brad made a suggestion: what if I were to completely flip the ratio, stack up all of my one-on-one meetings in a single weekday, and have four days to do my own work. I remember my head starting to explode a little bit and looking over at Mark and Mike who were nodding reasonably at me as if to say, “seems like a perfectly smart idea.”

While it might seem scary to stack up that many meetings in a row, I wasn’t too fazed by the idea: I like everyone on my team and the conversations are usually flowing and genuine. The part that gave me pause was wondering, all in an instant, what I might do if I had four-ish days a week to move things forward with my own projects, instead of less than one. Would I head to Japan and see what kind of cool tiny robots are happening there? Would I play around in our lab with electromagnetic bits and plastic? Check in with some of the robot labs at CU Boulder, right down the street? Finally build those little wooden robots we’ve been sketching for years? Look through a recent set of conference proceedings? Visit the Bay Area for a few days to catch up with my hardware startup friends? Read a few books about leadership, management, and inspiration and work on the parts of being a CEO that I suck at?

The idea was almost too much for me to process, but sounded tremendously tempting all the same, so I vacillated for a while before finally trying it yesterday. I’m happy to report that it was a great success! I learned some things!

Sometimes I do a little journaling in the morning. You know, Artist’s Way style or Jerry Colonna style. Previously, on meeting-heavy days, I’d think and write about the big important things that I needed to get done. Then I’d have a busy day of meetings and spontaneous business stuff, and in the evening I’d feel stressed and annoyed about not making progress on any of my big important things.  Yesterday, though, I told myself in the morning that I wasn’t going to make progress on my stuff during the day, but that I was going to meet with a bunch of individuals, be present, listen, and see how I could help them. And that that might have compounding returns, and that it was valuable for modbot and an important part of my job. I think I did pretty well at that, so at the end of the day, I felt fulfilled and not exhausted. That sort of surprised me a little bit.

Another thing surprised me throughout the day. Having all of those meetings back-to-back made it easier for me to see a few trends. If the meetings had been spread throughout the week, I might not have noticed that multiple people were worried or nervous or thinking about a couple of problems that we should probably address directly and together. So we’ll try to, and that gives me a little bit of the great “we’re getting better at getting better!” feeling.

I’m not sure if today has been a great first result of having a clear meeting calendar. I went to the dentist and got a cavity filled, played with a test version of a new Cubelets operating system, and wrote this. But it’s a start. I’m definitely going to continue trying this meeting rhythm for a few more weeks.

Join the Conversation  1 Comment

I just got home from a long week visiting suppliers in mainland China and Hong Kong; saying hello in person, touring the factories, eating big Cantonese lunches, and figuring how to optimize for Quality, Cost, and Speed, in that order. Dave, our Head of Manufacturing, was with me and is still there for a second week visiting six more suppliers.  It was a pretty intense trip: we drove all around Southeast China, stayed in a different weird hotel each night, visited one or two factories each day, and sweated like crazy in 100 degree heat with oppressive, dense, saturated humidity.

I’ve written here about a couple previous trips to China: the first one in 2009 with Bunnie and crew, and the 2013 trip that resulted in our big decision to build a factory in Boulder.  In between those trips, there were 5 or 6 more solo trips as I set up the supply chain for Cubelets: custom plastic injection moulds, magnets, circuit boards, stamped steel parts.  These trips weren’t particularly easy or fun: long factory days, lots of driving, lots of translating, and a lot of alone time to contemplate my culture shock.  By 2013 I was nursing a solid China hangover and was ready to take a break from the transpacific flight routine.

Fast forward to last Saturday.  It’d been more than two years since the last trip, my China hangover had faded, and we headed out again, first to Hong Kong for a couple of days.  I haven’t spent too much time in Hong Kong, usually it’s straight to the Futian border checkpoint, but we built in an extra day to acclimate and wander around.  Dave and I hiked up Victoria Peak from Central (I’ve never sweated so much), took the tram down, and I got to check out the Bank of China Tower a little more closely.

DSC_0191
I.M. Pei’s Bank of China Tower

I think it’s a beautiful building.  You know, for a skyscraper.  I did a little project on I.M. Pei, the architect, freshman year in architecture school (1995!), so was pleased to get up close.  See those two spires on top?  When the building was proposed, the drawings didn’t have them, and the local Feng Shui folks declared that the building was going to be totally bad news.  Too many X’s or something.  Negotiations were had, money changed hands, and the two spires were added to balance out the building and tip it back into the good fortune side of things.  Anyway, I like the spires.  Here’s what it looks like at night, after a few beers.

DSC_0187
The Bank of China Tower and Central at night, from Tsim Sha Tsui

Then to the mainland, for factory visits in Shenzhen, Dongguan, Guangzhou, Conghua, and Fo Gang.  We packed it in, had a lot of great discussions with manufacturers, and saw a ton of production lines.  I’m mostly concerned about auditing the factories for environmental and human rights metrics, and was impressed.

I’ll freely admit that this trip wasn’t the easiest thing in the world for me: it was exhausting, I missed home, modbot, exercise, and fresh air.  But it was productive for Modular Robotics, and we made some decisions on the ground that will strongly influence our next few years.  I’m glad I sucked it up and went myself: Modular Robotics is having a greater and greater impact in the world, and I feel like I need to understand that firsthand.  But it’s really good to be home.

IMG_4272
Connie, KL, Mickey, Dave, me, and Patrick at Jetta
IMG_3084
Dan, me, Dave, Sharen, and Carrie at Kin Yat.

Want to hear something amusing?  I flew thousands of miles around the world on a tightly planned and critical business trip, and I spaced and left my laptop at home.  Like a moron.  Early the morning that I left, I was all packed and ready, and I pulled out my MacBook to send a couple of emails.  I was hoping for a quick response on one of them, so I left the machine open on the dining table, took a shower, and then grabbed my bag and left for the airport.  I realized my mistake while I was standing in the security line at DIA.  There wasn’t anything I could do about it, so luckily my brain mostly skipped panic and went straight to resignation: “maybe it’ll do me good to get out from behind that thing for a week.”  Maybe it did.

Join the Conversation  0 Comments

What’s that, you say? The Elves in production are planning a coup? No, right now the elves appear to be happily building robots, listening to the Allman Brothers, and drinking coffee out of the new sippy cups we got in an attempt to reduce spills on the assembly line.

No, by COO, I mean Chief Operations Officer. We’re looking to hire the absolute best most amazing Chief Operations Officer alive. A what? A COO. Someone to run day-to-day operations at Modular Robotics. A description of the role from our little Roles and Responsibilities document:

The COO is responsible for managing day-to-day operations according to annual and quarterly projections. While the CEO sets the overall strategy, the COO carries it out and leads the directors of the Sales, Production, IT, Facilities, and Shipping teams to formulate their plans and execute on them. The COO is responsible for many metrics including margin, efficiency, production volume, and sales results across direct, reseller, and education channels.

This is a completely new position – we’re not replacing anyone, we’re creating the position from scratch. I’d like to tell you why.

Almost every week for the last six or eight years, I’ve been drawing this little chart in my notebook.

quadrant chart

It’s a quadrant chart. I draw it and then work through what I did in the prior week putting little labeled dots into the quadrants. There, I spilled the beans. That little quadrant chart is my secret to productivity and happiness. No, really! As modbot has grown from 2 to 100 people, my job has changed a lot. When we were first getting started, I noticed I kept putting Accounting and Supply Chain tasks into the lower-left quadrant, so those positions were our first two hires and my chart changed dramatically the next week.

These days, the things that fall into my lower left quadrant all have to do with day-to-day management. I’m not very good at it, apparently (we still can’t make nearly enough tiny robots to satisfy demand) and I don’t particularly enjoy it. The worst part is that lately, I’ve spent all of my time working on operational matters because I suck at it and we’re not meeting our day-to-day, month-to-month production volume goals. Since I’ve been spending so much time working on the machine that is modbot, I haven’t focused much on where the machine is going: strategy, communication, financing, R&D, our tiny robot roadmap, and all of the other things that inhabit my upper-right quadrant. So: compounding negative returns = time for a change.

The notion that maybe I should find someone else to be modbot’s CEO has occurred to me. Maybe I was OK at the job for the first few years but modbot needs somebody different for the next few? My friend Nathan is doing this right now, and seeing him so excited to return to designing stuff, instead of managing stuff, induces a twinge of envy. I even brought it up with our Board of Directors, who counseled that I was probably the best person to lead the company, but that I might consider a strategic hire to take on some serious responsibility so that I can spend some more time in my upper right quadrant.

Many companies don’t have COOs. But Modular Robotics is an operationally intensive business. The processes and systems involved in making thousands and thousands of tiny robots are complex, serious, and demand focus and experience. So we’re looking for someone amazing. Somebody who has led a hardware company from millions per year to tens of millions. Somebody who I can completely trust to manage toward metrics and grow our operations while I focus on the other half. Wait, which other half?

Can we look at charts for a minute? Thanks. I really love charts. Here’s the first version of our org chart that I made with a COO added into the mix.

next modbot org with COO anon - New Page (1)

That org chart isn’t totally satisfying. It puts a COO in charge of Manufacturing, Sales, Finance, and Tech Ops, and puts me in charge of the rest: Engineering and Marketing. But it strikes me that the distinction between the two halves is not arbitrary, that it’s meaningful. The Operations half is running the machine, the other half, which figures out where the machine is going, is the Design half. Engineering designs products, Marketing designs media and materials, and our Product teams design experiences and educational activities. I like to consider these as tags, not as categories, because complex systems like Modular Robotics don’t map very well to getting put in little boxes, but here’s a second stab at our org chart where Design is green and Ops is blue.

next modbot org with design-ops - New Page (1)

I like this view. It’s a more helpful framework for me to think about the complex system that is modbot than a traditional business hierarchy (probably because I’m a designer, not a MBA). But it implies something inaccurate, which is that the heirarchy effectively isolates different tree branches. Sales goes up through COO but Marketing goes up through CEO. Sales and Marketing, in reality, work extremely closely together, but the chart makes it look otherwise. So I made one more attempt.

next modbot org with design-ops anon mix - New Page

Perfect, right? OK, maybe the previous one is easier to understand. Where were we? Right, the COO position. It’s taken me a while to figure this out. I’ve read, I’ve journaled, and I’ve talked with a bunch of other CEOs, our investors, and my mentors. I particularly liked this article that identified four major failure patterns in the COO role. We’ve got the right reason, the right time, now we need to find the right person and make sure we have the right support structures in place. This isn’t a role that we’ll post an ad on craigslist for, in fact, I’m not even going to put up a normal job posting for it. Are you the right person? Do you know the right person? Drop me a note!

Join the Conversation  4 Comments

So awesome. Remember a couple of months ago I wrote about playing around with flow-based programming in Pd? Well now, Miller Puckette, designer of the language (and of MaxMSP) is coming to Boulder to teach a month-long Summer course on interactive programming and digital music technology.

Miller Puckette
Miller. Photo from: http://pd-la.info/2011/05/thank-you/

 

The course starts the day after tomorrow and runs until August 7.  I feel a little envious: I wish I could join it somehow, but it’d be impossible with my travel schedule.

I’m proud of Mark Gross.  He’s the co-founder of Modular Robotics, you know, but for the last couple of years he’s been leading the ATLAS Institute at the University of Colorado just down the street from us.  All indicators (like this fact that this course exists, for instance) show that Mark is enjoying great success transforming ATLAS into a world-class program.

Join the Conversation  0 Comments

Alicia Gibb’s new book, Building Open Source Hardware, is awesome. It’s filled with interviews, case studies, discussions of licensing and manufacturing, and practical information about taking a project from idea to product.  If you’re interested in open hardware, you’ll want a copy.

I contributed a little piece to the book about FARKUS, the open source manufacturing robotics platform that we’re working on.  You can read it here while you’re waiting for your copy of the book to arrive!

13220-01

Join the Conversation  0 Comments

Do people on the internet bring you down?  It happens to me a lot.  I’ll read an article, and before I know it, my eyes will have wandered down into the comments, and I start to get upset with trolls, upset about how intolerant some people seem to be.  Upset with our education system, upset with stupidity, and even a little upset with there, their, and they’re.  Often upset about an oversimplification of complex things.  I try not to let this stuff get to me, but sometimes it’s hard, especially first thing in the morning.  I just don’t want to hear what random people on the internet have to say.

Shut Up   Chrome Web Store

So I use Shut Up, which is a lovely lightweight Chrome extension that removes all comments from web pages: YouTube, the Daily Camera (it’s our local Boulder, CO paper and has the worst comments ever), the Radavist (apparently I like pretty bicycles more than I like other people who like pretty bicycles), etc..  Shut Up misses a couple of sites and isn’t perfect, but it’s free.  Maybe you’ll find that it has a place in your life too.

It strikes me that this may seem antisocial.  Facebook’s article last week about “echo chambers” has made me a little more aware of the possibility of over-curating our inputs.  But eschewing web comments is not the same as reducing diversity, it’s reducing the volume of input from the whole diverse internet.  Toward what seems like, for me, a much more manageable flow.

Don’t worry, I haven’t forgotten about tiny robots.  Next Level Cubelets Part II soon!

Join the Conversation  0 Comments

I flew to Atlanta last week to give a talk at Mailchimp. Know them? If you don’t send emails to big groups of people, you probably wouldn’t, but if you do, you definitely do. Mailchimp is a mass-email service, but it’s wrapped in a cutesy, web 2.0 B2C-style design. They have millions of clients — we use them at modbot to send newsletters. If you’ve subscribed to get email updates for blog posts, look at the bottom of this email! Sent by Mailchimp.

I try pretty hard to ignore invitations that don’t appear to have a direct benefit for Modular Robotics. After all, there’s always a lot to do at the new shop. But the people at Mailchimp are totally awesome, and they offered to take me to dinner at Empire State South. So, 18 hours in Atlanta. Turns out it was completely worth it. For a SaaS company, the chimps there do a lot of playing in hardware. I got a great demo of the Freddie Mercury Project hardware in which they sent email from the stratosphere with a stuffed monkey. Etcetera.

Anyway, I talked about tiny robots and manufacturing and complexity. And also a little about evolution and faith, because why not? The slides from my talk definitely don’t stand alone as a presentation (if you weren’t there, you won’t get it) but for the archives, here they are (55MB PDF).

2015_mailchimp

Join the Conversation  0 Comments

What’s a robot?  Our working definition is that it’s a machine that Senses, Thinks, and Acts.  Cubelets and MOSS are pretty primitive robots; if you prefer Sense, Plan, Act, they probably won’t be offended.

Anyway, each Cubelet falls into one of the Sense, Think, or Act categories, and one of the main reasons that they seem primitive (compared to a mouse, say), is that they fundamentally work together based on simple, linear, one-to-one relationships.  Snap a Distance Sensor onto a Drive block, and the more the distance sensor detects, the faster the motor goes.  The less, the slower.  All of the Sense and Act Cubelets output basically linear values (or actions) based on their inputs:

linear

A linear, monotonic relationship like this makes simple, perfect, robotty sense, but doesn’t have a lot in common with the messy, biological irregularities and discontinuities that we find in systems that look alive.  What if we try something that’s not monotonic: a function that doubles back on itself.  How about an easy piecewise function that makes a triangle: y=x for x<0.5 and y=1-x for x>0.5.  At Wolfram Alpha, we can plot it like this:  Plot[Piecewise[{{x, x<0.5}, {1-x, x>0.5}}], {x, 0, 1}]

I used Cubelets Studio and a Bluetooth Cubelet to reprogram a Knob block to apply this transformation to any data that flows through it.  Then I added a Bar Graph so that I could see what was going on and got this:

Which is exactly right, but I want to use the full range of the bar graph, so I’ll make my triangle wave twice as tall by adding a simple 2x.  It works, and I know you can picture a full bar graph response so I’m not going to bother with a video.  Here’s the code:

  void loop()
  {
     int temp = get_knob();
     if (temp <= 127) {
        block_value = 2 * temp;
     } else {
        block_value = 2 * (255 - temp);
     }
  }

OK.  Now I’m going to switch it up a bit and flash (almost) the same code into a Distance sensor (swapping get_distance() for get_knob()) and build a little mobile robot.  It’s a differential drive robot with the modified Distance sensor controlling one motor, and a stock Knob controlling the other for easy tuning.  The Passive block is just for balance.

Hm!  This little robot looks like it’s attracted to the box but also careful to keep its distance.  Is it “thinking”?  Is it “intelligent”?  Maybe not, but it seems like we’re getting a little closer to intelligence here than we can do with a robot made out of stock Cubelets….

Join the Conversation  0 Comments