Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Mastering Robotics Software Engineering with ROS: Develop and Deploy Advanced Manufacturing Solution
Module 1: ROS introduction and workspace setup
Introduction to ROS (8:53)
ROS architecture (17:06)
Install Ubuntu 20.4 on Virtual Box (14:39)
Install ROS Noetic (11:27)
Setup Visual Studio Code for ROS (4:08)
Module 2: ROS basics and tools
Create ROS workspace (9:01)
The ROS master and the nodes (23:21)
Create a node in C++ (29:19)
Create a node in Python (14:28)
Create a publisher in C++ (14:31)
Create a subscriber in C++ (19:42)
Create a publisher in Python (12:48)
Create a subscriber in Python and play with Turtlesim (23:31)
Introduction on Services (18:01)
Create a service server in C++ (20:59)
Create a service client in C++ (16:28)
Create a service server in Python (11:50)
Create a service client in Python (15:07)
Create a custom msg (18:13)
Create a custom srv (4:43)
Final Project with Turtlesim (95:59)
ROS parameters (6:08)
ROS launch file (10:58)
Module 3: World Modeling and Simulation Environment
Github repository
Introduction to Gazebo (9:45)
How to structure your project (6:50)
Start to create your world (9:40)
Create your custom model (19:12)
How to load your world via launch file (8:57)
Module 4: Robot Modeling
Introduction to URDF file (7:41)
Strategy to model your custom Robot (8:20)
Start to create a custom Robot in URDF (12:48)
Visualize the Robot in Rviz (13:44)
Joint State and Robot State Publisher (10:24)
Complete you custom robot (19:59)
How to simplify your Robot model (15:05)
How to model a gripper as end effector (22:55)
How to clone a robot model from Github (33:21)
How to clone a commercial robot: Universal Robot 5 (UR5) (25:08)
How to setup a commercial Gripper: Robotiq (30:59)
Spawn your Robot in Gazebo (11:54)
Module 5: ROS Control
Introduction to ROS Control (8:17)
How to calculate intertia values for your custom robot (22:01)
How to configure transmission for the joints of your custom robot (14:57)
How to put a Gazebo plugin (14:12)
How to create and configure controllers for your Custom Robot Joints (17:08)
How to spawn controllers of your robot joint (19:30)
How to tune PID Controllers for your Custom Robot Joints (87:26)
Forward Kinematics with Custom Robot (9:48)
How to use Transform (3:31)
Hot to grasp an object in Gazebo without slipping (26:33)
JointPositionController VS JointTrajectoryController (12:52)
Module 6: Inverse Kinematics with MoveIt and Pick and Place Application
Introduction to MoveIt (12:08)
Create a MoveIt configuration Package (19:00)
Play with Motion Planning and update the MoveIt package (36:37)
ROS Control for MoveIt (11:09)
Create an Inverse Kinematics node (28:55)
How to setup the orientation and position of the end effector (19:30)
How to make Collision Objects in Rviz (23:37)
How to code Pick and Place (51:06)
How to adapt the inverse Kinematics node to another robot (37:30)
How to code Pick and Place with Grasp Class
Module 7: Run the Application in Gazebo
Course check point and introduction to the module
The Structure of the Launch file (11:23)
Control your robot with MoveIt motion planning plugin (11:34)
Simulate a pick and place in Gazebo (25:03)
Module 8: Perception for Robotics with OpenCV
Why Computer Vision in Robotics (20:33)
Strategy to integrate perception with robotic arm (14:01)
Type of Perceptions: HSV (11:53)
Type of Perceptions: SURF (6:21)
Type of Perceptions: PCL (4:05)
How to deploy a 2D camera (23:52)
Get an Image with OpenCV (37:04)
Stream the Image with OpenCV (6:15)
Edge Detection with OpenCV (46:49)
Get the position of the object in the Image (46:03)
Convert the object position with the respect of camera_link (80:14)
Module 9: Perception for Robotics with PCL
Setup the working environment with UR5 (27:46)
How to deploy a 3D camera (26:56)
Write and Read Point Cloud data (41:39)
Use the Voxel filter (25:46)
Create a plane segmentation (27:48)
Apply a pass through filter (12:28)
Extract a cylinder and get it's position (41:22)
Module 10: Pick and Place using camera
How to tackle this project (9:13)
Adapt the Computer Vision node (16:43)
Create the service to transform data from camera_link to base_link frame (61:42)
Pick and Place with 2D camera (53:54)
Pick and Place with Grasp class (36:21)
Pick and Place with UR5 and Robotiq gripper in Gazebo / real word (38:53)
Pick and Place with UR5 Robotiq gripper and 3D camera (9:58)
Module 11: Waypoints and Optimize the Trajectory
Establish movement repetability (17:12)
What are waypoints and how to use it
How to set Joints Constraints (22:01)
How to draw a circle (19:50)
How to save waypoints and execute trajectory (30:20)
Wrap up and what's next
Module 12: ROS2 Humble
Differences between ROS and ROS2 (10:51)
ROS and ROS2 distributions
Install and setup ROS2 Humble (14:04)
Create ROS2 Workspace (9:19)
Install VS code in Ubuntu 22.04 and ROS2 setup (4:18)
Create packages and basic node in C++ (37:39)
Write a Topic Publisher Subscriber in C++ (37:30)
Create packages and basic node in Python (30:00)
Write a Topic Publisher Subscriber in Python (21:46)
Create Custom Interface (11:47)
Write a service in Python (15:38)
Write a Service in C++ (17:55)
ROS parameters in ROS2 (29:57)
Create a Launch file (30:50)
Module 13: Migrate your project from ROS1 to ROS2
Migration strategy (9:22)
Migrate custom robot description package (28:23)
ROS2 Control: understanding and deploying Joint Group Position Controller (54:23)
ROS2 Control: setup and deploy Gripper Action Controller (16:20)
ROS2 Control: setup and deploy Joint Trajectory Controller (12:19)
ROS2 Control: Control the robot sending trajectory_msgs from C++ script (11:43)
Replicate the .world from ROS1 (8:31)
Deploy depth camera and the pick object (25:45)
Create MoveIt2 configuration package for a custom robot (55:40)
How to interface Moveit2 with Gazebo (18:24)
Create an inverse kinematics node with MoveIt2 in C++ (23:39)
How to simulate grasping with LinkAttacher in Gazebo (11:38)
Pick and place with a Custom robot: Gazebo interfaced with Rviz (30:27)
Module 14: Docker for Robotics
Lessons under constructions
Module 15: Final project: Pick from a box, visual inspection, place in belt conveyor
Lessons under constructions
Additional module to be defined based on student's needs and requests
Lessons under constructions
Teach online with
Type of Perceptions: PCL
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock