Embedded

View Original

393: Don't Drive My Baby Off the Table

Transcript from 393: Don't Drive My Baby Off the Table with Carlotta Berry, Elecia White, and Christopher White.

EW (00:06):

Welcome to Embedded. I am Elecia White, alongside Christopher White. Our guest this week is Professor Carlotta Berry, and we're going to talk about mechatronics.

CW (00:18):

Such a great word. Hi, Carlotta. Welcome.

CB (00:21):

Hi, thanks for having me.

EW (00:23):

Could you tell us about yourself as if it was the first day of school and you were introducing yourself in a class?

CB (00:31):

Absolutely. I teach college, so I will assume that is the age range we're considering. I am Carlotta Berry, and I'm a professor of electrical and computer engineering as well as robotics at Rose-Hulman. Because I teach robotics, I actually am more than just the electrical and computer engineering professor.

CB (00:47):

I also teach students in computer science, software engineering, mechanical engineering, as well as electrical and computer engineering, and also biomedical engineers. One of the greatest things about robotics is that it's multidisciplinary, so it's a great way for showing connections between disciplines.

EW (01:06):

Cool. I have a few lightning round questions, where we ask you short questions, and we want short answers. And if we're behaving ourselves, we won't say "Why," and, "How," and, "Can you give us a whole lecture on that?"

CB (01:18):

Okay.

CW (01:20):

Favorite fictional robot?

CB (01:22):

I think I'm going to say WALL-E.

EW (01:25):

What's your favorite closed-loop control mechanism? PID? State space? Fuzzy logic? Something else?

CB (01:32):

PD.

CW (01:34):

Which is more fun, mecha or tronics?

CB (01:37):

Tronics.

EW (01:40):

Is there a particular microcontroller you use in your courses?

CB (01:44):

Arduino Mega.

CW (01:47):

What's your favorite microcontroller board when working with kids?

CB (01:51):

Arduino Uno, SparkFun RedBoard.

EW (01:54):

Do you have a tip everyone should know?

CB (01:58):

Robots are cool.

EW (02:01):

I don't think that's much of a secret at all. You teach at Rose-Hulman Institute of Technology, which is an odd sort of school coming from someone who went to Harvey Mudd. Could you describe Rose-Hulman?

CB (02:18):

Oh, I didn't know we had a Harvey Mudd alum on the line.

EW (02:21):

Both.

CB (02:21):

Rose-Hulman likes to think of Harvey Mudd as their primary competitor. So Rose-Hulman is a small undergraduate engineering school in Terre Haute, Indiana, which a lot of people have never heard of.

CB (02:32):

It's only famous because of Indiana State, and Larry Bird attended Indiana State, and also because the federal penitentiary is in Terre Haute. And we're unique because our highest degree is a master's, and we have actually very few master's degrees. Most of them are course-based.

CB (02:48):

So we really focus on student-centered teaching and learning. I like to say, as a student who went to Georgia Tech, that Rose-Hulman is very similar to Georgia Tech, except all of the courses are taught by the professors, not by teaching assistants. And the professors actually hold office hours and engage with the students.

EW (03:08):

I mean, that sounds like college to us.

CW (03:10):

That sounds very similar to Mudd.

EW (03:13):

Does Rose-Hulman still use the Rube Goldberg cartoons as the recruiting brochures?

CB (03:20):

They actually do not. They don't really use "Ski Terre Haute" either. And it's so funny, because that is the second time I've been asked about the Rube Goldberg cartoons in the past two weeks. It sounds like they probably need to bring them back.

EW (03:34):

We had someone who said that that was a favorite in the high school they went to.

CB (03:39):

Yeah...That one and "Ski Terre Haute" are extremely popular, or were back in, I guess, the '80s and '90s. Because that was the running joke, is you couldn't ski in Terre Haute, but there you go.

CB (03:51):

There's also some with Legos that we've heard were very popular, where some students said, "Oh, this is the place for me. They actually put Legos on the brochure."

EW (03:59):

Okay. So work-wise, how is mechatronics different from robotics?

CB (04:05):

So uniquely, in our robotics minor, we have both. I teach robotics, and my colleague teaches mechatronics.

CB (04:11):

Robotics...has more of a focus on controls, as well as the actual robot, and how to design controllers, or a control architecture for the robot, whereas mechatronics focuses more on the microcontroller, and creating projects and systems that integrate science, planning, and acting, which we know are also part of a robotics control architecture.

CB (04:33):

So I would like to say mechatronics is everything you would need except the robot, right? So you can actually look at just designing a system that makes decisions based upon a sensor perception to act upon the world, where that acting on the world may not involve grippers, may not involve wheels on a mobile robot.

CB (04:51):

But you're still just looking at the integration of electronics, mechanical devices, hardware, software, et cetera.

EW (04:59):

How do you define a robot? Does it have to be something that moves on its own?

CB (05:05):

No, I've gone back and forth with colleagues about this. And I think they've now won me over to their side. You can have a completely remote control robot, and it would still be called a robot. I used to call it a radio-controlled car.

CB (05:17):

And I think the difference is, is that if you're controlling it remotely, but it is still able to do at least something on its own, it could be considered a robot. For example, a radio-controlled car, you may push the buttons, it drives, you don't push anything on your controller, it stops.

CB (05:32):

But maybe there are buttons on a remote control to switch the robot into obstacle avoidance, or wall following, or heat seeking, et cetera. So you can have a fully remote control robot as long as it has even a minimal level of intelligence.

EW (05:47):

Okay. And so the mechatronics also has intelligence or less so?

CB (05:51):

They do. They do. It just won't have a robot, right? Mechatronics, it's funny. Because this is also another kind of dicey slope that you're skating on here, is there's a debate about what came first, the chicken or the egg, mechatronics or robotics, and what's the difference?

EW (06:08):

Yes, exactly.

CB (06:08):

So the way that I distinguish the two is that robotics is mechatronics with a robot, if that makes sense.

EW (06:17):

No.

CB (06:17):

So you can have -

CW (06:18):

Well, I think maybe mechatronics are subsystems, maybe, it that -

CB (06:23):

Yes.

CW (06:23):

Is that a way to put it?

CB (06:23):

That could be a way to think about it. Yes.

EW (06:25):

Okay.

CB (06:25):

So the mechatronics would have a microcontroller. It would have sensors. It would have software so that it could have a plan to act on something. The way it does that does not have to involve a robot though. So let me give you an example. A mechatronics project or a student in a mechatronics class could make a pinball machine, right?

CW (06:46):

Yeah.

CB (06:46):

A pinball machine does not have a robot. But it would have all the qualities and features for a mechatronic system, including something to sense when the ball is released, something to make the system act a certain way if the ball hits some of the little rings inside of the pinball machine.

CB (07:01):

So a mechatronic system still has sensing, planning and acting, but it's not a robot. Does that make sense?

EW (07:08):

Yes. That makes sense now.

CB (07:10):

Okay.

EW (07:11):

So mechatronics is robotics without actuation.

CB (07:14):

And this is just my opinion. I know somebody would disagree with me, because like I said, in our field, this is one of those things that people debate.

EW (07:20):

Oh, yeah. Robot or not. It's a question.

CB (07:23):

Yes, absolutely.

EW (07:25):

You wrote a book, "Mobile Robotics for Multidisciplinary Study."

CB (07:30):

Yes.

EW (07:32):

I guess asking you what that's about is kind of redundant?

CB (07:36):

No. You can ask.

EW (07:37):

Because the title's pretty explanatory, but yes. What is this book about?

CB (07:42):

I think if I give you my motivation, it tells you what the book is about. So because robotics is exciting for people from 9 to 99, you can find content about robotics everywhere. YouTube, videos, TikTok, you name it.

CB (07:57):

So the challenge I had when I started teaching robotics is I could not find a textbook for my students at the appropriate level. I could find K-12 books on robotics, on Legos, FIRST LEGO League, FIRST Robotics, VEX, Botball, but that was too juvenile for my students.

CB (08:14):

I could find graduate level textbooks on robotics, such as by Maja Mataric, Robin Murphy, some of the rock stars in the field, but that's graduate level robotics. Those are the books I read for my PhD. I could not find much that fell in the middle. It was either too easy or too hard. It's kind of like Goldilocks in the bed.

CB (08:34):

So that's why I created the book, because I really needed a textbook for my students. So I took my course notes that I had cobbled together from many years of using five different textbooks and created a textbook that was not tied to any certain software, any certain hardware, or any certain discipline.

CB (08:53):

So it's a book that basically touches on at a high level so that people from different walks of life can understand it.

EW (08:59):

Yes...I like that. I like the "not tied to anything."

CB (09:06):

Right. It's kind of strange, but that's exactly what my motivation was.

EW (09:09):

I wrote a book about making embedded systems and several times was questioned quite specifically from my editor about, "What do you mean you're not going to have an example platform?" And I'm like, "All the platforms are example platforms."

CB (09:23):

Yeah.

EW (09:26):

But you do talk about hardware in the book. Is this in general, like controllers, and sensors, and actuators?

CB (09:34):

Absolutely. I do. And I talk about it in such a way that, whether you choose to do it on your Arduino Uno that you got from Amazon, or you choose to do it on your $5,000 Kiva robot, or whatever it is, it would still work, right?

CB (09:51):

So because my students come from different disciplines, some of them know more about controls than others, some know more about embedded systems or mechatronics than others. I discuss everything from that standpoint of, "I will meet you where you are."

CB (10:03):

One of the other challenges I have is that my computer science and software engineering students know more programming than, let's say, my mechanical engineering students. So...I could not tie things to a certain software or hardware, because my students don't have the same prerequisite skills.

CB (10:19):

So that's not done in the book. I do that in class. I do that by putting them on teams with people from other disciplines. And by telling them, "If MATLAB is your jam, make it work in MATLAB. If Python is what you like, make it work in Python."

CB (10:31):

So that's why I keep everything general, because I don't want my robotics class to devolve into a teaching programming and hardware class.

EW (10:40):

So how do you talk about sensors without having to talk about their cost and their interfacing to controllers?

CB (10:51):

So what I do is, they all have the same robot platform. That's where our consistency comes in. And I've also changed robot platforms about five or six times, just like I changed textbooks five or six times. So now we have a modified robot that had a different controller that now has an...Arduino Mega on it.

CB (11:09):

So I do talk to them in general terms about, "You have to use analogRead to read infrared or sonar. You have to use pulse with modulation to do analog right." So at that level, we do have those discussions.

CB (11:24):

But then once they get it into the software level, because MATLAB has an Arduino Wrapper, there's a way to talk to Arduino through Python. As long as the students want to figure that out, and they're more comfortable with that other language, they can use it.

CB (11:37):

But on that specific level, I do tell them these are analog devices. These are digital devices. These you have to write to, you have to read to. But then at that point that they do that, as long as they can get it to work, I'm happy.

EW (11:50):

So to some extent, read the datasheet.

CB (11:54):

Yeah. Yeah. Students don't always like to do that though, but yeah.

EW (11:56):

No.

CW (11:59):

You mentioned you switched robot platforms a bunch. Is that due to things becoming out of date, or new things coming along, or costs, or - ?

CB (12:07):

Actually, none of the above. It was finding a way to teach students robotics at a level that I was comfortable with. When I first started, I used a PIC microcontroller, and we used MPLAB to program it.

CB (12:23):

And what I found that first year, 2007 is the first year I taught robotics, is we spent more time bit twidding and figuring out what bits had to be on, -

EW (12:31):

Yes.

CB (12:31):

- what bits had to be off, TRISA, TRISB, and the students were constantly getting confused, that by the end of that quarter, we had just gotten the robot to read sensors and be able to stop at an obstacle.

CB (12:44):

And I was like, "This is not what I want my class to be. I don't want to be down here in this level of minutiae. I want to talk from a high-level perspective of how to build a control architecture." So I changed robots so I could change microcontrollers.

CB (12:58):

So then I changed to a different microcontroller that you could actually program in...Visual C++ at the time. It didn't work for some of the other students, because they didn't know that. The ME students only had mechatronics and knew the PIC stuff...And I got tired of chasing that.

CB (13:16):

So that's why I finally just picked a robot I liked, pulled the Atmel microcontroller off of it, put Arduino on there, and that's what we used. The other benefit of doing that is Arduino is a hobbyist or a maker platform. So if I'm not right beside them, they have the little Google machine at their fingertips.

CB (13:35):

And they can Google how to read a temperature sensor in Arduino and get 50 links in five seconds. So I told them, "This is why we're changing to Arduino, because it is a maker." And at Rose-Hulman one of the quotes we have is, "This is where thinkers and tinkerers come to thrive."

CB (13:51):

Therefore, I am not the only imparter of knowledge in this classroom. If you're in here with me, you are learning on the journey with me.

