# SDC Homework 1 - ROS ## Part 1. ROS ### Environment Ubuntu 20.04 LTS ROS Noetic Desktop-Full ### Installation Please follow the [official installation guide](https://wiki.ros.org/noetic/Installation/Ubuntu) to install ROS. ### Tutorial Please follow the tutorial 1.1.1~6 and 1.1.11~13 in [ROS tutorial](https://wiki.ros.org/ROS/Tutorials) to finish the assignment. ### Assignment The screenshot of both subscriber and publisher in terminal ([1.1.13](https://wiki.ros.org/ROS/Tutorials/ExaminingPublisherSubscriber)). You can choose to use C++ or Python. Please include your personal information to prove that you have finished this on your own. (Ex. your username in terminals) --- ## (Optional)Part 2. ROS 2 ### Environment Ubuntu 20.04 LTS ROS 2 foxy ### Installation Please follow the [ROS 2 installation guide](https://docs.ros.org/en/foxy/Installation/Alternatives/Ubuntu-Development-Setup.html). ### Tutorial 1. [Creating a workspace](https://index.ros.org/doc/ros2/Tutorials/Workspace/Creating-A-Workspace/#next-steps) 2. [Creating your first ROS 2 package](https://index.ros.org/doc/ros2/Tutorials/Creating-Your-First-ROS2-Package/) 3. [Creating your first ROS 2 package](https://index.ros.org/doc/ros2/Tutorials/Creating-Your-First-ROS2-Package/) 4. [Writing a simple publisher and subscriber (C++)](https://index.ros.org/doc/ros2/Tutorials/Writing-A-Simple-Cpp-Publisher-And-Subscriber/) 5. [Writing a simple publisher and subscriber (Python)](https://index.ros.org/doc/ros2/Tutorials/Writing-A-Simple-Py-Publisher-And-Subscriber/) ### Assignment The Screenshot of both ROS2 subscriber and publisher terminal in tutorial 4 or 5. Please include your personal information to prove that you have finished this on your own. (Ex. your username in terminals) ### Reference [Installing ROS 2 via Debian Packages](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/) --- ## (Optional) Part 3. Install ROS1_bridge to bridge ROS1 and ROS2 This is an optional part for you if you have been working on ROS1 and need to bridge the old package with ROS2. You can skip this part if you haven't tried ROS1 before. ### Install ```bash sudo apt update sudo apt install ros-foxy-ros1-bridge ros-foxy-turtlebot3 sudo apt-get install ros-foxy-ros2bag ros-foxy-rosbag2 ``` - If you directly run the commands above, you may encounter errors of unmet dependency. This is because you haven't installed ROS1 and there are no ROS1 packages in your package list. [Install ROS1](http://wiki.ros.org/noetic/Installation/Ubuntu) first and try these commands again. ### Tutorial Please follow this [document](https://github.com/ros2/ros1_bridge/blob/master/README.md) ### Assignment No assignment for this part.