
Protected: Why You Should Become a Robotics Developer
Password Protected
To view this protected post, enter the password below:
To view this protected post, enter the password below:
About:
In the video of today, we are going to see how to easily set the start position of a robot within amcl. This video answers the following question found at ROS Answers: https://answers.ros.org/question/315517/set-start-position-of-robot-within-amcl/
? Subscribe for more free ROS learning: https://www.youtube.com/channel/UCt6Lag-vv25fTX3e11mVY1Q?sub_confirmation=1
RELATED ROS RESOURCES&LINKS:
ROS Development Studio (ROSDS) —▸ http://rosds.online
Robot Ignite Academy –▸ https://www.robotigniteacademy.com
Original Question –▸ https://answers.ros.org/question/315517/set-start-position-of-robot-within-amcl/
—
Feedback
—
Did you like this video? Do you have questions about what is explained? Whatever the case, please leave a comment on the comments section below, so we can interact and learn from each other.
If you want to learn about other ROS topics, please let us know on the comments area and we will do a video about it 🙂
#ROS #Robot #rostutorials
About:
In this video we are going to show you how to easily add a joint_trajectory_controller to your simulated robot.
? Subscribe for more free ROS learning: https://www.youtube.com/channel/UCt6Lag-vv25fTX3e11mVY1Q?sub_confirmation=1
RELATED ROS RESOURCES&LINKS:
ROS Development Studio (ROSDS) —▸ http://rosds.online
Robot Ignite Academy –▸ https://www.robotigniteacademy.com
joint_trajectory_controller –▸ http://wiki.ros.org/joint_trajectory_controller
—
Feedback
—
Did you like this video? Do you have questions about what is explained? Whatever the case, please leave a comment on the comments section below, so we can interact and learn from each other.
If you want to learn about other ROS topics, please let us know on the comments area and we will do a video about it 🙂
#ROS #Robot #rostutorials
https://youtube.com/watch?v=NDaD01XPmfg
About:
In this video we are going to show you how to easily add a joint_trajectory_controller to your simulated robot.
? Subscribe for more free ROS learning: https://www.youtube.com/channel/UCt6Lag-vv25fTX3e11mVY1Q?sub_confirmation=1
RELATED ROS RESOURCES&LINKS:
ROS Development Studio (ROSDS) —▸ http://rosds.online
Robot Ignite Academy –▸ https://www.robotigniteacademy.com
joint_trajectory_controller –▸ http://wiki.ros.org/joint_trajectory_controller
—
Feedback
—
Did you like this video? Do you have questions about what is explained? Whatever the case, please leave a comment on the comments section below, so we can interact and learn from each other.
If you want to learn about other ROS topics, please let us know on the comments area and we will do a video about it 🙂
#ROS #Robot #rostutorials
About:
In this video we’re going to check the following question found on the ROS Answers forum: https://answers.ros.org/question/314045/cannot-able-to-rotate-turtlesim/
RELATED ROS RESOURCES&LINKS:
ROS Development Studio (ROSDS) —▸ http://rosds.online
Robot Ignite Academy –▸ https://www.robotigniteacademy.com
—
Feedback
—
Did you like this video? Do you have questions about what is explained? Whatever the case, please leave a comment on the comments section below, so we can interact and learn from each other.
If you want to learn about other ROS topics, please let us know on the comments area and we will do a video about it 🙂
#ROS #rostutorials
This is a question that I get asked all the time:
“Do you recommend me to learn ROS with C++ or Python?“
As you may know, you can create ROS programs mainly in two programming languages: Python and C++. There are other languages available like Swift, Lisp or others, but those are not fully supported. So for the rest of the article, we will consider that only Python and C++ are the available ones for a newcomer. Mostly, whatever you can do in ROS with C++, you can do it also with Python. Furthermore, you can have C++ ROS programs (ROS programs are called nodes) talking to other Python ROS nodes in the same robot. Since the nodes communicate using standard ROS messages, the actual language implementation of the nodes is not affecting their communication. That is the beauty of ROS.
If that is the way of working of ROS, then, why not to let everybody program in the language they want? Well, because programming in one language or another has its consequences, especially when you are learning ROS. Let’s have a look at them.
Programming the Aibo robot in ROS Python
ROS C++ code
You: I do understand your list of pros and cons, but in the end, what should I do? I want to learn ROS… do I have to use Python or C++ for learning ROS?
Me: Well that depends on your situation. Based on your situation, some of the cons may not be a con (if you are a master of C++ the fact that C++ is difficult doesn’t affect you). So it may be convenient for you to start ROS with C++… if your goal is the industry! (because the robotics industry needs the speed of C++ for their robot programs). However, if your goal is research and academia, I would not recommend learning ROS with C++ even if you mastered it, because in academia, speed in testing hypothesis is more important than speed of execution. Hence Python would be your choice.
It all depends on your situation.
You: Yes but I need some clear examples of the learning path for the typical newcomer to ROS.
Me: OK, let me give you the typical situation.
One situation that I get all the time, especially at the University, is that students that come to learn ROS do not know neither C++ nor Python (actually, most of them not even know about Linux shell, but that is another matter). In that case, I strongly recommend start learning ROS using Python. Really, believe me, it is too much to try to learn ROS at the same time that you learn C++. I’ve seen many times. People get frustrated and complain about the difficulty of ROS. Yes, ROS is difficult but the thing is that you tried to swallow too much by learning C++ and ROS at the same time.
You: But I want to go to work for the industry. Does that mean that I’ll have to stay with Python every time that I program with ROS, so I won’t have access to the industry?
Me: No. What I’m proposing here is that you go step by step. I know you want to go fast, but that doesn’t work. Go step by step and you will actually learn faster and master both ROS for Python and for C++ (just if you want to).
You: Ok, so how do I learn step by step ROS if I know neither Python nor C++?
Me: Well, first you need to learn Python. Learn the basics of Python and how to manage classes. That is mostly what you will need from Python. You can learn it in this online free course. Once you know more or less about Python, then start learning ROS in Python. You should learn the following subjects in the following order:
(note: you can find all those subjects explained in the ROS wiki, or if you want something more interactive, you can try our ROS online academy).
At this point in time, you will already know the basics of ROS and understand what it is and how it works. Also, you would have practiced a lot writing Python code with classes. Now it is the moment to switch to C++ in case you want to program in that language (if it is not your case and you feel comfortable with Python, jump to the next step). Learn now the basics of C++, including classes and pointers (especially smart pointers, because they are used a lot in ROS). Then, you will have to revisit some basic concepts of ROS, because they are treated differently in C++.
So you need to go back again to learn the basics of ROS, but this time in C++. Study the following subjects:
Finally, continue getting more knowledge of ROS, either in C++ or in Python. Learn the following subjects, without any specific order. Just choose the subject based on your own preferences or needs:
That’s it!
You: it sounds like a lot of work, but it makes sense.
Me: Yes it is! But nobody said that was going to be easy…
Once you have mastered most of the subjects of ROS and both Python and C++, you can start developing like a pro.
You: What does it mean like a pro?
Me: Well, for me it means that you will create nodes in either C++ or Python, depending on your requirements.
For example, while I was creating the navigation software of a human size humanoid robot, I created the localization algorithm using C++, but I created the recovery behavior when lost using state machines in Python. The localization algorithm is a complex algorithm requiring to run fast and consuming a lot of resources (because of the particles), that is why I did it in C++, but the coordination behavior did not require a fast execution, but instead, required a clear structure and easy reading to understand the logic behind.
Learning ROS with Python or C++ depends on your current situation and the reason why you want to learn ROS. If you are like the typical newcomer (no knowledge of Python nor C++), then definitely, you should start learning ROS with Python and then decide whether it is convenient for you to move to C++.
Let me know about your experiences in the comments below. Did you learn ROS using C++ or using Python? Why? Would you have done differently if you could go back?