CB (13:59):

I have so many examples of students teaching me how to do things with technology, as much as I've taught them, by getting something that they could now universally search online that opened their minds up to be able to be independent researchers and read the datasheet.

CB (14:14):

When it was something that was very impossible or difficult for them to understand they couldn't do that. Arduino opened that up for us. I sound like a commercial. They should pay me.

EW (14:23):

Arduino, it's so easy to sound like a commercial. I mean, it's just amazing that they took this really complicated thing and they made it friendly.

CB (14:33):

Absolutely. I now do workshops for middle school kids in Arduino where they're able to get it, because we start in Tinkercad. Tinkercad now has all of the Arduino example programs in there.

CB (14:46):

So I can show them on the computer, walk them through the hardware, walk them through the software, and then take it offline and show them how to do it by hand. Couldn't be any easier.

CW (14:57):

Neat. I hadn't seen that.

CB (14:57):

Yeah. I have videos on that, by the way, on my website, if you want to see.

EW (15:02):

There is some backlash in industry against Arduino though, she says, being the major source of the backlash. Because it isn't necessarily a professional platform...How would you respond to that?

CB (15:22):

So, interestingly enough, I have a colleague who teaches embedded systems, which is a ECE.

CB (15:28):

So it's mechatronics in mechanical engineering, it's embedded systems in electrical engineering. And sometimes robotics minor students will take both and then say one is an easy A, because once you've taken one or the other, you pretty much know everything. My colleague in embedded systems taught freshmen design with us one year.

CB (15:43):

We use Arduino Unos in freshmen design on either a Parallax Boe-Bot or on a TI LaunchPad robot. He did not like the class, because he felt like we were teaching the students bad habits.

CB (15:56):

And he felt like we were teaching them bad habits because when you use SparkFun Inventor's Kit sample code, it is not commented and organized the way you would want somebody in embedded systems to do so. Well, me being an electrical engineer, I don't know the proper way to do embedded systems coding.

CB (16:12):

But what I do know is that we were able to get some first quarter freshmen programming robots, some of whom had never programmed before in their life and get them excited about their major. A freshman year in engineering is typically chemistry, calculus, physics, English, you name it.

CB (16:29):

And the students change majors and go, "I don't like any of this. This is not what I thought this was." Well, this is not your major. This is the foundation for your major. So we've now pushed down some of that technical content into the first quarter of the freshman year to get their minds on and hands on excited about their major.

CB (16:45):

And we could not do that if it were not for things like SparkFun and Arduino, right? Because yeah, you're right. Maybe I'm not teaching them the textbook formal way for doing embedded systems.

CB (16:59):

But I think they would have gotten so lost in the bit twidding and the, "What's the proper way to do this, that, and the other," that they would lose out on those little bits of success that I needed them to have to want to stay in our major. Because they look at physics and calculus and go, "I hate this. I don't want to be an engineer."

EW (17:15):

Can we be best friends?

CB (17:18):

Yeah. Oh, thank you. Yeah. I think physics and calculus are important. Please don't hear me wrong. But I think you sometimes have got to backdoor them into physics and calculus.

CB (17:26):

I will tell them, "Make the robot drive, no encoder or no feedback. Why didn't it stop at 12 inches? Let's talk about odometry error. Let's talk about wheel slippage." So you can still get that theory in there, but do it once they care.

CW (17:39):

...Yeah. That's the way...I have no comments.

EW (17:43):

I feel like either the chorus, or that I have have given exactly what you said as part of some other podcast, or talk, or something. Because I mean, you're entirely right. We start with bit twiddling, which is super fun once you're good at it, -

CW (18:05):

No, it isn't.

EW (18:05):

- but why would you start there?

CW (18:05):

No, it's not. No, it's not. I've made so many mistakes bit twiddling in the last two weeks that I -

EW (18:08):

Why don't you bring it to me? You know how much I enjoy it.

CB (18:11):

Well, this is what we've done now. So we changed our freshmen design class so that it uses the TI MSP430, which they need for their microcontrollers course. And they did this because the professor that taught microcontrollers was like, "They're drowning when they get to me."

CB (18:28):

So now, although the programming platform, it's called Energia, it looks very similar to Arduino sketch IDE, they're now getting some success in the MSP430.

CB (18:40):

So that now when they get to microcontrollers, and they start the bit twiddling and all that, you can now say, "You have a scaffold. I can scaffold your knowledge on what you did in that other class."

CB (18:49):

So now hopefully you have a little bit more meaning, and maybe you don't make as many twiddle mistakes, because you now understand a little bit more, right, about how this thing works and what it does when it's successful.

EW (19:01):

And because they have seen other ways to put together the bit twiddling, -

CB (19:05):

Yeah.

EW (19:06):

- like structures where you can have the dot structures -

CW (19:11):

Bit fields.

EW (19:11):

Bit fields.

CB (19:12):

This is what I needed...One thing I didn't share with you is, one of the reasons I wanted to teach robotics is, when I was a student at Georgia Tech, I took a robotics course, and I'll never forget. They said "The robots are too expensive for the undergrads to touch. So we're going to let you guys write your software."

CB (19:28):

"But then the day when you are ready to do your project, you're going to stand behind a glass shield. And the grad student will upload your code. And we'll see if it works correctly."

CW (19:38):

Excuse me?

EW (19:39):

That's awful.

CB (19:39):

Exsqueeze me, right? I was like, "What kind of robotics class doesn't let the students touch the robot?" So that was another reason why I design my courses in Arduino and things like that. Because they take the robot home. It's their robot baby. That's what I tell them. Don't drive my baby off the table.

CB (19:53):

And you keep it for the quarter so that you can tinker. I don't want you to break it, because we don't have a money tree over here. But some real learning happens by being able to go, "What happens if I flip the switch? What happens if the battery runs low, and I did a pure odometry program, and now nothing works correctly anymore?"

CB (20:09):

Well, the power change, think about that. This is another thing I do with the computer science and software engineering students. Stop writing these big, huge programs to do this stuff that I'm asking you to do. The microcontroller is not going to fit that, right?

CB (20:23):

So those kinds of things you don't see in simulation, because I know some people teach robotics purely in simulation. And some of those things you can't appreciate if you never got to touch the robot. Sorry, I'm preaching.

CW (20:33):

No, this is fantastic.

EW (20:35):

No, this is great. But you mentioned simulation, and one of the ways I got connected to you was a discussion about robot operating system, ROS.

CB (20:44):

Yes, yes, yes.

