ROS (Robot operating system) is an open source framework for getting robots to do things. It is a middleware which provides services and tools to control multiple processes. ROS allows us to simplify the task of creating complex and robust robots.
- You will need a linux based OS. (i.e. Ubuntu,Mac OS)
- ROS installation
-
To submit your work, you will have to fork this repository. After that you can create a clone of your fork. This is where you will push all of your work.
You will have to update your fork from time to time. You can do this from the terminal or the github website.- Follow this to add the remote from the original repo using the terminal.
- Updating fork using the github website.
-
For each task submission, you should add the ROS package that you created. This should include all the scripts/codes that you have used. Also include a README with relevent screenshots to validate your work. Checkout the Sample Submission here
Tasks on this repository are arranged in a weekly manner, similar to any online course or MOOC that you may have taken.(Coursera,Udemy,edX)
- Install your OS.
- Install ROS.
Verify your installation by running the commandroscd
- Create a catkin workspace. Go through all sub-directories and understand their significance.
- Create a ROS package.
- Launch the turtlesim node and explore its messages and topics.
- Publish a ROS package for a simple publisher subscriber node in python (talker-listener).
- Understand the significance of the talker and listener scripts. Implement them in both python and C++.
- Modify the talker-listener nodes to send data of different types. (int,bool and char)
- Create a custom msg and use the Pub-Sub model to send your msg.
- Create a ROS node to control the turtlesim bot. (Move,Rotate,Go to goal)
- Write a script to draw a circle using the turtle bot.
- Write a script to draw the letter 'D' using the turtle bot.
- Write a script to implement a service client to draw a polygon of side requested by the client.
- Learn about rosserial. Go through the tutorials and implement the example code, then use it to send data from an ultrasonic sensor.
Note : If you don't have this sensor you can use any other sensor as well. You can also expand this exercise to other electronic modules and sensors.
- Understand the client server model and how it works in ROS.
- Write a client server node (in C++ and python). Edit the basic code to send different data.
- Official ROS documentation
- Official ROS tutorials.