Skip to content

madibabaiasl/modern-robotics-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 

Repository files navigation

Course Description

The Czech playwright Karel Capek is credited with coining the word "robot" in his 1920 play, R.U.R. (Rossum's Universal Robots), but the concept of robots as machines that can sense, process, and act has been around for centuries. For example, the ancient Greeks created stories about automatons, which were self-moving machines that could perform tasks. The Unimate was the first industrial robotic arm that was used for welding, painting, and assembly. Since then, robots have been developed for a wide range of other applications, including warehousing & logistics, manufacturing, healthcare, agriculture, construction, cleaning, and even entertainment. Although the field of robotics is still under development (it is an active research area), the basic principles of robot design (modeling, perception, planning, and control) are well understood. In Modern Robotics, we will use both theory and practice to learn these basics. You will have the opportunity to work with a real robotic arm that is controlled by the Robot Operating System (ROS) to learn about these topics through hands-on experience.

Course Objectives

  • You will learn the fundamentals of robot motion (such as tools to express robot position and orientation as well as velocities and forces), forward and inverse kinematics, velocity kinematics and statics, dynamics, motion planning, and control through experiential learning.
  • You will be able to integrate your previous knowledge of vectors, matrices, statistics, statics, dynamics, physics, and programming to serve an actual application.
  • You will be able to translate some of the skills that you will learn, such as screw theory applications in robotics to not only robotic arms but also to other areas of robotics such as soft robots, continuum robots, etc.
  • You will become familiar with enough technical tools (Python, MATLAB, ROS, OpenCV, RoboDK, etc.) to be able to translate your ideas into code and make yourself competitive in the current job market.
  • You will be able to see how the different components of a robot work individually and together to make the robot move and perform tasks. Specifically, you will be able to use different sensors such as a camera to make the robot understand its environment and use this information to perform the required task by translating a high-level task into trajectories that the robot can follow.
  • You will be able to interact with others in a team. Robotics is an interdisciplinary field, and robotic systems can be complex for just one person to handle. Teamwork is an essential part of completing a successful robotics project.
  • You will be able to organize and document your work effectively to make a competitive portfolio and be able to handle a complex project in the future.

Resources

Recommended Textbooks:

  • Modern robotics: Mechanics, planning and control, Kevin Lynch and Frank Park, 2019, Cambridge University Press
  • Robotics, Vision and Control: Fundamental Algorithms in Python, Peter Corke, 2023, Springer Nature
  • A mathematical introduction to robotic manipulation, Murray, Li and Sastry, 1994, CRC press

Note that the material that I will teach is a combination of many sources (some are not listed above and some are developed by myself) and I will give the required text to you. The books above can be used as a reference. Start exploring the course by going to the wiki pages for this course:

https://github.com/madibabaiasl/modern-robotics-course/wiki

Software Packages and programming languages:

Robot Operating System (ROS), MoveIt, RViz, Gazebo, Python, MATLAB, RoboDK, Linux (Ubuntu)

Hardware:

PincherX 100 Robot Arm from Trossen Robotics, Interbotix ROS Arm Vision Kit, Computer running Ubuntu 22.04

About

This repository is all the lessons for Modern Robotics Course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published