EW (20:45):

Do you use it much? I got the idea you didn't really.

CB (20:48):

You got the idea, right. So let me tell you my history with ROS. I'm an electrical engineer by training. I was never formally trained in software really hardly at all. So I learned software as needed, which means I'm a trial and error,...seat of my pants kind of coder.

CB (21:10):

So when my students wanted to do ROS, I was like, "Well, let's do ROS." I never figured out ROS, I'll be honest. So one of the things I've done through Black in Robotics is, we've started offering some ROS workshops. And that was my way of doing a sneak attack so I could learn it.

CB (21:25):

So we did multiple virtual ROS robotics workshops over the summer online, and I was the facilitator. I still only know about 50% ROS, I'm not going to lie.

CB (21:34):

But this is what I have now done to make myself learn ROS, I've partnered with Hadabot, which is a company that has made a low-cost ROS-enabled robot, to offer an advanced robotics course that uses ROS, which is going to force me to learn ROS by March. So if I come back again, hopefully after March, I will know ROS.

EW (21:54):

I like ROS, but it's not for everybody. It has a really great simulation system. I mean, if you were in a position where you cannot touch the robot, because it is too expensive -

CB (22:10):

Right.

EW (22:10):

- ROS does give students the ability to learn kinematics and movement through odometry and what those things mean without doing it just theoretically. At least there's a simulator. And if you do the simulator right, your robot can totally fall apart, which is hilarious.

CB (22:30):

I've also recently learned, a lot of companies reached out to me through our social media engagement, that there is a ROS wrapper from MATLAB. MATLAB is really popular among EE and ME students.

CB (22:42):

So I think that would be another way to get them introduced to that. Because my PhD was actually on human robot interaction and human robot interfaces.

CB (22:49):

So one thing I would love to see someday is the simulator and a human robot interface that talks to the real robot where you compare, right, where maybe you design your algorithms in the simulator first, because of course my students do the trial and error coding that I'm so proud of, but I don't want them to do.

CB (23:06):

But if they could have a simulator where they have to create an algorithm, or a software plan, or flowchart, or state diagram first, you show me it's working in the simulator with all of your models, sensors, odometer, et cetera.

CB (23:19):

And then we put the robot on the floor and see how well reality matches to mathematical modeling. I would love to do that someday.

EW (23:26):

I did. I did this little arm robot. It was super cheap, $50 arm robot. And I wanted to see if good software could make up for bad mechanics.

CB (23:40):

Right.

EW (23:40):

And I actually got it modeled in Gazebo in ROS, and it was all working. And I could show where a kinematic move would do this and a direct line move would do that. And it was really cool, except one of my linkages was wrong in the ROS robot description file.

EW (24:04):

So at some point through the video where I was taking it, this works, this works, this works, at some point, it just goes nuts. Because that's not how the shoulder joint really worked.

CB (24:14):

Right.

EW (24:14):

And so it would move. And then it wouldn't know how to move to the next bit, because that was a blank space that didn't exist in the robot world. Yes, that was such a fun dichotomy of using ROS and understanding the limitations. I mean, that's a limitation of my ability to write those URDF files, but still.

CB (24:39):

That's exactly what I want to do with my students. And that may not happen. That's why I'm designing an advanced robotics course. I think at the introductory level, that's a bit much. I think ROS in the introductory level is also a bit much.

EW (24:50):

Oh, yeah. No. Totally.

CB (24:50):

But I would like to get it out of the graduate student realm and into undergrads, which would be appropriate for Rose-Hulman, because we do have a lot of robotics minor students who go on to graduate school at Carnegie Mellon, Georgia Tech, Stanford, et cetera.

CB (25:04):

So if I can get them a leg up by giving them at least a basic introduction to ROS before they leave undergrad, that puts them a little bit ahead in grad school, in my opinion, anyway, but also having to show that comparison because also a lot of our students learn how to design a controller in MATLAB.

CB (25:21):

And it's completely occluded what they understand about control systems so that they have no connection between that and what they do on the robot. And by having that software connection, I can also make closer ties.

CB (25:32):

Because right now, if I say design a PD controller to do wall following on the robot, they're completely lost. They can't tie it back to any of the theory they learned in their controls course where all their labs were in MATLAB.

EW (25:45):

It's really hard because you learned the PD controller, and...you do the Bode plots and the Zeigler-Nichols thing -

CB (25:55):

And the Laplace transforms... -

EW (25:55):

You do all that. And then you get a robot, and you know where you want it to go.

CW (26:00):

Where do I put the Bode plot on the robot?

EW (26:02):

Exactly.

CB (26:02):

Right, right. Yeah.

EW (26:05):

And instead, you're like -

CB (26:05):

No, that's what they ask. That's exactly. They're like, "Well, what's the transfer function?" I don't know. Well, I don't know. I don't have a model for the motors. I don't have a model for the sensors. "Well, how do I do it?"...And to be honest, I do do the Ziegler-Nichols. I say at a very basic level, "Let's talk about proportional control."

CB (26:20):

I want the robot to follow the wall at five inches. You can't put in five inches, because it'll oscillate forever, because there's too much sensor error. I was like, "Make a dead band between four and six inches. Let's start off with on-off, bang-bang control. If the robot is four to six inches from the wall, it drives straight."

CB (26:36):

"If it gets out of that four to six inch band, I need you to make a proportional controller to do hard turns left and right. And then we slowly iterate that into proportional and then into derivative to get rid of some of the oscillations."

CB (26:48):

But they don't have any real-world understanding of that based upon the ten weeks of controls...most of them took.

EW (26:56):

I didn't. I mean, I took -

CB (26:58):

I probably didn't either. I'm not going to lie.

EW (27:00):

Gosh, I took way beyond the normal amount of signals and systems. And yet it was years in industry before I realized, "Oh, nobody does the Bode plots."

CB (27:16):

Yeah. I had the same thing. I also teach signals and systems as well as controls. And we were talking about filters. But in signals and systems class, it's all math, Fourier transforms, and plots, and all that. And I had a student say, "I don't understand what this has to do with anything." And so they'd all taken a circuits class.

CB (27:36):

So the next day, even though you don't normally do this in a single and systems class, I brought in a bunch of op amps, RLC circuits, RC circuits, and said, "This is a low-pass filter. You know what this thing is. So now this math, these signals I'm showing you, are from this thing that you built in your other class."

CB (27:55):

One thing I've always said is that I don't think the engineering curriculum does a good job of making concept maps that tie one class to the next, right?

