Chuyển đến nội dung chính

Tips for Teaching Robotics Remotely During COVID-19

 

Tips for Teaching Robotics Remotely During COVID-19

The world has changed in 2020. Due to the COVID-19 pandemic, all of our in-person social interactions have been reduced. This has led to closing universities and students learning remotely online.

Robotics Education

You can teach almost any subject online, but teaching some subjects will be more difficult than others. For instance, you can remotely teach medical students about lung illnesses, but part of this education comes from interaction with sick people. That is very difficult to provide through online teaching.

In robotics, something similar happens. If you want to teach robotics properly, you need to use a real robot. So how can we teach robotics online and provide a full learning experience?

By 

How far can we go with online teaching of robotics?

Before answering this question, we need to identify what do we need to teach when teaching robotics. And then we can see what can be covered online. Let’s have a look at the typical robotics curriculum of some important universities:

Introduction to Robotics, Stanford University, fall 2020 program
Introduction to Robotics, Carnegie Mellon University, 2020 spring program
Introduction to robotics, University of Louvain-la-Neuve, 2020 spring program
Modern Robotics, Coursera Specialization path

Summarizing from the syllabus of those courses, we conclude that the following are the main subjects when teaching robotics:

Robot action and perception

Arm kinematics

Mobile robots kinematics

Robot dynamics

Motion planning and control

Robot navigation

Computer vision

When we are talking about teaching robotics, we are not talking about teaching how to build a robot (that would be more related to mechatronics and electronics), but about how to understand how robots work, especially in their interaction with the world, and how to create programs that make the robots properly interact with the world. We take, hence, the physical robot for granted and concentrate on the control algorithms.

Providing robotics theory to remote students

That is the easy part of the teaching. If your online teaching is based only on slides describing the theory of the subjects above, then you are almost done. You just need to prepare your slides with the subject, and then use an online meeting tool such as Zoom, Google Meet, Skype or any other meeting software. I’m sure you know already which one to use.

How to provide robotics practice

If you want your students to really understand the theoretical concepts, why they are required and what are the results in real life, you will need to provide some kind of practice.

I propose to teach the Robot Operating System (ROS) at the same time we teach robotics, and use the former along the whole robotics semester as a tool to build and implement the subjects we are teaching. The idea is that we use ROS to allow the students to actually practice what they’re learning. For instance, if we are talking about the different algorithms of obstacle avoidance, we can provide a simulated robot and make the student create a ROS program that actually implements the algorithm for that robot. By following this approach, the student is not only learning the theoretical ideas, but is also putting into practice what they are learning.

Learning ROS will also be extremely beneficial for their careers as ROS is becoming more popular in robotics worldwide.

Providing practice environment when teaching robotics remotely

If you like this approach, then you will have to provide your students an environment for practicing with ROS. Now that they are online and not at your labs, you will have to rely on the students for that.

You have two options here:

  • Provide a robot simulations based environment

  • Provide a real robot based environment

 

 

For simulated environments, the goal is to set up the students with a ROS-based simulation environment ready for practicing. That is not an easy task, especially when the students are remote. Here are four ways to do this:

Students install ROS in their computer. Students will need to follow the instructions here. This is a risky option if your students do not have Linux already on their computers (because that implies having to install Linux first and do a dual boot in their computers).

Students install a provided Virtual Machine (VM) with ROS. This option skips the step of installing Linux and dual boot. Still, students will need to install the VM software and the actual VM image containing Linux and ROS. I haven’t found any VM ready to download with a modern ROS Distro, so you will need to build it yourself and then provide it to your students. Follow these instructions to build a ROS VM image with the latest ROS Distro.

Students use a ROS-based docker. This is a similar approach to the previous one, but more modern and a little bit more complex for the students because they need to understand the use of dockers. Follow the instructions here to download a ROS docker.

Students use the Robot Ignite Academy web-based environment. We have developed this platform at The Construct, which is a web-based ROS environment, where students do not have to install anything in their computers, and it works with type of computer. It provides the lessons, exercises, forum, and exams ready to use. Everything ready for the teacher to apply his magic as a teacher!

How to evaluate the students

That is an important point. Students need to be evaluated in some sense, otherwise the teacher will not be able to assess the knowledge they acquired.

ROS comes again to the rescue. ROS allows us to evaluate students remotely by making them do programs that work on the exam. For that, I recommend you create practical exams based on ROS where the students need to apply what they learned to a simulated robot. Instead of doing a theory-based exam, do an application of theory over the simulated robot.

This is very important to avoid cheating. It is very difficult to copy the program of somebody else without showing they copied! It is almost impossible to build the same code, even the same structure. You will quickly notice who copied.

