Course pre-requisite(s): Programing Fundamentals
Course Overview
This professional course presents a description of the different operating and control systems, providing the concepts and tools necessary for the implementation of robots in industrial and domestic environments. It provides the knowledge and skills necessary for the use of Robot Operating System (ROS), as well as the implementation of programs in C++ and Python.
Learning Outcomes
1 Apply the fundamental concepts of ROS programming to develop robot controller programming.
2 Create packages that can be reused in other robotics projects.
3 Select communication systems between sensors, actuators, and peripherals for robotic applications
4 Design software architecture to create scalable and maintainable code
Course Content
1. Introduction to Robot Operating System (ROS)
1.1. Configuring and using Linux system
1.2. Basic concepts of ROS
1.3. Setting up work environment
1.4. Creating packages and development tools
2. Programming in ROS
2.1. Creating nodes, topics, services and actions
2.2. Creating custom messages and launch files
2.3. Operation and data storage in variables
2.4. Creating functions and using classes
3. Transformations
3.1. Basic concepts of Tfs
3.2. Coding transformations
3.3. Concept and design of URDF
3.4. Setting up RViz and MoveIt
4. Simulation environments
4.1. Robot simulation in Gazebo
4.2. Robot simulation in CoppeliaSim
5. Robotic applications
5.1. Articulated arms
5.2. Robot with legs
5.3. Social robots
Instructional Method
• Lectures
• Group Task
• Project Group
Required Course Materials
Computer
Assessment
A mini project during the development of the classes about assembling a robot in a simulated environment of minimum 3 DOF, including URDF, MoveIT in Gazebo or CoppeliaSim.