EW (28:04):

Yeah. Yeah, yeah. Exactly. And...for me, I'm very upfront with, I love Fourier. It just makes so much more sense than linear world stuff...I like the circles. I like the waves.

CB (28:21):

Right.

EW (28:23):

But people are like, "Okay, how do you get from Fourier to filters? And how do you get from frequency domain to actually doing stuff?"

CB (28:36):

Right. Right...I taught AC circuits to non-majors. We just finished a quarter, and they were like, "Why are we now talking about complex numbers, and how did Euler get in here?" So I literally stopped talking and pointed to the outlet.

CB (28:54):

"This is why we're talking about complex numbers, because we've been on DC circuits for seven weeks. But the thing that comes from that wall right there oscillates." And they're like, "Oh."

EW (29:05):

...I mean, I know that the house wiring -

CB (29:08):

Where did the "j" come from, right?

EW (29:08):

- is very complex, but I didn't think it was a complex number with the house wiring.

CB (29:12):

Right. Yeah. I had a female student tell me once, "The day you put those "j"s on the board was the day I changed to mechanical engineering. And she's actually a working engineer now. She is a mentor for a FIRST Robotics team.

CB (29:29):

And to this day she still brings it up. "Yep. I remember that day in class, you put the "j" on the board, I changed majors."

CW (29:34):

They still have phase in mechanical engineering. She didn't get away from it.

CB (29:37):

She probably didn't. I agree.

CW (29:40):

Just changed to "i."

CB (29:42):

Yeah.

EW (29:44):

Okay. So you mentioned PD loops, and you actually talked a little bit about how to tune them, which is something people are terrified of. Do you have a set of advice for people who are working on PD or the dreaded "I" in the PID?

CB (30:04):

Well, even though some people don't agree with it and think it's archaic, Ziegler-Nichols still works for me. I honestly have my students start with a proportional controller, and I tell them our first step is to get the robot to follow the wall like a drunken sailor.

CB (30:19):

That means it's going to oscillate a lot, but if it's consistently hugging that wall with its oscillations, we're going to do that. And then we're going to slowly add in some derivative, just enough derivative to get it kind of straight. Then what we normally do, that's normally good enough, but just in case it's not, we then add in a little integral.

CB (30:38):

The biggest mistake the students make is their numbers are normally huge, and they can never get it tuned. Once I tell them that the scale of the gains for the integral and derivative may be a multiple of ten smaller than the proportional, they can get it to work.

CB (30:51):

Because just a little bit of derivative is enough for you. I have a video where one of them is following a wall, and the robot..., it sounds like...the gears are kind of grinding. And I'm telling them "Guys, that's your derivative kicking in. That's your real-world derivative you're looking at right now."

CB (31:07):

But Ziegler-Nichols has actually been enough for me. Interestingly, I worked as a controls and automation engineer before returning to get my PhD. I never did any of this stuff. Software does this now. There is no doing this by hand. You push a button, and it's automatically tuned.

EW (31:20):

Wow.

CB (31:22):

But I do see some benefit in having them do it by hand, because it helps them to understand all that math they did in controls.

EW (31:28):

I mean, they still have to do it by hand, because you only get to push that button if you've paid for a good controller.

CB (31:35):

Yeah.

EW (31:36):

As soon as you go back to the Arduino land with motors that are not model-able -

CB (31:45):

Right.

EW (31:45):

- to put it politely, you end up having to do the PID tuning all over again, using a method.

CB (31:58):

Yeah.

EW (31:58):

Do you talk about sampling rate and PID at the same time? That has been a concept I've had a lot of trouble conveying the importance of.

CB (32:08):

Very generally. And this is what I tell my students...Because we're talking about the microcontroller loop, "If you're sampling too much, you could deteriorate performance of the robot. If you're not sampling enough, the robot is driving eyes blind or eyes closed."

CB (32:29):

So you have to find a compromise between the two...This is something one of my students taught me actually, using the timer interrupts in the background. I used to have the students just polling the sensors periodically inside the loop.

CB (32:44):

And one of my students is the one that's like, "If you use the timer interrupt,...it'll work better." And we did that, and it did. But once again, you had to calibrate, not polling the sensors too often. Another thing I will tell them is sensors have an error as well.

CB (32:58):

So averaging data before you make a decision is good. IR and sonar have diffuse and specular and uniform reflection. So if you can, average the data. But one thing that was locking them up is they were doing a for loop of ten averages before the robot can make a decision on the IR data.

CB (33:17):

So then once again, you're controlling your sampling by doing this averaging of data. So I only talk about it in the sense of over- or under-sampling would deteriorate how the robot performs, because that affects the controller as well as the robot making decisions on now obsolete data.

EW (33:35):

Okay. So I'm going back to the table of contents for your book.

CB (33:40):

Okay.

EW (33:40):

And I think the next section was sensors?

CB (33:45):

Yes.

EW (33:47):

So you've mentioned some are analog and some are digital. I guess the first question is, do you talk much about inertial sensors?

CB (33:55):

I don't. Not in my class. I think that would be good though. They do take a follow-on robotics engineering course after mine, and I believe they have some of that in that class.

CB (34:08):

That class, they use Android iOS, and they do, I believe, some IMUs, and some GPS, and use the robots to go out into a football field and search for things, but not in my class. No.

EW (34:24):

Okay...You've mentioned encoders. What else are you talking about for essential robotics hardware for sensors?

CB (34:35):

For my class, it's infrared, sonar, photo resistors, encoders. And that is actually enough to get us through ten weeks of material, because we go from obstacle avoidance to wall following. We do Braitenberg vehicles, which is reactive control, light sensing. We do hybrid control, which is wall following.

CB (34:56):

And then they have to do some path planning to plan to a dock. And then after that, we go through and do A* and D* searches to work your way through a maze. And we do localization where the robot is in theory kidnapped and has to figure out where it is in a world. And then we do mapping.

CB (35:16):

So those range sensors, and the photo resistors, and the encoders are enough to get us through the ten weeks. Ideally, I could do some of those others, but I try to really focus on control architectures without adding on too many bells and whistles. Because just to get them there is kind of major.

CB (35:35):

Their main prerequisite for my class is controls. And a big thing I wanted to do was try to show them how controls looks like in the real world.

EW (35:43):

And you get to SLAM. You get to simultaneous localization and mapping.

CB (35:47):

I get to localization and I get to mapping. SLAM is in my dream. That's in my bucket list. So I'm now hoping to get the SLAM in the ROS course. I do have a colleague at University of Michigan who has given me an approach for doing SLAM with undergraduates, but it's done in simulation.

