We are excited to announce a groundbreaking new collaboration between The Construct and Canonical (Developers of Ubuntu) on a brand-new robot programming course – Distributing ROS Apps with Snaps. This course is now online and available to everyone.
Throughout the course, you will learn the basics of snap creation for a ROS and ROS 2 application, including how to confine your robotics application and make it installable on dozens of Linux distributions.
This course is ideal for anyone interested in robotics development. Whether you are a student, a robotics developer looking to improve your robotics skills, or simply interested in learning something new, this course is perfect for you!
“We are excited to partner with Canonical on this important course.” said Ricardo Tellez, CEO of The Construct. “Robotics is an ever-expanding field, and the need for professionals who can program and develop robots is growing exponentially. By partnering with the experts from Canonical, we can provide a course from the creators of the technology themselves (snaps). Nobody better to create such a course!”
So you want to become a Robotics Developer. You know, a guy that creates programs for robots. After all, there are not enough robotics developers in the world. It is a profession on the rise, and with good salary prospects. (See the image below, obtained from Glassdoor.com June 2024)
Maybe you have finished an engineering degree but feel a lack of application to real jobs. So you decide to go online to find the practical content required to become a Robotics Developer. Once you have the content, it is a matter of following it and acquiring the knowledge. Right?
Well, yes and no. The problem with that approach is that there is too much content online about robotics and software development for robotics.
The amount of content material (free and paid) is so massive that, unless somebody provides you with a proper roadmap, you will lose a lot of time in the learning process.
So in order to effectively learn by yourself, first, you need to figure out the following:
Which content should you select?
And, how should you prioritize the learning content?
In the following post, I’ll answer those questions. I’ll show you what subjects you must master and in which order to become a Robotics Developer. I have assumed that you are starting with zero knowledge (i.e., basic high school maths skills only).
This post describes the same structure that we follow in our Robotics Developer Masterclass. Our 6-month learning plan guides you from zero to Robotics Developer and helps you land a job by means of our included internships at a robotics company. So I can asure that the learning plan of this post works!
0. Pre-requisites
First, you require a foundation for the systems used to learn more complicated subjects. The minimum basic knowledge required is the following:
In this section, you will build your foundation skills for robot programming. This includes the following topics:
C++, in-depth. Most robotics jobs require you to have an excellent knowledge of C++, so you need to start learning it as soon as possible and gain experience. The critical point for learning C++ is to dedicate time to practice on real projects. That is why the sooner you start, the better.
Git version control. Git is a tool that allows developers to work collaboratively. Understand that when working in a company, there is no concept of “my code”. Your code will have to work with another engineer’s code. Git is the tool used in every robotics project to facilitate this collaboration. Master this tool and develop your robotics projects using Git, even if you study alone.
Basics of ROS2. ROS is the standard in robotics. Learn and use this framework in the rest of your learning. ROS has the same problem as C++: you can learn the theory quickly, but real learning begins when you practice with different robots and situations. So, base your learning on this tool and, practice as much as possible during your learning phase.
Learning the basics of ROS includes learning all the basic concepts of packages, messages, topics, services, and actions, as well as robot modeling using URDF and the concept of transformations (TF). However, that is the bare minimum you need to know in ROS.
Which ROS version should you learn? Now, you need to know ROS2.
Robot simulations. Simulations are an essential tool in robot development. After all, if you don’t want to deal with the hardware, you will need a place to test your code. That is in the simulation. So go and learn how to do simulations with Gazebo simulator. That is the default simulator in the ROS world and integrates well.
2. Build your own robot
Even if you are looking for a developer’s job (this is programming robots, not building them), you still require a basic knowledge of the parts and pieces of a robot and how they interact together to build the final robotic system.
You should build your own robot, even if a basic one, to see how the various parts interact physically. This process will give you a grounded knowledge of physical elements that you can later apply to your programming, an understanding why some software components are required, why they do not work, and isolate problems when something doesn’t work.
Aim to build a wheeled robot with a minimum of two wheels, encoders, batteries, and one sensor (a camera is the cheapest version, but if you can afford it, include a LIDAR).
Once the robot is built, you will need to add ROS controllers to it. But since your ROS knowledge at this time will be low, I recommend you start building a robot that already has the ROS controllers developed by somebody else, so you can practice cloning the repo, compiling, and installing those controllers.
I do not recommend trying to create the controllers for that robot at this stage because it will take a considerable amount of time. Of course, you will learn a lot, but you can speed up the process by reading another person’s and understanding it. After all, you will have to do that process (cloning repos, understanding other people’s code, installing…) often once you land a job!
As for the robot, I recommend the Jetbot or the Nanosaur, both based on NVIDIA boards. I recommend those because they provide all the pieces you need as well as the ROS controllers.
3. Advanced robot control programming
Up to this point, you will have mastered the basic building blocks required for a robotics developer. Now, go to the next level, to apply that knowledge to a robot, making it accomplish tasks. You must master a robot’s different skills and apply them to task resolution.
Robot navigation, or how to make the robot autonomously move from one location to another
Robot perception, or how to make the robot perceive its environment and detect the relevant parts for its task
Robot manipulation, or how to make the robot act upon the objects of the environment by grasping, pushing, and releasing them, etc
How to add control to robot motors
4. Robotics theory basics
Now it is time to learn the theory. Even if you are going to work in robotics development and use many solutions already made for you, a minimum of robotics theory is necessary to understand what happens when something goes wrong. Also, knowing the theory will allow you to build better algorithms for robotics.
This section should include the following:
Mobile kinematics
Arm kinematics
Kalman filters
Robot dynamics
Robot control
Path planner algorithms
I recommend that you search for material that teaches you the algorithms while making you implement them in robots. I have found that this is the most efficient way to learn all that theory, make it stick in your head, and find the relation with what you use in your robot implementations.
5. Development tools for robotics
So far, you have learned a lot about programming robots and making them do things. However, when you apply that knowledge to a job in a robotics company, you also need to understand the tools required for software development in a professional environment. Again, you will not be alone, doing your own code. You will be part of a team that, develops the full robot software together. Then, you need to learn to use the tools used for proper software development.
Among those tools, include:
Docker
Jenkins or a similar tool to automate processes
Unit tests
Functional tests
Continuous integration
The goal is to understand how all the development tools integrate to have a complete pipeline of deployment, testing, and detection of errors. This is continuous integration. So you need to learn how to perform continuous integration, integrate Git pushes with Jenkins actions, deploy dockers with the code to test, launch the tests and associated simulations, and generate reports based on the success of the tests.
6. Extra subjects
As additional optional subjects, I recommend studying the following:
ROS1. Many companies still work on ROS1, so you need to know how it works. Even if very similar to ROS2, you need to understand some differences in creating software for ROS1 robots.
Web development to create interfaces for robots. The robots of the future will be from many different manufacturers, and the web interface is the only universal interface between the robots and human devices. So robot interfaces will not be based on apps but on the web.
Learn how to create web interfaces that display the robot’s status and allow you to control it remotely.
Full schema
TIP: Practice while studying
My final recommendation would be that, in order to learn all this material, you do not just watch videos or read books. If you want to get the knowledge, you need to practice the material along every step you are studying. That is the only way you can master the subjects.
For that, I recommend you find sources that provide you with robot simulations or at least git repos with code that you can download and test your solutions. You can check The Construct’s public repo of free robot simulations and download some simulations to practice with them. You can also check The Construct Open Classes, delivered each Tuesday online, which provide a lot of code and simulations already working on any computer without requiring any installation, and everything for free.
Start now!
So now you can search the internet for the best resources to provide you with the materials above. This should be your plan:
Dedicate a few days to select the best materials by reviewing them.
Make a list of the materials you selected for each subject in a document with links to the videos/posts/courses. If you are relying on books, order them now.
Then, make a calendar detailing when you will finish each subject. This is mandatory, especially if you are following the program by yourself. The calendar will act as accountability, which is the most challenging part when studying alone.
Then concentrate on those materials until you finish. Do not redo your list, or you will never end. The amount of resources out there is too huge! You should concentrate on learning rather on compiling more material (that is a way of procrastination, and signals that you lack willpower).
If willpower is your weak point…
Take into account that the weakest point in your path is your willpower. The main drawback of the self-learning approach is not not having the optimal path, and it is not not finding the optimal materials. It is, having the will to follow your plan until the end. This is where most self-guided learning fails at a +80% rate.
If you want to avoid that pitfall and wish to have a team that supports you, motivates you, and pushes you forward, check out our Robotics Developer Masterclass. In this program, we provide you with a path and all the resources, a group of tutors supporting your learning, simulated and real robots, projects, and a final internship once you graduate.
Our Robotics Developer Masterclass is project-based learning with employability in mind. Of course, we teach you robotics theory, too, but we emphasize the tools that you will use when working for a robotics company as a robotics developer.
And we will be pushing you along throughout the program! Check it out! Classes start in March and September each year. Enroll in the Robotics Developer Masterclass Batch 5 – September 2024 before August 1 and get €100 off per month: https://www.theconstruct.ai/robotics-developer/
Check the Q&A session about the Robotics Developer Masterclass that we are delivering on Youtube
Conclusion
Now you have a list of the essential knowledge must you master to land a robotics development job.
Go for it. The next 6 months can change your future for the better.
Final recommendation: during the learning process, pay attention to which subject sparks more interest in you. As you may imagine, the topics you learn in this program can be deepened in many ways. And since you cannot be a master of all the subjects, you should pay attention to those subjects that attract you more, and then, once you finish the program, go and learn more about them, or search for jobs related to that subject.
Now, go and do your homework. The robots of the future depend on you!
More and more robots are being used in factories, warehouses, and other environments all around the globe. And with this increasing number of robots working in the same space comes the necessity of organizing and optimizing robots’ tasks and interactions.
The problem
Let’s assume we have an heterogeneous group of 30 robots that are in charge of running a coffee shop. While we want some robots preparing the coffees, we want others serving them to the tables, others cleaning the tables, and others refilling the systems. We need to control automatic access to certain zones of the coffee shop, like automatic doors and elevators. We need to be able to deliver all those tasks in the most optimal way, at the same time that we manage the robots’ charging cycles.
And all this while, they don’t bump into each other, into other people and don’t run rampant all around the shop, or even lose themselves and end up in the toilet or out in the street.
All this isn’t easy to manage.
How to attack the heterogeneous fleet management problem
An heterogeneous fleet of robots can be composed of:
Different types of robots: for instance, mobile bases, robotic arms, drones, etc
Different manufacturers’ robots: this means, even if all the robots of our fleet are mobile bases, may be some are from one manufacturer, and others from a different one
Several types of actuators: for instance, system to open/close doors through which the robots must go, elevator managers, connectors to other machines the robot must interact with…
The fleet management system must be able to handle heterogeneous fleets in an orchestrated way, in order to achieve the fleet goal. If the goal is to run a cafeteria, then, many different types of robots and actuators will have to work together to keep the cafeteria running and with satisfied clients.
Basic components of a fleet management system
Any fleet management system needs at least the following core systems:
Path optimization systems: Once a task is assigned to a robot, the execution of that task has a cost. This cost typically is time but could be energy or any other parameter you consider a valuable resource in your robot environment. The fleet management system must optimize that cost.
Task allocation systems: Not all robots can perform all the tasks. So it is necessary to have a system that knows which robot can do what. Also, assign priorities to each job to improve the performance of the global systems. A vital element is resource allocation optimization. The tasks must be designated so that it uses all robot resources in the best way possible.
New Task creation systems: a flexible infrastructure that allows to create custom tasks required for the robotics solution. For instance, a task that requires to pick an object, paint it, transport it somewhere else, check it, package it, and send it to the customer.
Integrators of diverse navigation, movement, and manipulation systems: We need something that allows us to use different navigation and movement systems transparently so we can perform the tasks independently of the inner workings of each robot in the fleets.
Conflict detection and resolution systems: No system is perfect, so when something happens, when the tasks assigned conflict, how can we detect them and resolve them automatically?
Robot fleet health management: We need a system to decide when to send the robots to charge or declare them unavailable.
Monitoring Tools: We need a way to watch all our fleets or robots and know which task they are performing: their battery percentage, general health status, and location, among other things.
IoT integrations systems: We need our robots to be able to talk with other elements of our environment, such as human-operated stations, doors, lifts, mechanization machines, packaging systems, cranes, or even other external robots.
ROS2 enabled: It’s a recommended feature if you intend to use all the ROS2 power and open source infrastructure.
Having a complete framework for fleet management that takes all those elements into account is costly, very difficult to implement, and complex. That is why most of existing solutions only concentrate on the orchestration of fleets of mobile bases.
Already available systems
What follows is a list of fleet management tools already available in the market. We list commercial and open-source solutions.
Fleet management solutions must be divided between:
software that only allows monitoring of the fleets
software that allows to act upon the robots at anytime to modify their tasks
software that orchestrates all the robots to provide the best task resolution
Collecting data, even if one of the functionalities of a fleet management software, cannot be considered fleet management per se. Fleet management requires to be actionable upon the robots at any time.
Dashboards and reporting tools
Those are tools to monitor fleets of robots but do not achieve control of the fleet. They are just monitoring and providing insights about the fleets
It also allows to control the robots remotely. I have included in the section of reporting tools because its remote control capabilites are not in the sense of fleet management/coordination, but more kind of remote control of the robots
Even if it manages tasks for robots, it is not thought for a globally orchestrated system where a global tasks has to be accomplished in an optimized way. This software is more for assigning individual tasks to a set of robots, in an independent manner.
For robot navigation tasks (no integration with other types of robots or IoT)
Even if it manages tasks for robots, it is not thought for a globally orchestrated system where a global tasks has to be accomplished in an optimized way. This software is more for assigning individual tasks to a set of robots, in an independent manner.
For robot navigation tasks (no integration with other types of robots or IoT)
Its open-source nature of it makes it the best choice to start developing for your own company or even start a business of fleet management software.
It has a very active community and maintainers. See this discussion link to post new questions, issues, or feature requests.
It has all the above requirements in a ROS2 decoupled package system that allows you to mod very little.
It has some simulated demos that can at least give you a quick start for your application.
It is a really heterogeneous management system
It is open source
CONS:
It still needs a lot of work from the usability and stability points of view, especially from an industry standard (But now is the best time to learn it, and once it is stable, you will be among the FIRST ones to know how to use it).
The documentation has a lot of missing elements and examples, especially when it comes to integrating it into your own custom system.
Are you interested in learning about RMF or have tried but found it too time-consuming?
In that case, attend our ONLINE HANDS-ON RMF TRAINING:
three days training
100% hands on: practice with simulations and real robots (remote access)
not need to setup anything, start from minute one
master multi-robot navigation and fleet management in ROS2
Besides some commercial applications completely adapted to a specific company, it looks like there is no generic fleet management system apart from the Open-RMF, and even that, it is still on an early stage (as for September 2022).
The Open-RMF looks like the most promising fleet management software out there, given its openness and because it is developed by Open Robotics, the maintainers of ROS.
There has been an early attempt to define a kind of standard for robot inter-operability beyond the manufacturer. It is called the MassRobotics Interoperability Standard, which it is said that has been supported by several big players of the sector like Open Robotics (but I can’t find any mention to that standard anywhere). The idea is that manufacturers support that standard for interoperativiity, so your fleet management software can manage the robots of your fleet independently of who the manufacturer is. However, this standard doesn’t look moving forward (there are no documentation, the code is been stopped for almost a year (as September 2022)), as well as looking far away from an open standard (the name of the standard contains the name of the company that launched it. This may indicate that it is not so open).
The intention of these awards is to express recognition for contributions to the ROS community and the development of the ROS-based robot industry, and to help those contributions gain awareness.
Conditions
Selection of the winners is made by anonymous online voting over a period of 2 weeks
Organizers of the awards provide an initial list of 10 possible projects for each category but the list can be increased at any time by anybody during the voting period
Since the Awards are organized by The Construct none of its products or developers can be voted
New on 2022 edition: Winners of previous editions cannot win again, in order to not concentrate the focus on the same projects all the time. Remember, with these awards, we want to help spread all ROS projects!
Voting
Every person can only vote once in each category
You cannot change your answers once you have submitted your vote
Voting is closed 3 days before the conference, and a list of the finalists per each category is announced in the same week
Voters cannot use flaws in the system to influence voting. Any detection of trying to trick the system will disqualify the votes. You can, though, promote your favorite among your networks so others vote for it.
Measures have been taken to prevent as much as possible batch voting from a single person.
Categories
The awards can be awarded in the following categories:
1. Best ROS Software
The Best ROS Software category comprises any software that runs with ROS. It can be a package published on the ROS.org repo of just a software that uses ROS libraries to produce an input. Open Source and closed source are both valid.
Examples: the ROS navigation stack, Rviz, OpenVino,…
The Best ROS-Based Robot category includes any robot that runs ROS inside it. They can be robotics products, robots for research, or robots for education. In all cases, they must be running ROS inside.
Developers are the ones that create all the ROS software that we love. The Best ROS Developer category allows you to vote for any developer who has contributed to ROS development in one sense or another.
Examples: Tully Foote, Bence Magyar, Tomoya Fujita,…
This year, the third time we organise the awards, we have increased the total number of votes by 500% So we can say that the winners are a good representation of the feelings of the community.
Still this year, the winners of previous editions received many votes. Fortunately, we applied the new rule of not allowing to win previous winners, to provide space for other ROS projects have the focus on the community, and hence help to create a rich ROS ecosystem.
Conclusions
The ROS Awards started in 2020 with a first edition where the winners were some of the best and well-known projects in the ROS world. In this third edition, we have massively increased the number of votes from the previous edition. We expect this award will continue to contribute to the spreading of good ROS projects.
Since the very beginning, The Construct has focused on providing opportunities for practice with simulated robots instead of relying on basic video lessons.
Now we have taken an additional step by providing practice with real robots. How can you practice with real robots if you don’t have them? Connect remotely to our online real robot labs.
To provide this experience, we have created, in collaboration with Robotnik, the Remote Warehouse Robot Lab, where you can remotely connect and practice ROS1 and ROS2 with industrial collaborative robots.
You don’t have to install anything. We provide you with a full ROS1 and ROS2 environment on the web browser, so you can fully practice with ROS from any computer, including Mac, Windows or Linux. Access to the real robots is also managed through the browser, so you don’t waste time with ugly configuration issues.
Be on the edge of programming industrial collaborative robots.
Our goal is to keep you learning the latest technologies for programming collaborative robots with the most open and advanced frameworks and techniques.
For that goal we provide you with the Remote Warehouse Robot Lab, where you can practice with two types of industrial robots:
This is a mobile base robot able to move shelves from one location to another. With this robot, students can practice:
a. How to make a robot autonomously navigate
b. How to move shelves from one place to another
c. How to recognize environments, tags, people, or objects.
2. UR3e robotic arm
This is a collaborative robotic arm with a gripper and a 3D sensor for perception. With this robot, students can practice:
a. How to move a robotic arm
b. How to grasp and release elements from a surface
c. How to detect the objects to grasp through perception
How to use the Remote Warehouse Robot Lab
You can book a session with any of the robots. The RB-1 mobile base robot is available 20/7 (4 hours are required to recharge the mobile base throughout the day), and the UR3e robotic arm is available 24/7. You can find the schedule for each one of the robots inside The Construct’s lateral panel, under the Real Robot Lab option.
You will reach the page that allows you to make the booking
How to book a session
The process to access the robot is very simple:
1. Start the booking process
Log in to The Construct. Select the Real Robot Lab option on the left menu, and click on the Book Now button.
2. Select a robot
We offer a variety of robots in different remote labs. For example, in this Remote Warehouse Robot Lab, you can book the RB-1 mobile base robot or the UR3 robotic arm.
3. Select the ROS Distro to use
4. Select the day and time
Select a day and time that the robot is available (slot in green color). Remember that times are shown in your local time.
5. Confirm
Check that your booking is correct, and then confirm.
You are done! You can work with the real robot on the day and time booked.
How to practice with the simulation before connecting to the real robot
A complete simulation of the real environment is provided. We strongly encourage you to test your code on the simulation before going to the real robot. Practice with a simulation allows you to quickly identify potential programming errors and not waste your time with the real robots.
The simulated robot lab is quite realistic and corresponds to the actual setup of the real robot lab. We have even included the shelves that the mobile base robot can carry.
How to connect to the real robots
5-minutes before your booked time, you will get a notification indicating you should be prepared to connect to the real robot.
1. Launch a rosject
Connecting to a robot only makes sense within the context of a ROS project. This means you want to connect to the robot because you have a ROS project that you want to test on it.
That is why, before connecting to the robot, you need to open a rosject (a ROS project within The Construct). Select the rosject you want to test from your list of rosjects and press the run button.
2. Press the connect button
Once the rosject is open, go to the bottom bar to see the icon to connect to the robot.
Press that icon and then press the Connect to Robot button. After a few seconds, you will have a view of the cameras located in our lab pointing to the robot working area. The cameras allow you to see what is happening in the lab when you execute your program. When the cameras appear, this means you are now connected to the real robot and anything you execute will be executed in the robot itself.
(secret tip 😉: you can use the web-joystick to control the robot, but you can also connect a gamepad to your computer and control the robot remotely. 😉
3. Launch your programs
Once you are connected, you can work as if you were inside the computer of the robot.
Opening a terminal allows you to launch your ROS programs and control the robot. You can use Rviz or any other tools to control and visualize the status of the robot.
Practice with ROS1 or ROS2 setup
Practice with the robots can be done in any setup with ROS1 or ROS2.
The robots run ROS1 drivers natively, but The Construct’s platform allows students to launch the needed ros1_bridge and action_bridge required to manage everything in ROS2 (bridges provided and properly configured). Everything from basic ROS2 commands to complex Nav2 or MoveIt2 skills works correctly in this environment and allows you to practice complex ROS2 programs.
You can learn more about how those bridges work and how to use them in this online course: ROS2 Industrial Workshop.
Online Workshops
Apart from our regular students, we use the Remote Warehouse Robot Lab within the online workshops that we deliver. During the workshops, we teach on-camera to the students using Zoom. Students can connect to the lab from their own locations (any country worldwide) and practice with the robots.
For example, we use this procedure with the Get ROS2 Ready for Industrial Robots online workshop that we deliver every last week of the month. In this workshop, students dedicate 30 hours to learning how to program with ROS2 and connect to our real robot lab from their remote locations to practice them.
Who Should Access the Remote Warehouse Robot Lab?
The remote warehouse robot lab is aimed at engineers who want to be up to date on the latest ROS skills.
It is also useful for researchers that need to learn ROS skills fast.
Finally, the remote warehouse robot lab is useful for company leaders who need to have an overall understanding of the latest technologies for robotics in order to decide whether to use them or not.
You can create your own online remote robot lab!
The technology that we developed to create our own remote lab allows anybody to create their own remote lab with a few simple clicks. So, if you are interested in creating your own lab and making it accessible to a set of students or the whole world, contact us. It is a very simple and quick procedure and you can be delivering your robots to the world within an hour!
Check this video to have an idea of how to create your own remote robot lab.
Want to equip your team with ROS skills fast by practicing in our Warehouse Robot Lab?
ROS is becoming mainstream. But let’s face it, its ability to generate a revenue for ROS Developers is very low.
In this post, I propose you a simple way to generate a stable revenue by delivering online ROS Workshops.
Everything done from your location. The only thing you need is a good internet connection and good knowledge of ROS or related subjects.
What are ROS Workshops?
ROS workshops are 5 hours live sessions where the instructor explains a given ROS/Robotics/AI subject to the audience (students that attend the workshop).
The video is streamed to the audience. It will include instructor’s face as well as computer screen
The workshop is based on practice
To deliver the workshop, the instructor will create a rosject that contains the documentation, code, simulations, etc…
The audience will have a copy of the rosject prior to the workshop.
Workshops have a pause in the middle of it of 20 mins.
Audience will be practicing with the instructor at the same time
After the workshop is done, the attendants will have forever access to the rosject and video.
People who were not able to enrol and attend the workshop, can still buy its recording and rosject.
Workshops Must Be Based on Practice
Even if you can deliver a workshop just by opening a Zoom account and streaming live, the aim when delivering a workshop at The Construct is different. You should provide a fully practical workshop. That is a requirement. This means that the attendants must be practicing with you while you explain.
The way of allowing practice during the workshop is by using a rosject. A rosject is a ROS project executed on The Construct cloud.
A rosject contains all the documentation of the workshop in the form of a Jupyter notebook
It also contains the ROS packages for the simulations to be used
It may contain other code required for the workshop
It doesn’t depend on the attendant computer (Linux, Mac or Windows)
The rosject must be created by the instructor prior to the workshop. Then, it will be shared with all the attendants by The Construct platform.
This means that:
The instructor must prepare the rosject prior to the workshop
The instructor and the attendants will launch the rosject and follow it along during the workshop
Attendants will keep a copy of that rosject forever, including the workshop video recording
Why to use a rosject?
Because the attendants need to learn by practicing with the instructor. This is The Construct motto.
Instructor cannot ensure all the attendants will have a proper setup for the lessons (may be even doesn’t have a Linux computer).
Instructor doesn’t want to be dealing with computer configuration related issues during the intensive workshop
A rosject ensures that all the attendants will be able to reproduce instructor’s lessons the same exact way he planned from minute one of the workshop.
IMPORTANT: rosjects content can be downloaded by attendants anytime to their local computers. They have no special format, just current Linux files.
Instructor earnings
Every workshop is limited to 15 students maximum. This limitation allows a good quality of the workshop.
Price of the workshop starts at 199€, but the instructor can set any other larger price above that if he considers it (for instance, for very specialised subjects).
This means, with 199€, every workshop can generate up to 2985€. The Construct will keep 50% off it and provide the other 50% to the instructor (1492.5€).
Why this earnings split? Remember that every time a student launches the rosject, a cloud computer is started. The money is required to pay that cost.
Additionally, after the workshop has been done, a package containing the video and the rosject will be sold on The Construct platform, so anybody can reproduce the workshop at will. Sales of this workshop will also be split by half for The Construct and the Instructor. Workshop recordings with code and notes are expected to be sold 100€ more expensive than the live event.
This means that the workshop can become a passive income revenue for you. You can be generating money by selling that workshop for a long time.
Remember that you can create as many workshops as you want!
That is what we call a ROS Passive Income! 😉
How to deliver a workshop at The Construct
At The Construct we want you to make a good living delivering your workshops, but we care even more for the students. Workshops delivered at The Construct must have high quality. That is why we put a lot of attention to some details necessary to control the quality of the workshops, to make students learn a lot.
Please follow the following steps carefully to prepare your workshop.
Let’s take as an example our last Workshop about ROS2 (Full Intro to ROS2 Galactic Workshop)
1st Step: Decide your workshop’s subject, agenda, date and time
Create a small text file with the following data:
Name and title of the instructor. Instructor must have a profile in The Construct with picture and details filled (there is a link to the instructor’s profile so attendants can check the background of the teacher before deciding to enroll).
Day and time you will deliver the workshop (indicate time zone!)
Ex. : 27/7/2021, 18:00:00 CEST
Price for attending (at present only € amounts are accepted)
Ex. : 199€
Workshop title (the shorter the better)
Ex. Full Intro to ROS2 Galactic Workshop (Python)
Workshop short description, a sentence describing what the workshop is about
Ex. Master in only 5 hours ROS2 Basics with Python
Workshop full description. What is this workshop about
Ex. : Completely practical workshop, using simulated robots No configuration required. Everything provided ready to work
List of topics that will be covered
Ex. :
How to create ROS2 packages
How to access to the motors of a ROS2 robot (publishers)
How to access to the sensors of a ROS2 robot (subscribers)
How to build an obstacle avoidance application for a ROS2 robot
How to manage nodes (executors and callback groups)
How to debug ROS2 programs
Who should attend the workshop. What is the audience for this workshop
Ex. : ROS Developers that want to start transitioning to ROS2
Prerequisites (if any). A list of subjects that attendants must know prior to attend the workshop
Ex. :
A basic knowledge of Linux
A basic knowledge of Python
Agenda. List all times and topics delivered at each time. Remember to schedule for the 20 minutes break in the middle of the workshop
Ex. :
18:00-18:1027/07/2021 CEST
Intro to ROS2 Workshop
18:10-19:0027/07/2021 CEST
Creating ROS2 packages and code
19:00-19:5027/07/2021 CEST
Accessing robot actuators
19:50-20:4027/07/2021 CEST
Accessing robot sensors
20:40-21:0027/07/2021 CEST
Coffee Break
21:00-21:4027/07/2021 CEST
Obstacle Avoidance
21:40-22:2027/07/2021 CEST
Node Management
22:20-23:0027/07/2021 CEST
ROS2 Debugging
Workshop Cover Image
The Construct will take care of building a proper and nice image for your workshop. We will use that image to feature the workshop in our main page.
We will send you the Workshop Cover Image so you can use it to promote the workshop on your social networks.
Ex.
Workshop marketing
The Construct will promote the workshop over our community, but you should also take care of promoting it if you want it to be a success.
2nd step: create the workshop rosject
The rosject is the ROS project at The Construct that contains the material that you will share with the audience.
Inside the rosject, you should put the following:
Notebook with all the content the attendants will learn
Simulation code
Any extra code attendants will need during the workshop
You can get many ideas about how to create your rosjects from our Live Classes. Actually, our Live Classes follow the same principle. They are like workshops with a shorter duration (and everything is provided for free).
Watch some of our Live Classes to understand what to include in the workshop rosject and how to deliver one workshop.
IMPORTANT REMARK 1: Remember that each rosject has on average 2CPUs. So properly calculate the material that you are going to put there, otherwise your practice may be very slow.
IMPORTANT REMARK 2: Take into account that your rosject must be create as private (otherwise it will be publicly seen by other users of The Construct) . The free account of The Construct does not allow the creation of private rosjects, so you will need to get a private account which is only 9€/month.
Equipment
To start streaming you only require:
Have a camera (any webcam will do it)
Have a mic
Have a fast internet connection
On the day of the workshop, The Construct will call you through Hangouts and broadcast the call to the audience.
Final remarks
Workshop Certificate
The Construct will automatically issue a certificate of attendance to all the participants to your workshop, provided that they attended 3 hours or more.
Issue of the certificates is automatic. You don’t have to care about preparing it, but you should mention it during your marketing of the event.
Workshop Evaluation
Remember that workshops will be evaluated at the end by the attendants (only if they attended more than 3 hours). The evaluation will be shown in the page of selling workshops, as well as on the instructor profile. Getting a good review is necessary if you want that your workshop sales well after delivery.
Time Zones
Remember that people live in different time zones, so think carefully what time do you want to do your workshop so maximum amount of people will attend
What to do is just a few people register for the live workshop?
That is up to you. You can cancel the workshop by sending us a notice at least 24h before the workshop. If you cancel the workshop less than 24 hours to it, or simply do not deliver it as planned, you may be banned of the platform.
Conclusion
This is a new way of generating money teaching ROS. Different from building a course on Udemy or another video course platform because the attendants practice with the instructor.
Remember that your workshop will be displayed to hundreds of thousands of ROS Developers around the world, because of The Construct network. This increases your chances of getting more students interested in your workshop and hence, have more sales.
In case you want to know more, I will be delivering a Live Session on Youtube discussing all those ideas, next Wednesday the 4th of August 2021 here.