Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Introduction to ROS Part 7 - Custom Interfaces

Digi-Key via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn to create and implement custom interfaces for ROS 2 messages and services in this 40-minute tutorial that advances your robotics development skills beyond built-in data types. Master the creation of a dedicated interface package using ament_cmake, defining .msg files for sensor data like 3-axis accelerometer readings, and .srv files for client-server communication such as requesting random 3D points. Discover how to properly configure package.xml and CMakeLists.txt with necessary build and runtime dependencies to ensure cross-language compatibility between Python and C++ nodes. Practice implementing custom interfaces through hands-on examples including a Python publisher broadcasting fake accelerometer data, a C++ subscriber processing this data, a Python server generating random geometry points, and a C++ client making asynchronous requests. Explore the seamless integration of different programming languages through ROS 2's middleware architecture while building request/response systems with proper message typing and callback handling. Gain essential skills for developing scalable, production-grade robotics software that requires bespoke data formats for sensor data, navigation paths, and control parameters.

Syllabus

0:00 Intro
1:11 Overview of Interfaces
3:00 Creating a Custom Topic Interface
10:06 Using the Custom Topic Interface in Python
14:11 Using the Custom Topic Interface in C++
23:05 Creating a Custom Service Interface
25:22 Using the Custom Service Interface in Python
30:43 Using the Custom Service Interface in C++
39:21 Conclusion

Taught by

Digi-Key

Reviews

Start your review of Introduction to ROS Part 7 - Custom Interfaces

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.