CB (36:05):

So he's just like, "You can use this in your class." But I now have to figure out how to make it work on the actual robot, which I've never done. But that's always been my dream, is that that class would end with SLAM. And I've had some students in theory tell me how to do it, but no one's been able to get it working.

CB (36:19):

So they either do localization and path planning, or mapping and path planning, or they can build the map and then use the map they built to localize and path plan. But they're not doing them simultaneously, if that makes sense.

EW (36:34):

Oh, yeah. Because the simultaneous part was -

CB (36:36):

That's the hard part.

EW (36:37):

It's the hard part.

CB (36:38):

That's the hard part. Right. Yeah. So I can get them to do it sequentially. Doing it all at the same time we have not quite mastered yet.

EW (36:45):

You talk about different control architectures in your book.

CB (36:48):

Yes.

EW (36:48):

Deliberative, reactive, and hybrid.

CB (36:50):

Yes.

EW (36:51):

What are those?

CB (36:52):

So deliberative control was started in the 1960s, and it was the first type of AI that was used. And it's all built upon those three robot primitives of sensing, planning, and acting. And based upon how you put those together, they define the control architecture for a robot.

CB (37:10):

So the first one was, a robot would sense something about the world, such as there's an obstacle in front of me. Then it would make a plan, such as move away from the obstacle. And then it would act, and the robot would move back from the obstacle.

CB (37:23):

In 1970, Shakey, the robot created at Stanford, I believe Stanford AI Lab, was implemented by using deliberative control. It's also called hierarchical control. The challenge people had with it is, like I just said about eyes closed execution, that by the time the robot acted out the plan, the world may have changed, right?

CB (37:47):

The obstacle may not be there anymore. Or if the obstacle's a person, the person may have walked to somewhere else. So hybrid control was good for what it was good for, but it was only appropriate if you have a very static environment that's very well-modeled and reliable.

CB (38:01):

So now the research is, hierarchical control may be good for something like a chess-playing robot or a surgical robot where you know nothing about the environment will change. So once you sense, plan, and act, everything is still where it's supposed to be.

CB (38:15):

So sometime around the '80s, Ron Arkin and Rodney Brooks created reactive control. And reactive control basically said that the world is its own best model. I don't have to have a world model in order for the robot to make decisions. So now the architecture became sense and then act, and plan was removed.

CB (38:35):

So reactive control now means, "I sense an obstacle, robot move. I don't need a plan, just hard-code in. When you sense an obstacle, move back. When you sense an obstacle turn right and drive forward." And so that's what reactive control was.

CB (38:50):

And then some years later people were like, "Well, wait a minute. We need those models back. How do I do localization, and mapping, and path planning if I don't have a model of the world?" So that's where hybrid control came in.

CB (39:02):

Hybrid control says you have a reactive layer for basic things the robot needs to do quickly, like obstacle avoidance and wall following. Then you have a deliberative layer for things that require the robot to have a mission plan, like reconnaissance, or path planning, or localization and mapping.

CB (39:20):

And then you have a arbitrator in between the two that decides how it switches back and forth. And then later on in the '90s, we got behavior-based control, which is similar to reactive and hybrid together, where now there are some behaviors that the robot can just do.

CB (39:35):

And then there are some things that need a higher level of planning. I know that was a long answer to you, but you can tell I've taught this a long time.

EW (39:43):

It was making me think about Kahneman, is that the psychologist -

CW (39:53):

Kahn - ?

EW (39:53):

- who talked about system one, and system two, and humans, and how we're very reactive for the most part. And yeah.

CB (40:02):

Yeah.

EW (40:02):

It sounds like you're building human robots.

CB (40:05):

Yeah. And how we respond to things. And some things like, "The stove is hot. I'm going to react to that and immediately just jump away." But if I'm planning my trip to McDonald's, I may hop in the car, and look for the golden arches, and turn right, and turn left.

CB (40:20):

So I'm going to have some reactive behaviors, and I'm going to have some other things that are going to require a little bit more planning. And they all have to be able to engage together. Driving the car may become a behavior at some point, because I don't have to really think hard about the car after I've done it so many times.

CB (40:35):

But as a 16-year-old, you may have to think a little bit more, because you haven't driven a car as much, right? So you need a little bit of both.

EW (40:41):

Yep. How much AI do you think should be in robots? How much AI do you get to teach to be in the robotics program?

CB (40:54):

I don't teach so much, but we actually also have an AI course. Probably the most AI I get into is when we do the path planning. We do wavefront propagation, and we do grassfire expansion, and talk about how to create a model of the robot's world on the robot, on the microcontroller.

CB (41:11):

And then the robot has to come up with the AI algorithm to use that to plan out how to get around obstacles from point A to point B. That's probably the most AI that I do in my class. And the students actually tell me it's pretty similar to what they do in their artificial intelligence class, but they do it obviously without a robot.

CB (41:27):

I think the amount of AI a robot needs to have needs to be commensurate with how much you can do without being biased and not doing things that are going to marginalize populations.

CB (41:39):

I actually do a lot of talks on this as well, in that all people have some bias, but when we develop AI technology and systems, and we are not very careful about it, sometimes that bias can sneak into our systems. And that is not a good thing.

CB (41:52):

I just did a talk about the Digidog robots that were with the police officers in New York back in February and March. And it's not that the robot dogs did anything, but because people don't totally trust police or robotics right now, it was the stigma of what it looked like, right?

CB (42:08):

So I think we have to be very careful about how much AI ends up in our robotic systems, because trust with humans is important, right? And young people obviously trust technology a lot more than maybe older people would.

EW (42:22):

Yes. Well, some of the younger people know the dangers of the privacy problems -

CB (42:30):

Right, right.

EW (42:30):

- better than the older population does.

CB (42:32):

That's true too.

EW (42:34):

...Back to your book, you actually put in Asimov's Three Laws of Robotics, -

CB (42:41):

I did.

EW (42:42):

- where the robot may not injure a human being or through inaction, allow a human being to come to harm, is the first. The second is...obey human orders except where it would conflict with the First Law. And the third is it must protect its own existence as long as it doesn't conflict with the others.

EW (43:01):

...Are these things that should get built into Robot Operating System, or are these really things that we should be discussing as humans and ethics?

CB (43:13):

