{"id":12599,"date":"2017-09-21T12:55:50","date_gmt":"2017-09-21T02:55:50","guid":{"rendered":"http:\/\/legoeng.local\/?p=12599"},"modified":"2020-05-01T17:26:53","modified_gmt":"2020-05-01T07:26:53","slug":"why-doesnt-my-robot-drive-straight","status":"publish","type":"post","link":"http:\/\/legoeng.local\/why-doesnt-my-robot-drive-straight\/","title":{"rendered":"Why Doesn’t My Robot Drive Straight?"},"content":{"rendered":"

It seems reasonable to expect that when you\u00a0program a robot to drive\u00a0straight, it\u00a0should just work<\/em>. And, of course, this is what the Move Steering\u00a0block in the EV3 Software is\u00a0designed to do.<\/p>\n

\"\"<\/a>
More Steering block<\/figcaption><\/figure>\n

The\u00a0Move Steering\u00a0block\u00a0makes use of shaft encoders in the motors and a proportional feedback controller<\/em> in the software, to keep the motors in sync with each other.<\/p>\n

Test this out for yourself by programming a two-wheeled robot to drive forward for 10 rotations, using the Move Steering block. Pick the robot up and start the program. While the program is running, grab one of the wheels and see what happens to\u00a0the other.<\/em><\/p>\n

The Move Steering block certainly makes it easier for beginners to get started with programming than if they had to use separate blocks for each motor. A trade off for this simplicity, however, is that the details of how the block works are hidden from the user. In particular, the proportional feedback processes involved in moving a two-wheeled robot forward.<\/p>\n

Real robots don\u2019t drive straight<\/h2>\n

\"\"<\/a><\/p>\n

A decade ago, Fred Martin, a Computer Science professor at\u00a0University of\u00a0Massachusetts Lowell, wrote an insightful paper about this topic, provocatively titled Real robots don\u2019t drive straight<\/a><\/em>.<\/p>\n

Martin\u2019s paper raises important questions about engineering education and robotics competitions in particular.\u00a0Through a focus on feedback control, he explores the role of robotics in education, and the pedagogical challenge to develop technologies and activities that highlight key ideas in the fields being taught.<\/p>\n

In\u00a0the paper, Martin argues that feedback is a central process not only in our lives but also in engineered systems. Feedback is pervasive, but often invisible.<\/p>\n

“Autonomic body processes, like temperature regulation and breathing, happen without our conscious attention, and learned activities, like balancing and walking, are performed without deliberate attention.”<\/p>\n

“Over time, our ability to engineer feedback systems has also steadily improved, to the point where vehicles and processes that would normally be highly unstable (e.g., a fighter jet aircraft) can be made to \u201cfly straight.”<\/p>\n

Martin concludes that “both biological and engineering systems do make contact corrections, be they minimal to the edge of perception. As educators, we must introduce students to this central principle, not hide it from them. Real robots don\u2019t drive straight.”<\/p>\n

Some of the reasons that robots don\u2019t drive straight<\/h2>\n

Here are some of the reasons that a typical EV3 robot might not drive straight and some suggestions.<\/p>\n