CS 43301/53301 Development for Department of Computer Science, Kent State University Monday and Wednesday from : 09:15 AM to 10:30 PM Classes will be conducted with hybrid modes; “Remote meeting through BCU” or “Fase-to-face at MSB 104 Lab room” depending on each class requirements. Class Instructor: Dr. Jong-Hoon Kim Office Location: MSB 236-A Office Phone: 330-672-9060 Best way to contact me: e-mail to [email protected] Office Hours: Monday and Wednesday : 1) 10:30 AM - 11:00 AM (Virtual or MSB 104) 2) 12:15 PM ~ 13:30 PM (Virtual Office) Other times by appointment ● Due to COVID-19, office hours will be opened through a virtual office in BCU

Teaching Assistant: Not assigned yet TA-Office Hours : N/A TA-Email : N/A

Prerequisite: ​ ​ C or better in CS 13012 CS IB Object Oriented Programming C or better in CS 23001 Data Structure C or better in CS 33201 Embedded System Programming (from 2020 Spring)

Credits: ​ 3 (The course satisfies a requirement for the Computer Science major and minor/ CS Graduate) Course Outline and Objectives: ​ are being used in multiple places that are not easily accessible for humans, to support the lack ​ of available labor, to gain extra precision, and for cost effective manufacturing processes, monitoring, space exploration, precision surgery and artificial limb support for elderly and physically challenged persons. Computer science is an integral part of robotics as it includes areas such as computer algorithms, , and image processing that are essential aspects of robotics. This course will teach the students fundamentals of robotics along with various software, hardware for developments based on the Robot Operating System (ROS) which is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.

This course will provide hands-on experience with lab activities and practical knowledge from semester-long projects. During the semester, the students will build a Battle Bot (Plan-A) or Self-driving car(Plan-B) based on a customized TurtleBot with ROS. And the class will host a battle bot competition at the end of the semester as a part of the class. There are two demo videos ( Plan-A) ​ https://youtu.be/F-Cr1E8kr7c ( Plan-B) https://youtu.be/ffitDOK2Zl4 for the SDR class (CS ​ 43301/53301-Software Development for Robotics).

