# Introduction to ROS ###### tags: `tutorial` `electrical_system` `NTURT` `software` ##### Author: @chemmy-kuo @LY-pac ## Prerequisite - Linux or macOS environment ## Configure vs code for ros [Setting Up VSCode with ROS](https://samarth-robo.github.io/blog/2020/12/03/vscode_ros.html) ## Follow ROS tutorial [ROS tutorial](http://wiki.ros.org/ROS/Tutorials) - 1.1 Beginner Level - finish from 1 to 7, roslanch, 10, 11, 13, 14, and 16 to 18. - 1.2 Intermediate Level - finish 1 ## Resources - [ROS簡介及教學資源整理](https://ithelp.ithome.com.tw/articles/10200551) ## ROS topic :::success Please utilize the provided docker environment. ::: :::success Please document your code using doxygen. ::: :::success Please push your homework onto your github repository in the `ros` directory. Your homework should contain a package. ::: :::warning You should use c++. ::: We will encrypt a paragraph publish it to a topic called "encrypted_message". We will record the topic into a bag and privide it to you. Your job is to write a node which will read the bag, decrypt the message, and then publish the origin paragraph into a topic called "decrypted_message" To get the provided bag, please click [me](https://cool.ntu.edu.tw/courses/7119/files/2536149?module_item_id=657109). the encryption process is as follow: 1. ![](https://media.geeksforgeeks.org/wp-content/uploads/20200227180707/Untitled-Diagram471.jpg) 2. Caecar chipher with ASCII code, shifting all characters forwards 3 (for example, "a" will become "d", "(" will become "") ![](https://upload.wikimedia.org/wikipedia/commons/1/1b/ASCII-Table-wide.svg) 4. turn every character into ASCII code Your file should be a functionable ROS workspace. ```flow st=>start: unknown node (paragraph encrypter) op1=>operation: bag (provided by us) (encoded paragraph) node=>operation: node (writen by you to decode the bag) op2=>operation: bag (decoded paragraph) e=>end: hand it over (commit your result to github) st->op1->node->op2->e ```