Post #3

Experiences about learning ROS

In the beginner's tutorial, we learned the basics of ROS and it covered important components of the ROS system such as ROS Nodes, Topics, Messages and Services. To show that we have completed the tutorial, we are going to list the helpful commands we have encountered in the tutorials as well as some images we took along the process. 


We can navigate through ROS with convenient commands it has:


Whenever we created a new workspace, we need to build the packages and source the files.


Useful functionality: 


ROS Nodes: an executable that uses ROS to communicate with other nodes. 


ROS Messages: ROS data type used when subscribing or publishing to a topic. 


ROS Topics: Nodes can publish messages to a topic as well as subscribe to a topic to receive messages. 


ROS Services: allow nodes to send a request and receive a response.


ROSParam: store and manipulate data on the ROS Parameter Server


Debug

Screenshots

Challenges

One of the most challenging aspects of learning ROS is its steep learning curve. After completing the beginner-level ROS tutorials. We realized that ROS is a complex system that involves many different components, including communication protocols, message types, and programming languages. It can be overwhelming to grasp all of them at the same time.

After completing the tutorial, we felt like there is still a lot for us to learn in terms of how to connect what we learned with Stretch, especially with those latter tutorials on creating listeners and publishers. But it will probably be covered in the later tutorials when we get more hands-on experience.