I think they should be discussed as humans and ethics. Not totally sure how you're going to build them into a operating system. But...I also now share with my students there's now a Zeroth Law that has since come out about robots should not harm humanity, unless it comes in conflict with the first three laws.

CB (43:30):

But it's Zeroth Law, so I guess it would be first. But I think it has to enter into discussions, right? Not sure totally how to build it all into software.

CB (43:41):

But if you have members of the team who are having these discussions, then things won't happen like, recently, I saw there was a young man somewhere who got in trouble. Because he built a drone or unmanned air vehicle, and he put a gun on it, and he had figured out, I think, how to make the gun shoot in the woods.

CB (43:59):

I don't know if you guys saw that video on YouTube. And he honestly did not realize there was anything wrong with that. So I think we have to have these discussions with people, because I don't think you can totally make a robot law-proof.

CB (44:14):

There has to be some ethics in robotics education as well as engineering education, which is why I believe ABET has ethics as part of their accreditation criteria. Because you want to have these discussions with people who are going to be creating this technology before they create that scary thing that sends you running for the hills.

EW (44:32):

I mean, the Zeroth law was because the first three laws...didn't protect humanity as a whole.

CB (44:41):

Right, right.

EW (44:42):

And the reason it's science fiction is because these are the laws that robots follow.

CB (44:48):

Right.

EW (44:48):

But we aren't there yet. We really need to talk about humans not making robots to injure humans.

CB (44:55):

Correct. Correct. And I think also CGI, I have TikToK videos as well. And there was one, I didn't know if it was real or not. And somebody was like, "Oh, you're overreacting. It's just CGI." Well, I don't care if it is CGI. I don't want to see a CGI robot shooting people or shooting other robots.

CB (45:12):

Because then I said something about the Three Laws, and they're like, "Well, that's science fiction." Well, CGI is science fiction as well, but we don't want to give people any ideas. So how about we just not make videos of robots shooting people, right?

CB (45:24):

So I think you're right. I think the human is always going to be the cog in the machine and the decision maker. Because if you can think of these horrible things, and you want to create them, that's where it comes. It's not going to be on the robot. It's going to be on us.

EW (45:40):

Yeah.

CB (45:41):

It's kind of like if you even take the robot out, the coded bias documentary that's really big right now, the AI where it didn't recognize brown faces. I do a presentation in class about the soap dispenser that didn't recognize brown skin.

CB (45:57):

Then they had the Twitter algorithms that were taking highly pixelated images and turning them all into white men. So these things are not even robotics.

CB (46:05):

But these ethics that we discuss are things that people need to consider who are in any area of AI or STEM, where you're looking around the room and go, "Huh. Everybody in this room looks like me. Maybe I better bring in some people to do a test case on who don't look like me and make sure this thing works for them as well."

EW (46:22):

Yes, yes. And not just a test case, but bring them in and hire them permanently.

CB (46:27):

Absolutely, absolutely...There's The Algorithmic Justice League, and also Black in Robotics has some of that in their tenets, is that you bring these people into the room. You bring them in these spaces and let them do research with you to make sure that these things don't happen.

EW (46:44):

You have a company that is involved with this, right?

CB (46:48):

A little. Black in Robotics probably does more than my company. My company focuses more on diversifying STEM from the perspective of getting more non-traditional people into those areas.

CB (47:00):

So that comes through me doing outreach, doing speaking engagements, doing workshops, being an educational consultant, but trying to bring in some of those non-traditional populations. Everybody always talks about the leaky pipeline. And I always like to say, "It was not a pipeline. It's an obstacle course."

CB (47:19):

It's an obstacle course with darts, and arrows, and moats with alligators in the water. So if it was just a pipeline, we could just slap some tape over the hole and be good, but it's not a pipeline.

CB (47:30):

So you have to catch them younger and younger, and you have to find creative ways to keep them excited and interested. And what I have found is that robotics is a great way to do that. Like I said, it can be a hook and then let's talk trig later. Because trig is important, but let's get you some hands-on and minds-on success first.

CB (47:49):

I've done workshops for young people who walked in the room and said, "I'm scared of robots. I don't want to do this. And I'm like, "Where did these kids get afraid of robots?" And it's the movies.

EW (47:58):

Yeah. Of course.

CB (47:59):

Right? Stuff that's not real. So I have to sit them down and get them over that stigma and that fear first, before I can even give them any level of success to do anything.

EW (48:08):

Okay. You, you mentioned the pipeline, and I want to go back to that a little bit. Because you also mentioned, we need to engage more and robotics is definitely a way to engage more and younger students in STEM and STEAM activities. But the leaky pipeline is about maintaining it.

CB (48:29):

Yeah. Yeah. You're right. You're so right.

EW (48:32):

I see more women getting into STEM, but still falling out. And I suspect it's not just women who have the problem. It's everybody who is different.

CB (48:46):

You're right. There's a issue with self-efficacy. There's a issue with not having a sense of community and a sense of belonging. I co-founded ROSE-BUD, which is "rosebudding undergraduate diversity," which is a scholarship and professional development program with my colleague, Deborah Walter.

CB (49:03):

And our primary goal for that is, number one, we didn't see the students. And then number two, if we did see them, they were either failing out, or switching majors, or leaving the school.

CB (49:12):

And when you talk to them, some of the things that they said were, "I feel like I don't belong here. I feel like I'm not successful. I feel like I'm not doing well. I feel like I'm not getting good grades, et cetera."

CB (49:22):

And what research has found is that women and underrepresented students sometimes would have higher GPA's than some of the students who stayed when they switched. But because there had been that perception that, "I don't see anyone that looks like me, they're all smarter than me," they didn't realize it, right?

CB (49:40):

So we made this program to create these cohorts in these networking communities. I'm also the advisor for the National Society of Black Engineers, where you go and engage with other people who, if they don't look like you, they are at least invested in your success so that you know that you're not alone.

CB (49:57):

So that when you want to quit, I can say to you, "No, I failed classes too. Yes. I had to retake the class more than once sometimes." So they can go, "That doesn't mean you're not smart. That just means this stuff is hard."

CB (50:09):

This is engineering school. One reason you lose a lot of students is because they were the big fish in a small pond at their high school. They were the salutatorian, the valedictorian, then that first college calculus test hits them between the eyes. And they're like, "Obviously I was not meant for this." No, this is just engineering school.

CB (50:27):

But the good thing is that at Rose-Hulman, we're not trying to weed you out. We will help you pass. We're not failing, look to your left, look to your right, one of you won't be here in four years. We want you all here in four years. But I need to give you some tools to be successful.

