Evaluating the Lego Mindstorms EV3 as a tool for investigating PCT

[From Bruce Abbott (2018.02.21.1435 EST)]

I’ve posted several times exploring how useful the Lego EV3 system might be for learning the mechanics of control and for investigating PCT in a real-world setting as opposed to simulations. The most common response on CSGnet to this series has been ---- nothing. The lack of commentary has me wondering whether anyone is actually interested in this topic – it’s hard to tell when a forum devoted to perceptual control systems ironically provides no feedback to the poster. The information provided may be appreciated (by some at least) but thought not to require comment, I suppose, but without it I have no way of knowing.

My idea was that this discussion might benefit anyone thinking about acquiring a Lego Mindstorms EV3 kit with the aim of exploring/learning about control theory by building simple robots, implementing various control-system architectures, and seeing how well they perform. Rupert Young is already doing this, but my idea was to provide some useful information for anyone else who might want to take a stab at this. It’s my way of encouraging others to get out of the purely philosophical debate mode that dominates CSGnet and into the research mode.

So, how about some useful feedback? Is there any real interest in this?

Bruce

I has spurred quite a lot of feedback, hasn’t it? At least, it has made me go deeper into the notion of an N-system, realising that when I also create my own little robots (aka, Braitenberg vehicles), they are control systems indeed and how such property is relational to the world they are embedded in. Cheers, Alex

···

On Wed, Feb 21, 2018 at 8:37 PM, Bruce Abbott bbabbott@frontier.com wrote:

[From Bruce Abbott (2018.02.21.1435 EST)]

I’ve posted several times exploring how useful the Lego EV3 system might be for learning the mechanics of control and for investigating PCT in a real-world setting as opposed to simulations. The most common response on CSGnet to this series has been ---- nothing. The lack of commentary has me wondering whether anyone is actually interested in this topic – it’s hard to tell when a forum devoted to perceptual control systems ironically provides no feedback to the poster. The information provided may be appreciated (by some at least) but thought not to require comment, I suppose, but without it I have no way of knowing.

My idea was that this discussion might benefit anyone thinking about acquiring a Lego Mindstorms EV3 kit with the aim of exploring/learning about control theory by building simple robots, implementing various control-system architectures, and seeing how well they perform. Rupert Young is already doing this, but my idea was to provide some useful information for anyone else who might want to take a stab at this. It’s my way of encouraging others to get out of the purely philosophical debate mode that dominates CSGnet and into the research mode.

So, how about some useful feedback? Is there any real interest in this?

Bruce

[Rick Marken 2018-02-23_09:23:18]

Bruce Abbott (2018.02.21.1435 EST)--

Â

BA: I’ve posted several times exploring how useful the Lego EV3 system might be for learning the mechanics of control and for investigating PCT in a real-world setting as opposed to simulations. The most common response on CSGnet to this series has been ---- nothing. The lack of commentary has me wondering whether anyone is actually interested in this topic -- it’s hard to tell when a forum devoted to perceptual control systems  ironically provides no feedback to the poster. The information provided may be appreciated (by some at least) but thought not to require comment, I suppose, but without it I have no way of knowing.

Â

BA: My idea was that this discussion might benefit anyone thinking about acquiring a Lego Mindstorms EV3 kit with the aim of exploring/learning about control theory by building simple robots, implementing various control-system architectures, and seeing how well they perform. Rupert Young is already doing this, but my idea was to provide some useful information for anyone else who might want to take a stab at this. It’s my way of encouraging others to get out of the purely philosophical debate mode that dominates CSGnet and into the research mode.

Â

BA: So, how about some useful feedback? Is there any real interest in this?

RM: I'm certainly interested in using robotics and electronics kits to learn about control theory. But I'm mainly interested in using these kits to build robotic systems that illustrate principles of control that are particularly relevant to understanding the behavior of living systems -- that is, the principles of control theory that are emphasized by perceptual control theory. The main principle to be illustrated, of course, is that control systems control perceptual variables. Another is that the appearance that control systems respond to stimulation is an illusion created by the disturbance - resistant characteristic of control.Â
RM: I suggested one idea about how to demonstrate control of perception using robotics but I think it was pretty much laughed off. But if you or anyone else who is good at building these things would start developing robotics demonstrations of PCT principles that are clear and simple (so that even I could build them) then I would be happy to join in. I have my EV3 kit set up and ready to go;-)
Best
Rick
Â

