ロボティクスとROSの教師が犯す5つの間違い

ロボティクスとROSの教師が犯す5つの間違い

(以下のテキストはAIによって翻訳されました。原文はこちらでご確認いただけます。もし疑問点やご意見がありましたら、info@theconstructsim.com までメールかメッセージをお送りください。)

先週、同僚から大学でROSを教える方法についてアドバイスを求められました。彼女は来月からROSの授業を始める予定です。それから私は、大学でROSを教える際に過去に comitted した5つの誤りを記録することに決めました。このビデオがあなたのお役に立ち、私が犯した誤りを回避し、ROSの授業を円滑に始めるのに役立つことを願っています。

🙅 第1の誤り:ROSのインストール方法を教えて始める

最初の誤りは、ROSのインストール方法を教えてROSの授業を始めることです。これは、ROSの学習とは関係のないことを教えているため、ROSの学習に大きな問題を抱えた初学者にさらに多くの障壁を設けてしまう誤りです。ROSのインストール方法を教え、インストールの問題を解決するために費やす時間は、実際にはロボット内でROSの問題を解決するために使用できます。

🙅 第2の誤り:C++を使用してROSを教える

2番目の誤りは、C++を使ってプログラムすら知らない学生にROSを教えることです。この誤りは、プログラミングの知識がない学生にROSを教えなければならない教師に特有のものです。私がいくつかの学生にROSを教えたときのケースで、彼らはメカトロニクスの背景を持っており、プログラミングやLinuxの使用方法を全く知りませんでした。

ROSはPythonまたはC++を使用して教えることができることを知っています。C++は非常に複雑であり、ROSも非常に複雑です。したがって、C++とROSの両方を組み合わせ、プログラムを全く知らない学生に教えると、非常に困難になる可能性があります。代わりに、私が提案するのは、これらの状況ではPythonを使用して始めることです。ROSをPythonを使って教え、それを始める前にPythonについての授業を行います。Pythonは非常に簡単で、学生は非常に速く学ぶことができます。ROSの重要な概念をすべてPythonを使用して習得した後、必要な場合にC++に切り替えることを試みることができます。産業界で働きたい場合など、C++が必須の場合にのみC++を使用します。

🙅 第3の誤り:スライドを使用してROSを教える

3番目の誤りは、スライドを使用してROSを教えることです。私にとって、スライドを使用してROSを教えることは、地上で泳ぐ方法を動作を示すことで教えることと同じです。私は直接水に飛び込んで、動いてみて何が起こるかを見ることを好みます。これをROSにどう翻訳すればいいのか?つまり、最初の1分からロボットと実際に練習を始める必要があるということです。

私が提案したいのは、ROSの非常に小さな理論的な概念を教えることから始めることです。たとえば、トピックサブスクライバーとは何か、ということ。しかし、非常に迅速に、学生がこれをロボットに適用する機会を提供し、例えばカメラからデータを取得する方法などを通じて、ロボットと一緒に練習させます。その後、学生はプログラムを作成し、カメラに接続しようとします。うまくいかない場合、彼はあなたが教えた理論に戻り、どこが問題かを確認し、プログラムを変更して再試行し、理解されるまでこのプロセスを繰り返します。そして、次の概念に移る前に、すべてが理解されたところで進みます。これが私が提案するプロセスです。

🙅 第4の誤り:ROSのすべてを教えなければならない

4番目の誤りは、すべてのROSについて教えなくても良いということです。ROSは広範なトピックであり、学生にすべてを教えようとすると、学生は圧倒されてしまいます。その代わりに、提案するのは、現在の学生のレベルに関連する部分のみを教えることです。彼が何も知らない場合、たとえばパッケージの作成方法やカメラからデータを取得する方法を知らない場合、これがマスターされたら、次のレベルに進み、常に固まった基盤から進むようにし、学生のレベルが上がるにつれて進んでいくのです。

🙅 第5の誤り:ROSのすべてを知らなければならない

5番目の誤りは、ROSのすべてを知らなければならないと心配することです。ROSがカバーするすべてを知ることは不可能ですので、授業中に生徒が答えのない質問をすることが非常にあります。これは非常に一般的なことです。私にも今日そういうことがありました。しかし、あなたはそれについて心配する必要はありません。もしそうなった場合、私のお勧めは生徒に伝えることです。「申し訳ありません、この質問の答えがわかりませんが、問題をメモして次の日に答えを探します」と言ってください。次の日には、この答えを生徒に提供します。そして、これを行うことで、本当の自信を生徒に示すことができます。おそらくあなたはすべてを知らないかもしれませんが、問題を解決する方法を知っており、徐々に知識を増やしていくことになります。生徒があなたに質問して何か知らないことを示すことが、あなたを引き戻したり、授業やROSの学習を進めなくすることはありません。

Teach ROS in Luxemburg University

