Section 01 Lecture (2967): TuTh 11:00 - 11:50 AM in OCNL 244
Section 02 Activity (2968): TuTh 12:00 - 12:50 PM in OCNL 244
Lab Assistant: TBN
Note: Lecture & Discussion on Tuesdays (ZOOM recorded) and Activity for 2 hours on Thursday used for Lab work.
CSU Web: ECC-Linux Content
Email: sbsiewert@csuchico.edu
Student Help: Office Hours, My Schedule, and by appointment
CSCI 585 Robotics and Machine Intelligence 3 Units
Prerequisites: CSCI 211 or EECE 211, and EECE 237 with a grade of C or higher. (MATH 120 or MATH 109 and ECC compliant laptop recommended)
Typically Offered: Spring only
This course introduces students to the field of robotics by emphasizing the use of software to model, task, localize, navigate, and control mobile and manipulator robot systems. Topics include various case studies of robot architectures and algorithms that facilitate teleoperation, automation, and levels of autonomous tasking and intelligent operation (e.g., sensor fusion, perception, reactive reasoning, intelligent navigation, vision, machine learning, etc.). Students develop and/or configure software for a robot system by researching and experimenting with hardware, robot operating systems, and simulation tools. 2 hours activity, 2 hours lecture. (002361)
Grade Basis: Graded
Repeatability: You may take this course for a maximum of 3 units
Course Attributes: Upper Division
Course Description: This course focuses on software for robotic systems using ROS (Robot Operating System) and modeling robot dynamics and tasking with MATLAB. The course emphasizes use of MATLAB for analysis and simulation and the use of ROS with C++ and/or Python programming for tasking, control, and monitoring. Details of sensor interfaces and use of instruments such as LIDAR, cameras, and integration of lower-level controllers (e.g., OpenCR) will be explored using ARM based embedded computers and Robotis mobile platforms (burger, waffle, open-manipulator). The class will include discussion of bi-weekly goals on Tuesdays and testing with ROS using Robotis platforms on Thursdays. Students will work in pairs and will check out robotics and computing equipment.
Goals: The purpose of this course is to introduce students to software for robotics with hands-on robotics systems and design for tasking, control, and monitoring with high level simulation tools and off-the-shelf standardized robotic components. The course should prepare a computer science, mechatronics, or computer engineering student to enter the robotics industry as a beginning software practitioner.
Textbook: Corke, Peter. Robotics, Vision and Control, 2nd Edition – Fundamental Algorithms in MATLAB. Springer, 2017. Author website, Amazon, Publisher, Merriam Library Online for MATLAB
RVC with Python (alternative to MATLAB): RVC: Fundamental Algorithms in Python from Merriam Library
MATLAB robotics website: https://www.mathworks.com/help/robotics/
Robotis website resources: OpenCR, Turtlebot-3, OpenManipulator-X
ROS website: ROS.org, ROSCon; ROS Gazebo: Gazebo Worlds Collection, Gazebo Models & Maps, ROS Wiki for Gazebo, Gazebo Sim, Gazebo Getstarted, MATLAB + Gazebo Co-Sim; Programming ROS
Robotis Turtlebot-3 (in use)
NVIDIA Isaac: SLAM Tutorial
Clubs, Groups & Competitions: AIME, ICARUS, NXP Hovergames, RoboSub, 10k drones
Human/AI Collaboration, Apptronik, Boston Dynamics - Trusted AI
CSU Download & Quickstart, Robotics-Toolbox, Python Robotics Toolbox
NVIDIA Omniverse 3D simulation, Webinars
ROS on Jetson Orin - https://ubuntu.com/blog/ubuntu-and-ros-to-nvidia-jetson-orin
Virtual Robotics - Softserve, Example Video
R-Pi3b vs. R-Pi4 - Difference