Since most robots are built differently and have different shapes and sizes, one needs to calibrate each robot, especially when building the main chassis of a robot that is intended to be driven. In this nifty assignment, we begin by using a a move block to rotate the motors in a straight line (circle with arrow that has a # inside), then measure how far the robot travels. Once the distance traveled is known, we can use this to compute the turning radius by spinning the motors (in opposite directions) to turn turn 360 degrees. Then we use this to generalize how to turn any number of degrees. The exercise ends by applying these principles to combine turning and driving (without turning) to show how to start at a certain point and make turns/straight drives to traverse an imaginary convex polygon and return back to the same starting point. This exercise ultimately teaches how to turn simple mathematical ideas into more complex programs, with a focus on using functions (MyBlock in Lego Mindstorms) and looping constructs, principles that are often too abstract for most introductory computing students. In our exercise, the cause/effect of functions and loops is clearly understood with an example that is needed by practically every robotics project, whether starting as a middle school student all the way through high school and college level.
Understanding Turning Radius and Driving in Convex Polygon Paths in Introductory RoboticsSubmitted to SIGCSE 2018, Nifty Assignments
Document TypeTechnical Report
Creative Commons LicenseCreative Commons Attribution-Share Alike 4.0
Citation InformationGeorge K. Thiruvathukal, Ronald I. Greenberg, and David Garcia. Understanding Turning Radius and Driving in Convex Polygon Paths in Introductory Robotics. Submitted to SIGCSE 2018, Nifty Assignments Track. http://dx.doi.org/10.6084/m9.figshare.7027838