···

--
Richard S. MarkenÂ
"Perfection is achieved not when you have nothing more to add, but when you
have nothing left to take away.�
                --Antoine de Saint-Exupery

[From Bruce Abbott (2018.02.23.1320 EST)]

[Rick Marken 2018-02-23_09:23:18]

Bruce Abbott (2018.02.21.1435 EST)–

BA: I’ve posted several times exploring how useful the Lego EV3 system might be for learning the mechanics of control and for investigating PCT in a real-world setting as opposed to simulations. The most common response on CSGnet to this series has been ---- nothing. The lack of commentary has me wondering whether anyone is actually interested in this topic – it’s hard to tell when a forum devoted to perceptual control systems ironically provides no feedback to the poster. The information provided may be appreciated (by some at least) but thought not to require comment, I suppose, but without it I have no way of knowing.

BA: My idea was that this discussion might benefit anyone thinking about acquiring a Lego Mindstorms EV3 kit with the aim of exploring/learning about control theory by building simple robots, implementing various control-system architectures, and seeing how well they perform. Rupert Young is already doing this, but my idea was to provide some useful information for anyone else who might want to take a stab at this. It’s my way of encouraging others to get out of the purely philosophical debate mode that dominates CSGnet and into the research mode.

BA: So, how about some useful feedback? Is there any real interest in this?

RM: I’m certainly interested in using robotics and electronics kits to learn about control theory. But I’m mainly interested in using these kits to build robotic systems that illustrate principles of control that are particularly relevant to understanding the behavior of living systems – that is, the principles of control theory that are emphasized by perceptual control theory. The main principle to be illustrated, of course, is that control systems control perceptual variables. Another is that the appearance that control systems respond to stimulation is an illusion created by the disturbance - resistant characteristic of control.

RM: I suggested one idea about how to demonstrate control of perception using robotics but I think it was pretty much laughed off.

Certainly not by me. What was the idea?

But if you or anyone else who is good at building these things would start developing robotics demonstrations of PCT principles that are clear and simple (so that even I could build them) then I would be happy to join in. I have my EV3 kit set up and ready to go;-)

That certainly is my intension. Have you seen my EV3-based “Lorenzâ€? Crowd Demo demonstration? The “Twitchieâ€? arm demo? But the EV3 platform is proving to be something of a challenge to implement PCT control architectures in, as I’ve documented in previous posts.  Unlike our computer simulations, these EV3-based control systems have to contend with noisy sensors, loose gear trains, and instable variables such as irregular surfaces and flexible plastic parts, that make designing an effective control system a bit more challenging than our simulations do.Â

So presently I’m working on learning how to deal with them.  For example, the Lego Mindstorms kit includes plans and programming for a couple versions of a self-balancing robot. I have built one of these and observed that it does a nice job of keeping itself upright (so long as disturbances are not too severe). I wasn’t successful getting the robot to balance with my own PCT-style hierarchical control system, so the question is, what is the Lego program doing (that my program wasn’t) that allows it to succeed in balancing the robot? I’ve been trying to answer that question by systematically studying the Lego program and testing its various components using “testbedâ€? programs.Â

For example, this morning I discovered that a “MyBlock� element called “GetMotorSpeed,� contains a “bucket brigade� delay line that preserves a change in motor speed for seven iterations. That’s interesting, although I don’t yet understand why it was deemed to be necessary. If the EV3 is connected to my laptop while the program runs, I can observe the values of the various variables used in the program and see how they change. Unfortunately, subroutines that have been saved as “MyBlock� elements cannot be “unpacked� to watch their interior variables, so I found it necessary to duplicate the GetMotorSpeed block’s contents and place them directly into a program rather than using the MyBlock directly. The MyBlock subroutine requires assembling a large number of Blocks, wiring them to other blocks correctly, and setting certain Block parameters. It required an extended effort to recreate the GetMotorSpeed routine and debug it. However, doing so and watching it run helped me to understand how this block does what it does.

So yes, I hope to develop clear robotic demonstrations of PCT principles, but unfortunately, the hurdles are such that one must learn to walk before one can run.

Bruce

[From Rick Marken (2018.02.23.1540)]

···

Bruce Abbott (2018.02.23.1320 EST)

Â

RM: I suggested one idea about how to demonstrate control of perception using robotics but I think it was pretty much laughed off.

Â

BA: Certainly not by me. What was the idea?

RM: The idea was just to augment one of the robots you described so that it controlled a variable that was a function of several sensor inputs. I think it was having the robot control some combination of sound and light intensity. The idea was to show the difficulty of figuring out what the robot is doing by just looking at what it is doing.

Â

RM: But if you or anyone else who is good at building these things would start developing robotics demonstrations of PCT principles that are clear and simple (so that even I could build them) then I would be happy to join in. I have my EV3 kit set up and ready to go;-)

Â

BA: That certainly is my intension. Have you seen my EV3-based “Lorenzâ€? Crowd Demo demonstration?Â

RM: Yes, very cute.Â

Â

BA: The “Twitchieâ€? arm demo?Â

 RM: I think so. Maybe not.

BA: But the EV3 platform is proving to be something of a challenge to implement PCT control architectures in, as I’ve documented in previous posts. Unlike our computer simulations, these EV3-based control systems have to contend with noisy sensors, loose gear trains, and instable variables such as irregular surfaces and flexible plastic parts, that make designing an effective control system a bit more challenging than our simulations do.Â

RM: Yes, I know. I ran into the same problem when I was trying to build “real world” demos with the Arduino prototyping platform that Adam Matic turned me on to. Â

Â

BA: So presently I’m working on learning how to deal with them. For example, the Lego Mindstorms kit includes plans and programming for a couple versions of a self-balancing robot. I have built one of these and observed that it does a nice job of keeping itself upright (so long as disturbances are not too severe). I wasn’t successful getting the robot to balance with my own PCT-style hierarchical control system, so the question is, what is the Lego program doing (that my program wasn’t) that allows it to succeed in balancing the robot? I’ve been trying to answer that question by systematically studying the Lego program and testing its various components using “testbedâ€? programs.Â

RM: Yes, I think that’s great “up front” work that needs to be done so that the demos I envision can be built more easily and control more effectively. Â

Â

BA: For example, this morning I discovered that a “MyBlock� element called “GetMotorSpeed,� contains a “bucket brigade� delay line that preserves a change in motor speed for seven iterations. That’s interesting, although I don’t yet understand why it was deemed to be necessary. If the EV3 is connected to my laptop while the program runs, I can observe the values of the various variables used in the program and see how they change. Unfortunately, subroutines that have been saved as “MyBlock� elements cannot be “unpacked� to watch their interior variables, so I found it necessary to duplicate the GetMotorSpeed block’s contents and place them directly into a program rather than using the MyBlock directly. The MyBlock subroutine requires assembling a large number of Blocks, wiring them to other blocks correctly, and setting certain Block parameters. It required an extended effort to recreate the GetMotorSpeed routine and debug it. However, doing so and watching it run helped me to understand how this block does what it does.

Â

BA: So yes, I hope to develop clear robotic demonstrations of PCT principles, but unfortunately, the hurdles are such that one must learn to walk before one can run.

RM: OK, let me see what you come up with once you know how to run. But the demos you’ve built so far are not the kind of demos I’m interested in developing. You want to build robots that work well; I want to build robots that can demonstrate what is not easily seen in the behavior of humans or robots: the fact that their behavior is organized around the control of perceptual variables that are not easily noticed by an outside observer.Â

Best

Rick


Richard S. MarkenÂ

"Perfection is achieved not when you have nothing more to add, but when you
have nothing left to take away.�
                --Antoine de Saint-Exupery