Battle Bot Competition for this class (https://youtu.be/F-Cr1E8kr7c ) ​ ​ ​

An example ongoing project at ATR Lab - https://www.youtube.com/watch?v=YLt52r9IgaQ ​

Learning Outcomes: ​ Students completing this course will • learn the evolution of robotics and modern happenings in robotics technology • understand fundamental concepts in robotics • become familiar with terminology of robotics • deepen the knowledge of the robots and their components • learn the principles of operation of a robotic system • analyze the problems and challenges on the fundamentals of the methods in robotics research • study concepts of motion control of a navigation

• understand how to perform secure, safe, user-friendly, and smart tasks on robots • experience real hardware & software components such as Single Board Computer(Raspberry Pi), Embedded System (Arduino), Sensors, Actuators, etc. • gain practical knowledge from hand-on-Experience with Robot-Operating System (ROS) with deep-learning robots and their components • grasp an ability to collaborate in groups and teams in problem solving and in project management.

Required Text: ​ [1] Title: ROS Robot Programming (EN) / ROS Authors: YoonSeok Pyo, HanCheol Cho, RyuWoon Jung, TaeHoon Lim First Edition: Dec 22, 2017 Published by ROBOTIS Co.,Ltd. ISBN: 979-11-962307-1-5 Free Download Pdf version : http://www.robotis.com/service/download.php?no=719 ​ ​ Hardcopy : $40 USD - http://www.robotis.us/ros-robot-programming-book/ ● Some selected textbook sections and conference/ journal articles will be assigned and read ● Reading and responses to reading questions as well as discussing and reporting of the topic/papers are definitely significant parts of the course requirement to be completed

[Recommended texts for your references] ​ [1] “Introduction to Autonomous Mobile Robots“ Roland Siegwart, Illah Nourbakhsh, Davide Scaramuzza, MIT Press - ( ISBN-10: 0262015358), (ISBN-13: 9780262015356) [2] “Robot Programming: A Guide to Controlling Autonomous Robots”, Cameron Hughes, Tracey Hughes Pearson - (ISBN-10: 0789755009), (ISBN-13: 978-0789755001) [3] “Physical Computing: Sensing and Controlling the Physical World with Computers 1st Edition”, Dan O'Sullivan and Tom Igoe, (ISBN-10: 159200346X), (ISBN-13: 978-1592003464) [4] “Arduino Cookbook- 2nd Edition”, Michael Margolis, (ISBN-10: 1449313876) , (ISBN-13: 978-1449313876) [5] “Introduction to Robotics: Mechanics and Control : Edition 4”, John J. Craig, Pearson - (ISBN-10: 0133489795), (ISBN-13: 978-0133489798)

Grading: Students will be evaluated based on the following course activities and graded based on the following weighting: Item Percentage (individual/group)

Attendance, Participation, and (in class) Pop Quiz 10 % (individual)

Assignments (reading, programming, and/or response) 20% (individual)

Mid-term 20 % (individual)

Robot Competition 20% (individual/Group)

Robot Project (demo, presentation, and report) 20 % (individual/Group)

Final Exam 20 % (individual)

Total 110 %

Grade : Total percentage earned Grade : Total percentage earned

A : 92.5 – 100% or above C+ : 77.5 – 79.9% A- : 89.5 – 92.4% C : 72 – 77.4% B+ : 87 – 89.4% C- : 68.5 – 71.9 % B : 82.5 – 86.9% D : 62.1 – 68.4% B- : 80 – 82.4% F : 62% and below

• Reading Assignments: The readings for this course will provide a broad and diverse knowledge in ​ the field of Robotics. Some simple questions may also be posted on Blackboard LEARN for each reading, and answers to these questions should be submitted through BLACK Board by the due date.

• Programming Assignments: The programming assignments will provide practical experience in ​ the field of Robotics. Most of programming assignments will be assigned during classes but some programming assignments may also be posted on Blackboard LEARN. All programming assignments should be submitted through BLACK Board by the due date.

• Individual/Group Projects: The project activities are the majority of your out-of-class work for the ​ ​ semester. You will perform an individual & group project work in teams of 2~3, consistent throughout the semester. After forming teams early in the class, each team will improve and/or create new SW/HW design of a mobile-robot (custom turtle-bot) to address various issues and challenges. Each team will propose those challenges with the state-of-arts, will document their design and prototyping process, and will present project proposal and final presentation. In addition, each team member will have short-project progress presentation based on their assigned work in the project using a quad-chart (max 4 min).

Tentative Outline of the Course

01/18/2021 Martin Luther King Jr Day Week 1 01/20/2021 Introduction to Software Development for Robotics (Course, Schedule/Requirements) 01/25/2021 Ch1. Robot_Software_Platform Week 2 01/27/2021 Ch2. Robot_Operating_System_ROS 02/01/2021 Ch3. Configuring the ROS Development Environment Week 3 02/03/2021 Development Environment Setup - RPi

02/08//2021 Ch4. Important Concepts of ROS - 1 Week 4 02/10/2021 Ch4. Important Concepts of ROS - 2 02/15/2021 Ch5. ROS Commands Week 5 02/17/2021 Ch6. ROS Tools 02/22/2021 Ch7. Basic ROS Programming - 1 Week 6 02/24/2021 Ch7. Basic ROS Programming - 2 03/01/2021 Ch7. Basic ROS Programming - 3 Week 7 03/03/2021 Midterm 03/08/2021 Ch8. Robot. Sensor. Motor. Week 8 03/10/2021 03/15/2021 Ch9. Embedded System Week 9 03/17/2021 03/22/2021 Ch10. Mobile Robots Week 10 03/24/2021 03/29/2021 Ch11. SLAM and Navigation Week 11 03/31/2021 04/05/2021 Ch12. Week 12 04/07/2021

Week 13 04/12~04/18 Spring Break 04/19/2021 Ch13. Week 14 04/21/2021 Introduce ongoing projects in several laboratories (ATR Lab, Scale Lab, MediaLab, etc.) Project Work Time - No Lecture and tutorial, but instructor/assistant will help your HW/SW 04/26/2021 troubleshooting for your project

Week 15 04/28/2021 05/03/2021 Final Project Presentation - (15min presentation & 5 min QnA)

Week 16 05/06~05/12 Final Exam

Course policy ​ (1) Class participation and preparation • Class participation and regular attendance are expected. If a student misses a class, the student is responsible for bringing herself/himself up-to-date on class material and assignments. If you miss more than 4 classes without a documented reason or without making prior arrangements with me, your final grade will be dropped one grade (A to B, B+ to C+ and so on). • All students are expected to read the assigned chapters prior to coming to class. (2) Exams • Exams will be based on the combination of: material covered in lectures, the assigned reading from the reference papers/textbooks and material covered in the notes. • All exams are closed books and closed notes. (3) Homework assignments • All homework assignments must be returned through the Blackboard LEARN. If the instructor requests to return an assignment directly in class, the assignment is due at the beginning of class on the specified date. Assignments turned in after the beginning of class on the due date will be counted as one day late and will receive 3 points of penalty. • Late penalty will be applied to all the assignment returned late. An assignment turned in n days late will get 3*n points deduction. An assignment cannot be more than 7 days late. After the 7th day the assignment will not be accepted. • All assignments must be individually and independently completed. Should two or more students turn in substantially the same solution or program, in the judgment of the instructor, the solution will be considered a group effort. All involved in group effort homework will receive a zero grade for that assignment. (See more details on cheating and plagiarism in the Academic Honesty Policy section below). • You may discuss the interpretation of an assignment with your classmates; however you may not discuss possible solutions unless you are requested by your teacher to share your solution with your colleagues. • No late assignment will be accepted after the assignment is graded and solution discussed.

(4) Make-up exams • Make-up exams will only be given in case of serious need and only when the instructor is notified prior to the exam time. If this is not done, the grade is automatically 0 for that exam. • Written verification for the student’s inability to take an exam will be required. (5) Class cancellation & Campus closings • Announcements of class cancellations and/or campus closings will be made on the campus homepage. In the case of an emergency, weather-related or otherwise, please check the web page at www.kent.edu for information on the buildings and times of the closing. While information may be broadcast by radio and television, this should be confirmed by the web

page, which is the official announcement of the campus and which will be the information used to determine issues related to student attendance, rescheduling of tests, and other concerns. • If I need to cancel class for any reason, I will try to put an announcement on the course web page as early as possible.

(6)Course Drop and Withdrawal - Last Day to Drop 09/04/19 - Last Day to Withdraw10/30/19 • If you are considering withdrawing from this course, please consult with a staff member in the Student Services Office, 134 Main Hall. Withdrawal from a course can affect financial aid, student status, or progress within your major. For withdrawal deadlines, please refer to: http://www.kent.edu/registrar/spring-important-dates.

(7)Academic Honesty • Use of the intellectual property of others without attributing it to them is considered a serious academic offense. Cheating or plagiarism will result in a failing grade for the work or for the entire course. Repeat offenses result in dismissal from the University. University guidelines require that all infractions be reported to the Student Conduct Officer on our campus. Kent State University policy on academic honesty can be found at: http://www.kent.edu/plagiarism

(8)Students with Disabilities • University policy 3-01.3 requires that students with disabilities be provided reasonable accommodations to ensure their equal access to course content. If you have a documented disability and require accommodations, please contact the instructor at the beginning of the semester to make arrangements for necessary classroom adjustments. Please note, you must first verify your eligibility for these through Student Accessibility Services (contact 330-672-3391 or visit http://www.kent.edu/sas for more information on registration procedures).

(9)Conduct Students and faculty behavior at the Kent State University is governed by the guidelines summarized in the Code of Conduct page that you can find at http://www.kent.edu/studentconduct/code-studentconduct.

(10)Emergency • In case of an emergency please contact the security on campus. * Pick up the receiver of any blue-light phone on campus * Security cell phone (330) 672-2212 or, of course, 911.