要約

このビデオを締めくくる前に、3つのアドバイスをお伝えします。

最初のアドバイスは、授業をROSのインストールに基づかせないことです。その方法については、こちらの投稿をご覧いただき、仮想マシンやDocker、Web統合環境を使用してこのステップを回避する方法を学んでください。ぜひチェックしてみてください。

次に、学生が非常に熟練したプログラマでない限り、ROSを教える際にC++を使用しないでください。Pythonから始めてください。学生がLinuxやPythonの知識を持っていない可能性も高いです。その場合は、ロボティクスのためのLinuxを学ぶための無料のオンラインコースと、ロボティクスのためのPythonを学ぶための別のリンクがあります。どちらも役立つかもしれませんので、ぜひチェックしてみてください。

そして、最後のポイントは、生徒にできるだけ多くの練習をさせることです。ラボで利用可能なロボットをできるだけ早くROSで実習に使用してください。もしロボットがない場合、手元に置く余裕がない場合は、シミュレーションを使用してください。シミュレーションはROSの学習に非常に役立ちます。さまざまなタイプのロボットで練習する機会を提供し、非常に有用です。それでは、今回のビデオは以上です。皆さんのお役に立てれば幸いです。

キャンパス向け

世界No.1のロボット工学教育・学習プラットフォーム

簡単に始められ、柔軟性に富み、業界に沿ったオンラインロボット工学教育・学習プラットフォームで、カリキュラムを近代化します。

로봇공학 및 ROS 교사들이 하는 5가지 실수

로봇공학 및 ROS 교사들이 하는 5가지 실수

지난 주에 제 동료가 다음 달에 ROS 수업을 시작하게 되어 대학에서 ROS를 가르치는 방법에 대한 조언을 구해 왔습니다. 그 후로, 나는 대학에서 ROS를 가르치면서 내가 과거에 저질렀던 5가지 실수를 녹화하기로 결정했습니다. 이 비디오가 여러분에게 유용하고 내가 한 실수를 피하도록 도움이 되기를 희망합니다.

🙅 1번째 실수: ROS 설치 가르치기

첫 번째 실수는 ROS 설치 방법을 가르치면서 ROS를 가르치기 시작하는 것입니다. 이것은 ROS 학습과 관련이 없으므로, ROS를 배우는 사실에 대한 장벽을 더 많이 설정하는 실수입니다. 실제로 ROS 설치 방법을 가르치고 설치 문제를 해결하는 데 소비되는 모든 시간은 로봇 내에서 ROS 문제를 해결하고 가르칠 때 사용할 수 있습니다.

🙅 2번째 실수: C++로 ROS 가르치기

두 번째 실수는 프로그래밍조차 모르는 학생들에게 ROS를 가르칠 때 C++를 사용하는 것입니다. 이 실수는 프로그래밍을 전혀 모르는 학생들에게 가르쳐야 하는 교사들을 위해 특별히 해당됩니다. 제 경우에는 메카트로닉스에서 온 학생들을 가르쳤으므로 프로그래밍이나 리눅스 사용 방법을 전혀 모르는 학생들이었습니다.

ROS를 Python 또는 C++를 사용하여 가르칠 수 있음을 알고 있습니다. 그리고 C++가 매우 복잡하며 ROS도 복잡하다는 것을 알고 있습니다. 그러므로 C++와 ROS 두 가지를 혼합하여 프로그래밍을 전혀 모르는 사람들에게 가르치면, 그들에게는 많은 어려움이 될 것이므로 그들이 따라가고 이해하기가 매우 어려울 것입니다. 대신 이러한 상황에서 Python을 사용하기를 제안합니다. Python을 사용하여 ROS를 가르치고 시작하기 전에 Python에 대한 몇 가지 강의를 진행하십시오. Python을 배우기 매우 쉬우며 매우 빨리 배울 수 있습니다. Python을 사용하여 ROS의 모든 커리큘럼을 제공한 다음, ROS의 주요 개념을 Python으로 마스터한 후 ROS를 C++로 전환하려고 시도할 수 있지만 필요한 경우에만 그렇게 하십시오. 그 산업에서 일하려는 경우와 C++이 필수적인 경우입니다.

🙅 3번째 실수: 슬라이드를 사용하여 ROS 가르치기

세 번째 실수는 슬라이드를 사용하여 ROS를 가르치는 것입니다. 나에게 있어서 슬라이드를 사용하여 ROS를 가르치는 것은 움직임을 보여 주며 땅에서 수영을 가르치는 것과 같습니다. 나는 곧바로 물로 뛰어들어 움직이기 시작하고 무슨 일이 일어나는지 보는 것을 선호합니다. ROS에 어떻게 번역되는지? 그래서 제 의미는 우리는 로봇과 직접 연습부터 시작해야 한다는 것입니다. 이렇게 시작해야 한다는 제안을 보여 드리고 싶습니다. ROS의 매우 작은 이론적 개념을 가르침으로써 시작하십시오. 예를 들어, 토픽(topic), 토픽 구독자란 무엇인가(topic subscriber)? 그러나 매우 빨리 학생들이 이것을 로봇에 적용하도록하여 예를 들어 카메라에서 데이터를 어떻게 캡처하는지를 알아보십시오. 그런 다음 학생은 이 프로그램을 만들고 카메라에 연결하려고 노력할 것입니다. 작동하지 않으면 가르친 이론으로 돌아가서 오류가 어디에 있는지 확인하고 프로그램을 다시 변경하고 다시 시도하고 이 루프를 반복하고 모든 것이 이해될 때까지 다음 개념으로 이동하십시오. 그것이 내가 제안하는 프로세스입니다.

🙅 4번째 실수: ROS에 대해 모든 것을 가르쳐야 함

네 번째 실수는 학생에게 ROS에 대해 모든 것을 가르칠 필요가 없다는 것입니다. ROS는 방대한 주제이므로 학생에게 모든 것을 가르치려고 하면 압도될 것입니다. 대신 현재 학생의 수준과 관련된 부분만 가르치기를 제안합니다. 그가 아무것도 모르면 예를 들어 패키지를 만드는 방법과 카메라에서 데이터를 가져오는 방법을 가르치고 이를 마스터하면 다음 단계로 넘어가기를 제안합니다. 항상 이해된 기반에서 이동하며 학생의 수준이 올라감에 따라 전진하십시오.

🙅 5번째 실수: ROS에 대해 모든 것을 알아야 함

다섯 번째 실수는 ROS에 대해 모든 것을 알아야 한다는 걱정입니다. ROS가 다루는 모든 것을 알아내는 것은 불가능하기 때문에 수업 중에 학생 중 일부가 당신에게 알지 못하는 질문을 할 가능성이 높습니다. 그것은 매우 정상적인 일입니다. 오늘 나에게도 그런 일이 있었고 그것에 대해 걱정하지 않아도 됩니다. 만약 그런 일이 벌어진다면, 학생들에게 “죄송합니다. 이 질문에 대한 답을 모르겠지만, 문제에 대한 메모를 남기고 다음 날에 대답을 찾겠습니다.”라고 안내하십시오. 그런 다음 다음 날에 이 답변을 제공하십시오. 그렇게 함으로써 당신은 정말로 학생들에게 당신의 주제에 대한 자신감을 보여 줄 것입니다. 아마 당신은 모든 것을 알지는 않겠지만 그곳에서 문제를 해결하는 방법을 알고 있고 지식을 조금씩 늘려 나갈 것입니다. 그래서 그들이 당신에게 질문을 하고 당신이 무언가를 모른다고 보여주는 것이 당신을 제자리에 묶어두지 않도록하고 ROS 수업과 학습에서 진전하지 못하게하지 마십시오.

Teach ROS in Luxemburg University

요약

자, 이 비디오를 마무리하면 세 가지 조언을 드리겠습니다.

첫 번째는 컴퓨터에 ROS를 설치하는 것을 기반으로 수업을 만들지 마십시오. 그러려면 이 게시물을 참조하여 가상 머신이나 도커 또는 웹 통합 환경을 사용하여이 단계를 건너 뛸 수 있는 방법을 보여주는 것입니다. 그래서 확인해보십시오.

그리고 또한 당신의 학생이 매우 숙련된 프로그래머인 경우가 아니라면 ROS를 가르치기 위해 C++를 사용하지 마십시오. Python으로 시작하십시오. 또한 여러분의 학생들이 리눅스나 Python 지식이 전혀 없을 수 있습니다. 그렇다면 여기 무료로 제공되는 두 가지 온라인 강의 링크가 있습니다. 로봇 공학을 위한 리눅스를 배우기 위한 것과 Python을 배우기 위한 것입니다. 그래서 확인해보고 여러분의 학생들에게 유용할 수 있을지 확인해보십시오.

그리고 세 번째로 가능한 한 많이 연습하도록 학생들에게 권장합니다. 귀하의 연구실에 있는 로봇을 ROS와 함께 가능한 한 빨리 연습하는 데 사용하십시오. 로봇이 없거나 그것들을 감당할 수 없다면 시뮬레이션을 사용하십시오. 시뮬레이션도 ROS를 배우기에 매우 좋습니다. 학생들이 여러 가지 다양한 유형의 로봇과 함께 연습할 수 있도록 허용하기 때문에 매우 유용할 수 있습니다. 그게 다 입니다. 이 비디오가 여러분에게 도움이 되기를 바랍니다.

5 Mistakes Robotics & ROS Teachers Make

5 Mistakes Robotics & ROS Teachers Make

