CSCI-632 Mobile Robot Programming

Zack Butler

GOL(70)-3435 MWF 9:00-9:50

Syllabus ----- Schedule

Course description: This course covers standard and novel techniques for mobile robot motion programming, including software architectures, reactive motion control, map building, localization and path planning. Other topics include multi-robot systems, robot vision, and non-traditional and dynamic robots. Students will implement various algorithms in simulation as well as on a real robot, and investigate and report on several pieces of current research in the area.

Instructor info: Textbook:

Robots: As mentioned above, the assignments will primarily be in simulation, but we also have some robots in the RND Lab (70-3405) which we will use for some assignments. I expect that we will primarily (if not exclusively) use our three Pioneer 3-DX robots. These are both equipped with forward-facing sonar rings, bump sensors, and Kinects (which we will mostly use to simulate much more expensive laser scanners). We also have two real laser rangefinders, we may use that as well. Here are some important policies regarding the lab and robots.

Programming environment: Simulations and robot experiments will be done using ROS (the Robot Operating System), specifically ROS Melodic, and the semi-integrated simulator Gazebo. This is available on the CS department Linux machines. You should feel free to install it on your own machine if you like, though it is only supported under Ubuntu. I will spend some class time in Week 1 describing the system, but you should also play around with it yourself to get a feel for it. Here is where I will put my own notes for getting up to speed with ROS, especially as it applies in the CS environment. All programming assignments may be completed in your choice of Python or C++.

Tentative schedule and links to assignments

Somewhat vague assessment-opportunity list: