--- # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: CC-BY-SA-4.0 title: Course objectives permalink: /modules/0/objectives.html menus: header --- How can robots be programmed to achieve some tasks? This course will give you the **basics in ROS** to build robotics software to do just that. 1. First, we will dive into the basics of ROS which will allow users to control a robot and read data from the robot's sensors. 2. Second, we will go through some additional ROS components that are useful to develop and test robotics software. 3. Third, we will look at the similarities and differences between ROS and ROS 2. Note: While ROS2 was announced in 2014 and roughly every six months there is a new distribution, many of the robotics software packages available in ROS1 have not been yet been ported to ROS2. This can require a strong experience with robotics software to make ROS2 work for some robots, however, many of the concepts presented for ROS1 can be reapplied to ROS2. Each module is composed of a number of videos, readings, simple examples, and tests to facilitate the conceptual understanding. This course is not meant to provide full technical details, which would require longer and separate courses; interested students are encouraged to explore the additional resources provided at the end. By the end of this course, you will be able to: - Define the main components of ROS. - Write basic robotics software in ROS. - Create new ROS packages. - Describe and use other ROS tools. - Identify similarities and differences between ROS1 and ROS2.