Last week, a colleague of mine asked me for advice on how to teach ROS at university because she is going to start delivering a ROS class next month. Then I decided to record this video with 5 mistakes I have made in the past while teaching ROS at the university. I hope that this video is useful for you and helps you avoid the mistakes that I made so you can start delivering ROS classes smoothly.

🙅 1st mistake: Start teaching ROS by teaching how to install ROS

The first mistake is you start teaching ROS by teaching how to install ROS. This is a mistake because learning how to install ROS is irrelevant to the fact of learning ROS. Actually, you are putting a lot more barriers to the newcomers that already have a big problem learning ROS itself. All this time spent teaching how to install ROS and how to solve installation problems can actually be used to learn and teach how to solve problems with ROS inside the robot. 

🙅 2nd mistake: using C++ to teach ROS

Mistake number two is using C++ to teach ROS to students that don’t even know how to program. Okay, so this mistake is specific for those teachers who have to teach to guys who don’t know how to program. So, that was my case when I had some students that came from mechatronics, so they don’t even know how to program or how to use Linux.

You know that you can teach ROS by using Python or C++. And you know that C++ is very complex. You also know that ROS is very complex. So, if you mix those two things, C++ and ROS, and teach this to people who don’t even know how to program, that’s a lot for them, so it’s going to be very difficult for them to follow and to understand. Instead, what I propose is that in those situations, you start using Python instead. You are going to teach ROS with Python, and before starting that, do some classes about Python, just learning Python, which is very easy and they can learn very, very quickly. You provide all the curriculum of ROS using Python, and then once they have mastered all the key concepts of ROS using Python, you can try to do this switch into ROS with C++, but only for the cases that are necessary. You know those cases that want to work in the industry and C++ is mandatory.

🙅 3rd mistake: teaching ROS by using slides

Okay, so the third mistake is teaching ROS by using slides. Well, for me, teaching ROS with slides is like teaching to swim on the ground by showing the movements. I prefer to jump straight into the water and start trying to move and see what happens, right? How does that translate into ROS? So, what I mean is that we have to start by practicing with the robot straight away, from minute one.

The proposal that I would like to show you is start by teaching a very small theoretical concept of ROS. What is a topic, for example, a topic subscriber? Then, but very quickly, then you have the student apply this to a robot, so for example, with the robot, how to capture from the camera, the sensor. Then, the student is going to create this program, try to connect to the camera. If it doesn’t work, then he will have to go back to the theory that you have taught and then see where the mistake is. And then change the program again and try again, and then repeat this loop until everything is understood and then go to the next concept. So, that’s the process that I propose 

🙅 4th mistake: have to teach everything about ROS

The fourth mistake is you don’t have to teach everything about ROS. ROS is a large subject, so if you try to teach everything to the student, he will be overwhelmed. So instead, what I propose is that you only teach those parts that are relevant to the current level of the student. So if he doesn’t know anything, for example, let’s say how to create packages and how to get data from the camera, then once this is mastered, go to the next level, but always moving from a base that has been solidified, that has been understood, and just move forward as the level of the student increases, not more.

🙅 5th mistake: have to know everything about ROS

The fifth mistake is to be worried about having to know everything about ROS. Well, it is impossible to know everything that ROS covers, so it is very likely that while you are in the class, some of the students will ask you some questions that you don’t have an answer for. That’s very normal. That happened to me today and you don’t have to worry about that. If that happens to you, my recommendation is that you just indicate to the students, “Sorry, I don’t know this answer, but I will take note of what the problem is and then find the answer for the next day.” Then on the next day, you’re going to provide this answer to the students. Then by doing this, you are going to really show your students your confidence on the subject. So maybe you don’t know everything, but you know how to solve the problems there and also you are going to increase your knowledge, little by little. So don’t let those questions they are asking you and showing that you don’t know something set you back and not progress in your class and learning of ROS. 

Teach ROS in Luxemburg University

Summary

Okay, let me conclude this video by giving you three pieces of advice.

The first one is you don’t base your class on installing ROS in the computers. So if you want to avoid that,  here is a post where I show how you can avoid that step by using virtual machines or dockers or web integrated environments. So have a look.

So then, also please don’t use C++ for teaching ROS unless your students are very skilled programmers. Start with Python. It is also very likely that your students are coming from a background without any Linux knowledge, any Python knowledge. Then if that is the case, here is a link to two online courses that are free; one for learning Linux for robotics and another one for Python for robotics. Okay, so check them out and see if they could be useful for your students. 

And the third point is that you should make your students practice as much as possible. So use the robots you have at your lab for practicing as soon as possible with ROS. And if you don’t have robots, you can’t afford them, then use simulations. Simulations are also very good for learning ROS. They allow the students to practice with many different types of robots, so they could also be very, very useful.

And that is all for this video. I hope that this is useful for you

Pin It on Pinterest