ECE4560


Introduction to Robotics and Automation

Course Description: Concurrent engineering principles; robotic manipulator kinematics, dynamics, and control; applications of robots in industry, medicine, and other areas; team projects and hands-on laboratory experience.

Course Resources

ECE4580


Computational Computer Vision

Course Description: Computational and theoretical aspects of computer vision. Application areas include robotics, autonomous vehicles, tracking, and image-guided surgery. Includes major project.

Course Resources

ECE6554


Adaptive Control

Course Description: Methods of parameter estimation and adaptive control for systems with constant or slowly varying unknown parameters. MATLAB design projects emphasizing applications to physical systems.

Course Resources

ECE4011/4012


ECE Culminating Design Project (Senior Design)

Course Description (ECE4011): First semester of ECE culminating design sequence. Design tools, financial principles, project management, probabilistic and statistical techniques, team forming. Requires formal reports and group presentations.

Course Description: (ECE4012): Second semester of ECE culminating design sequence. Team project in ECE incorporating engineering standards and realistic constraints. Requires formal reports and group presentations

Resources for: ECE4011 ; ECE4012

Embedded Control Basics


Digital Design and Robotics

Material Description: A series of modules for learning about the basics of digital design. Most of them are geared towards learning about the basic components that would go into building a little autonomous robot, starting from power regulation and going up to actuation and sensing. Furthermore, they provide sort of a bare bones conception of what to do, with some details left to the student to read up and figure out. The idea is to get practice reading spec sheets and other source material for deciphering content.

Resources for this are: Material ; Learning

Turtlebot


Using the Turtlebot

Material Description: A series of modules for learning how to use the Turtlebot. Most importantly, a module on how to connect the Turtlebot to GT-Lawn so that you can access it remotely (from another machine on the network). While there are lots of modules that teach you how to use the Turtlebot, many of the top ones to pop up in searches focus on launching pre-existing ROS programs for the Turtlebot. This characteristic is not constructive in the sense of showing one how to build such programs, only how to run them. However, if seen as working examples, they are great learning tools from a reverse-engineering perspective. These modules are me and you learning as we go …

Resources: Connect ; First Run ; Learning

ROS & Gazebo


Material Description: Often it is good to first simulate test implementations to avoid tragic things from happening to robots. For that, there is Gazebo, “an essential in every roboticit's toolbox.” As a simulator, Gazebo does consume computational resources, so it is best run in a native Linux on a modern computer (one with per core Passmark score of 1000+ and with multiple cores). Once Gazebo is up and running, with your appropriate robot, then your code can be tested and all of the messages reviewed (via rviz).

Resources: Install ; Turtlebot ; Learning

Manipulation


Material Description: Manipulation is a classic problem in robotics. In spite of all the research devoted to it, there are still several open challenges to resolve on account of the rich dynamic and visuo-tactile structure of grasping and manipulation. To get started on appreciating the challenges and better learning the many sub-problems associated to manipulation, this set of modules, links, and github demos provides a pathway to explore ROS implementations.

Resources: Basics