CB (50:43):

When you have students who come from high schools where they didn't have to ever take a book home, they don't know how to take notes. They don't know how to go to office hours and ask for help. They feel embarrassed.

CB (50:53):

Certain professors, and I will go ahead and say it, black women and women have a lot more students who come to them.

CB (51:03):

Because I don't know if it's the mommy syndrome or what, but I have students from all over campus who will come to my office in tears, because they failed a test, or they had a male student look at them and go, "You don't know this? I knew this in high school."

CB (51:16):

So I spend a lot of my time building up students beyond academics, just to make them understand you belong here. You can be successful, and you can do this. And that is just as important as, "I know how to integrate and take a derivative."

EW (51:32):

It's hard to keep doing that in industry, which is another place where the obstacle course gets hard again -

CB (51:38):

Yeah. Right.

EW (51:38):

- or the pipeline leaks.

CB (51:41):

Right.

EW (51:41):

Because again, it's a matter of, "I don't see anybody near me...looking like me, doing what I'm doing. So I don't have a yard stick to judge myself against."

CB (51:54):

It was. I finally got through Georgia Tech. I dodged all those daggers, and bullets, and the moat. And then I got to Ford Motor Company as a controls engineer. And there was a black woman who was a little bit ahead of me.

CB (52:06):

And there was another woman, but they were so busy trying to keep their career above water, that they didn't have time to mentor me. And I like to say that that mentorship and that allyship is key, but you're exactly right.

CB (52:17):

I went all the way back to feeling like I did not belong, having my credentials questioned, having my ability questioned. And it was just kind of like, "Oh, my God. Why did I kill myself to get here just to be here, right?" I completely agree with you.

EW (52:33):

Did that drive you back to academia, or did that inspire you to make more people who could go into industry?

CB (52:43):

It did both. I actually graduated from Georgia Tech knowing I wanted to get my PhD, but I had a whole bunch of student loans and a horrible GPA. So I needed to go work and get out of debt, and I needed to do something to get my GPA up.

CB (52:56):

So I went to night school while I worked at Ford to get my master's degree at Wayne State, which is in downtown Detroit.

CB (53:03):

And I used that to get my GPA up. But I also worked as a mentor for K-12 kids in a program called DAPCEP, Detroit area pre-college engineering program. Because I always had that heart and desire to be an educator and a teacher.

CB (53:16):

So even as I was working as an engineer at Ford Motor Company, I still found myself mentoring the interns, mentoring the high school students, and talking to some of my colleagues about, "Even though I'm here working as an engineer and getting this experience, I'm going back to be an educator someday."

CB (53:32):

Because that's where my heart is, right? I wanted to be a high school math teacher before I decided to become an engineer. So that was always in me. And maybe that's one reason why my colleagues and the comments they made bothered me so much, because I knew I wasn't really walking out what I should be doing.

EW (53:51):

So NoireSTEMinist, is that your company?

CB (53:55):

Yes, it is.

EW (53:57):

What should people contact you for if they want advice on things?

CB (54:01):

Okay. I have created videos for organizations. I have created workshops for organizations. I've done brief seminars. I've done speaking engagements, and that's for all ages. I've done it for adults. I've done it for companies, schools, summer programs, summer camps.

CB (54:19):

A lot of them have been virtual...because of the pandemic, but if we ever can get back out and travel, I also can do face-to-face events, hands-on workshops that I can design based upon the skill level of the students. I've also done some for college students, students who are at schools that may not have a strong STEM program.

CB (54:40):

So those are the things I do. I actually just recently got asked to even do some educational consulting on a K-5 STEM curriculum. So I'm basically everything robotics and STEM.

EW (54:53):

Excellent. Christopher, do you have any questions?

CW (54:56):

Yeah, we've talked about it some. But I kind of like to ask educators,...a group of students come through, and then...a new group of students come through, and you teach them the material you have together for them, but is there something you'd like your students to take away from your courses?

CW (55:16):

Sort of a primary thing that maybe isn't necessarily just the course materials, or something you try to instill in your students that they can take away to future work?

CB (55:27):

Absolutely. This is going to sound a little weird, but I like them to take away that I look like an engineer. So at Rose-Hulman, I am the only black woman faculty member on campus. So that means I'm the only black woman engineer, only black woman professor. There are a few staff members who are black women.

CB (55:47):

So Rose-Hulman only became coed in 1995. And we only hit about 20 to 25% women in the past five years. So unlike Harvey Mudd, there's a major diversity problem at Rose-Hulman. So when I first got there teaching 70% white males, I dealt with a little bit, let me just leave it like that.

CB (56:09):

So what I like my students to take away is I look like an engineer, and I look like the authority figure in the room, because a lot of them have probably never interacted with a black woman with a PhD, a black woman academic, or a woman who is an authority figure.

CB (56:24):

The other thing I like them to take away is I don't act like your textbook engineer. I break the mold. I am extremely personable, warm, friendly, silly, lots of things. I watch reality TV. I am a Scicommer on social media. So I want them to see me as an engineer, and as their professor, and that I am not Sheldon. I am not Dilbert.

CB (56:51):

But you have to diversify your mind in what an engineer and an academic look like. And none of that has to do with what I'm teaching them. But that's what I want them to take away. And that's what I want them to hold on to.

CW (57:03):

Awesome.

EW (57:03):

Carlotta, do you have any thoughts you'd like to leave us with?

CB (57:07):

I do. I just really want to encourage everyone to follow the Black in X movement on all social media. I am co-founder of Black in Robotics and Black in Engineering.

CB (57:17):

And they both have a mission to promote anti-racism in institutions, in particular STEM institutions, to eliminate bias in technologies, such as in artificial intelligence, and promote having diverse populations in those rooms to help to design those systems that are going to impact us all.

EW (57:36):

Our guest has been Carlotta Berry, Professor at Rose-Hulman Institute of Technology. She is the Lawrence J. Giacoletto Endowed Chair, and Professor of Electrical and Computer Engineering.

CW (57:50):

Thanks, Carlotta.

CB (57:52):

Thank you. Thank you for having me.

EW (57:54):

Thank you to Christopher for producing and co-hosting. Thank you to our Patreon listener Slack group for questions, especially Scott and Nathan. You can join the Patreon listener Slack group. And of course, thank you for listening. You can always contact us at show@embedded.fm, or hit the contact link on embedded.fm.

EW (58:13):

And now a quote to leave you with, from Mae Jemison. "Never be limited by other people's limited imaginations."