ROS Actions
4.7 (37 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
562 students enrolled

ROS Actions

Master ROS Actions and Create More Complex Robotics Applications
Highest Rated
4.7 (37 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
562 students enrolled
Created by Edouard Renard
Last updated 6/2020
English [Auto]
Current price: $97.99 Original price: $139.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • 2 articles
  • 3 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Master ROS actions
  • Use the SimpleActionServer, SimpleActionClient, ActionServer and ActionClient classes
  • Create more complex robotics applications
  • Get more practice on ROS with Object Oriented Programming
  • Unleash the potential of ROS communication
  • And even more ROS best practices
Course content
Expand all 46 lectures 06:40:18
+ Introduction
5 lectures 18:59
Setup your Environment for this Course
How to get the most out of this course
+ Discover Actions With SimpleActionClient/SimpleActionServer
15 lectures 02:05:31
Create a Server with the SimpleActionServer
Create a Client with the SimpleActionClient
Make your Client Asynchronous
Set a Goal as Succeeded or Aborted
Understand Goal Status
Cancel a Goal
Debug ROS Topics used in ROS Actions
C++ - Create a Server with the SimpleActionServer
C++ - Create a Client with the SimpleActionClient
Documentation Reference For SimpleActionClient and SimpleActionServer
Section Conclusion
+ Activity: Experiment on SimpleActionClient/SimpleActionServer
9 lectures 01:30:44
Create the Action Definition
Create the Server
Create the Client
Cancel the Goal with Another Subscriber
Use rqt_graph to Debug Your ROS Graph
C++ - Create the Server
C++ - Create the Client
Section Conclusion
+ Go To The Next Step: ActionClient and ActionServer Explained
6 lectures 18:27
What Are the SimpleActions Main Limitations ?
When SimpleActions Are Just What You Need
What is an ActionServer
What is an ActionClient
A Few Documentation Links Before You Start
+ Activity: Create a Complete ActionClient and ActionServer
9 lectures 02:12:24
Create a Server With the ActionServer
Create a Client With the ActionClient
Send and Handle Multiple Goals
Change the Goal Policy
Place Goals in a Queue and Execute Them One by One
C++ - Create a Server With the ActionServer
C++ - Create a Client With the ActionClient
Section Conclusion
+ Conclusion
1 lecture 01:11
What You've Learned
+ Bonus
1 lecture 13:01
A Few Examples of Existing Actions
  • ROS basics (at least nodes, topics, services)
  • Some programming knowledge in Python or C++
  • You are familiar with Linux and how to use a terminal

Learning ROS is hard... But you’ve made it. You have some good basics about ROS nodes, topics, services, … This is a pretty good start. And you want to take your skills to the next level.

Or you’re already in the process of learning ROS actions, but you have some real trouble finding documentation and tutorials online.

A great ROS developer must know about ROS actions, and must be able to use them efficiently when required. Topics, Services and Actions are the 3 communication tools that will allow you to create any complex robotic application.

Warning !!! Before continuing, I want to be sure you understand that this course is not a course for total ROS beginners. You have to get some ROS basics first if you want to be able to follow the pace of this course.

→ Why this course ?

When I first started with ROS actions, my progress was really, really slow. I didn’t find any structured resource or tutorial to go beyond the very basic stuff. It took me a very long time (several months) to finally have a clear understanding.

This course is the course that I wish I had when I started. Practical and to the point. Showing you directly how things work, how you can quickly start and build more more complex applications.

→  Now, why should you choose my course ?

In the past I have developed a complete ROS software for an entire 6 axis robotic arm. I’m telling you that, because by developing this robot, I learned (the hard way) what I really needed to know to build things that actually work.

My experience with Robot Operating System is not only about university work or a weekend hobby : I actually co-founded a business with a robot powered by ROS. By doing so, I had to focus on going to the point, finding what is useful, and what is not.

So today, with the practical vision that I’ve developed, I know exactly what you need to learn at the beginning if you want to get serious about building more complex robotic applications.

And getting serious means mastering ROS actions. One day or another, you’ll need to use them or else you’ll be stuck.

→ What is this course about

This course is a complete course about ROS actions. I’ll show you each part of the process, step by step, and explain all the code that I write.

In the first part of the course, you’ll start using ROS actions with the SimpleActionServer and SimpleActionClient classes. Those parts will let you understand the key concepts behind ROS actions.

The second part is focused on using ActionServer and ActionClient classes. Those are more difficult to understand but allow you to create far more complex applications. You will learn how to handle multiple goals, how to change the server goal policy, how to put goals in a queue, etc.

During the course, you will practice through activities and challenges. Practising is the key if you want to learn efficiently.

I will mostly use Object Oriented Programming. That’s a great opportunity for you to improve your OOP skills, which is really working well with ROS. Also, all the code will be written in both Python and C++ !

So… Don’t wait too much and enroll in this course to go to the next level of ROS!

During the course I will also give you all the best practices that I know when developing with the Robot Operating System. So that’s another opportunity to get some practical insights that will help you develop better and more complex robotics applications.

Who this course is for:
  • Students who have learned ROS basics and want to go further
  • ROS developers who want to take their skill to the next level
  • And anyone desperately searching for documentation on ROS actions without finding something useful