❗The content presented here is sourced directly from Udemy platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.
Updated in [October 18th, 2023]
What does this course tell?
(Please note that the following overview content is from the original platform)
Welcome to the course on ROS for Beginners III Web-based Navigation with ROSBridge. I am Anis Koubaa, and I will be your instructor in this course. This course is the third course in the series ROS For Beginners. It is a project-based course that deals with how to develop a web interface to teleoperate and interact with ROS-enabled robots.Project OverviewAt the end of this course project, you will develop a web interface that will allow you to teleoperate and monitor the robot based on ROS. The Web interface will be developed using ReactJS, which is a popular JavaScript framework for front-end development.We will first start by developing a component that will tell us whether the robot with which we would like to communicate is connected or not connected. Then, you will develop another component to teleoperate the robot through a web-based joystick in ReactJS. You also implement a button for stopping the robot in an emergency situation. Furthermore, the web interface will display live information about the robot such as its position, orientation, and linear and angular velocity. The last part of this project deals with map-based navigation. You will be able to display the navigation map on the web browser and send the goal location for the robot to navigate to. In the end, you will develop a comprehensive web interface that will allow you to interact with your robot easily through a web interface using the most popular JavaScript framework, which is ReactJS.Why this course?This course represents a first step into the world of cloud robotics.Cloud robotics is an emerging topic in the last few years and it aims at integrating mobile robots with cloud computing systems and the Internet of Things through web services interfaces.Besides, I have developed this course because there are not sufficient pointers and no comprehensive tutorials on how to make web browsers interact with robots.What's worth in this course?This course is unique in the sense that it is designed to Bridge the gap between the robotics world and the web development world.In fact, most of the engineers who work in the robotic area do not have a background in web development, and most of the web developers do not have a background on robots or ROS. This course bridges these two areas together and provides a systematic introduction to the topic of web development for ROS-enabled robots.Furthermore, we will use the ReactJS web development technology which the most evolving most popular javascript front-end development framework.You will learn all the tricks in a step-by-step approach to help you save plenty of time looking around for scattered documentation.Pre-requisitesTo take the most benefit from this course, you should be already familiar with Robot Operating System (ROS) and its navigation stack. If you are not familiar with ROS, then take by two courses ROS For Beginners I and ROS For Beginners II before diving into this course.As we will do some web development, it will be recommended to have some very basic understanding of HTML, CSS, and JavaScript, just basics and nothing advanced. You can take any introduction about HTML, CSS, and JS if you do not know about them.It is not required that you have any Prior knowledge of ReactJS because I will introduce all the essential concepts in this course.Welcome to the course and I wish you a pleasant learning experience.
We considered the value of this course from many aspects, and finally summarized it for you from two aspects: skills and knowledge, and the people who benefit from it:
(Please note that our content is optimized through artificial intelligence tools and carefully reviewed by our editorial staff.)
What skills and knowledge will you acquire during this course?
During this course, the learner will acquire the following skills and knowledge:
1. Developing a web interface: The learner will learn how to develop a web interface using ReactJS, a popular JavaScript framework for front-end development.
2. Checking robot connectivity: The learner will develop a component that can determine whether the robot they want to communicate with is connected or not.
3. Teleoperation: The learner will develop a component that allows them to teleoperate the robot using a web-based joystick in ReactJS.
4. Emergency stop button: The learner will implement a button that can be used to stop the robot in emergency situations.
5. Live robot information: The web interface will display live information about the robot, including its position, orientation, linear velocity, and angular velocity.
6. Map-based navigation: The learner will be able to display a navigation map on the web browser and send goal locations for the robot to navigate to.
7. Integration of robotics and web development: This course bridges the gap between the robotics world and web development by providing a systematic introduction to web development for ROS-enabled robots.
8. Introduction to ReactJS: The learner will be introduced to ReactJS, the most popular JavaScript framework for front-end development.
9. Saving time on documentation: The course provides a step-by-step approach to learning, saving the learner time on searching for scattered documentation.
10. Prerequisites: To fully benefit from this course, the learner should already be familiar with Robot Operating System (ROS) and its navigation stack. Basic understanding of HTML, CSS, and JavaScript is recommended, but prior knowledge of ReactJS is not required as all essential concepts will be introduced in the course.
Who will benefit from this course?
This course on ROS for Beginners III: Web-based Navigation with ROSBridge will benefit individuals who are interested in or working in the field of robotics and web development.
Specifically, this course is designed for engineers who work in the robotics area but do not have a background in web development. It will bridge the gap between the robotics world and the web development world, providing a systematic introduction to web development for ROS-enabled robots.
Additionally, web developers who do not have a background in robots or ROS can also benefit from this course. It will introduce them to the world of cloud robotics and teach them how to make web browsers interact with robots using web services interfaces.
To fully benefit from this course, participants should already be familiar with Robot Operating System (ROS) and its navigation stack. If they are not familiar with ROS, it is recommended to take the two prerequisite courses, ROS For Beginners I and ROS For Beginners II, before diving into this course.
Basic understanding of HTML, CSS, and JavaScript is also recommended, although not required. Participants can take any introduction to these web development technologies if they are not familiar with them. Prior knowledge of ReactJS is not required, as all essential concepts will be introduced in the course.
Course Syllabus
Introduction
Create the Basic React Application
Connection Component: Establish a Robot Connection with the Web App
Teleoperation Component: Drive your robot from the web app
Display Robot Position, Orientation and Speed
Map-based navigation on the browser