Additionally, to make the thing a little bit more difficult to copy, I indicated that the packages, topics, messages, files they have to create required to have attached their names at the end (for instance, if they have to create a ROS message named startup_time, I would request to each student to create the message startup_time_YOUR_NAME. That makes it more difficult to copy code because everyone has to adapt.

That is the method I personally applied for my ROS classes at the University of LaSalle Barcelona. I even allowed the students to use their notes or other programs they did in the past to solve the exam. The subject is so complex that if you really understand how the code you did in class fits in the exam, then that means you deserve to pass the exam.

In my case, the exams were provided by the Robot Ignite Academy and were also auto corrected using the autocorrection system of the academy. That is a lot of work that I saved myself!

Is teaching robotics online the future?

My impression is that teaching robotics online is going to become more and more important in the near future. First, because we do not have any other chance (everything is closed). Second, because people will see that doing things online has a huge advantage in terms of efficiency and money (more money for both sides: students will have to pay less, Universities will get more students from many different locations of the world). Third, I suspect many people will not want to come back to the previous way once they taste this new way of learning.


Source: robotlab.com

Nhận xét

Bài đăng phổ biến từ blog này

4 Đặc điểm sân khấu trong Scratch (cho người mới)

  - Bài viết được trích từ giáo trình học Scratch - 1/ Kích thước của sân khấu: Sân khấu trong Scratch có 3 loại kích thước sau đây: - Kích thước chuẩn: Rộng 480 px, Cao 360 px - Kích thước nhỏ nhất: Rộng 240 px, cao 180 px. Bằng 1/2 kích thước chuẩn - Kích thước toàn màn hình: Phụ thuộc vào kích thước màn hình máy tính. Một số điểm lưu ý: - Đơn vị đo chiều rộng và chiều cao được tính bằng Pixel, ký hiệu là px. Tuy nhiên, trong các khối lệnh của nhóm lệnh Motion thì từ khóa sử dụng là Steps(Số bước đi). Ví dụ khối lệnh move () steps được hiểu là di chuyển đối tượng đi một số bước nào đó. Số bước ở đây tương đương với Pixel. - Sân khấu là một hệ trục tọa độ hai chiều, có trục x và trục y. Điểm chính giữa của sân khấu có tọa độ (x=0, y=0) gọi là gốc tọa độ. Với hệ trục tọa độ thì có phần âm và phần dương. Xem hình ảnh minh họa sau đây: 2/ Backdrop - Ảnh nền/ Phông nền của sân khấu. Cũng giống như đối tượng trong Scratch, nếu mỗi đối tượng có thể có nhiều hình dạng khác nhau gọi là Costum

[20 blogs Cùng bố Học lập trình] Dự án Hệ thống đèn giao thông cảnh báo có đoàn tàu đi qua !

  Bước 1: Cảm biến ánh sáng Chúng ta sẽ sử dụng cảm biến ánh sáng để phát hiện xem có tàu chạy qua hay không. Chúng ta sẽ làm điều này bằng cách phát hiện bóng của đoàn tàu. Trước tiên, hãy khám phá cách hoạt động của cảm biến ánh sáng bằng cách tải chương trình sau xuống micro: bit. Bây giờ nhấn nút A và micro: bit phản hồi bằng một số. Con số này cho biết lượng ánh sáng chiếu vào đèn LED (vâng, đèn LED cũng có thể được sử dụng để phát hiện ánh sáng).  Nếu số mà bạn nhận được là 255 hoặc 0, điều đó có nghĩa là cảm biến độ sáng đang khởi động, vì vậy bạn cần nhấn nút một lần nữa. Bước 2: Cảnh LƯU Ý: Nếu bạn không sở hữu một chiếc xe lửa, bạn cũng có thể sử dụng một chiếc xe hơi hoặc thậm chí bàn tay của bạn để tạo bóng. Phát hiện một cái bóng có thể hơi khó khăn. Để làm việc này, chúng ta cần có một ngọn đèn sáng ở phía bên kia của tàu, không quá cao. Chúng ta có thể sử dụng đèn bàn học. Hơn nữa, chúng tôi không muốn quá nhiều ánh sáng từ các nguồn sáng khác, vì vậy bạn có thể phải đón

[Scratch] 10 THAO TÁC XỬ LÝ KỊCH BẢN TRONG SCRATCH (Cho người mới)

  - Bài viết được trích từ giáo trình học Scratch - THAO TÁC XỬ LÝ KỊCH BẢN TRONG SCRATCH 1/ Phân biệt một khối lệnh, một đoạn mã và một kịch bản. Trong một dự án thường có nhiều đối tượng, mỗi đối tượng lại có một hoặc nhiều kịch bản. Mỗi kịch bản được lắp ghép từ nhiều khối lệnh, cứ từ hai khối lệnh lắp ghép liền nhau trở lên được coi là một đoạn mã. Trước khi thực hiện các thao tác xử lý kịch bản ta cần phân biệt rõ các khái niệm một khối lệnh, một đoạn mã và một kịch bản. 2/ Phục hồi lại các thao tác xử lý trong khu vực kịch bản. Trong quá trình thực hiện các thao tác xử lý khối lệnh như xóa, sao chép,...có thể bạn sẽ cần phục hồi lại thao tác đó. Hãy sử dụng thanh Menu với lệnh Undelete trong mục Edit. 3/ Cách chèn thêm và tách rời một khối lệnh - Chèn thêm 1 khối lệnh vào giữa 2 khối lệnh trong kịch bản Giả sử có một kịch bản như hình 1, ta muốn chèn thêm một khối lệnh vào giữa 2 khối lệnh như hình 2. Hãy nhấp trái chuột để nắm và kéo khối lệnh đó vào vị trí mong muốn đến khi nào