Changes for page ROS Crash Course

Last modified by Leon Poon on 2021/08/30 23:24

From version 5.1
edited by Leon Poon
on 2021/08/23 11:08
Change comment: There is no comment for this version
To version 2.1
edited by Leon Poon
on 2021/08/23 10:50
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,5 +1,4 @@
1 -(% class="wikigeneratedid" id="HC2B2BCrashCrashCourse" %)
2 -Using C++.
1 += C++ Crash Crash Course =
3 3  
4 4  == Day 1 ==
5 5  
... ... @@ -7,15 +7,15 @@
7 7  
8 8  g++ source1.cpp -o program1
9 9  
10 -Paths, "/" and "." and ".." in navigating directories - absolute vs relative
9 +Paths, . and .. in navigating directories
11 11  
12 -data type - binary itself is meaningless unless you say what information that the binary bits represent
11 +data type - memory, binary
13 13  
14 14  declare variables (int, char, string as series of chars)
15 15  
16 16  statements end with semicolon
17 17  
18 -cstdio library #include
17 +cstdio library include
19 19  
20 20  calling a function - printf
21 21  
... ... @@ -33,11 +33,11 @@
33 33  
34 34  While loop = for loop with empty initialiser/advancement statements
35 35  
36 -Switch - match expression's result to case label, execute statements until break.
35 +Switch - match expression's result to case label
37 37  
38 -Switch vs if-else differences - number of times expressions are evaluated
37 +Switch vs if-else differences.
39 39  
40 -write your own function
39 +your own function
41 41  
42 42  calling with parameters copied as separate set of var values in function
43 43  
... ... @@ -53,12 +53,8 @@
53 53  
54 54  Value overflow because not enough number of bits to represent large numbers.
55 55  
56 -Various integer data types - specifier in printf
57 -
58 58  Homework: implement factorial (1 to 20) calculator
59 59  
60 -in Linux, most things are case-sensitive. (A not equals a)
61 -
62 62  == Day 3 ==
63 63  
64 64  factorial printer - 2 approaches:
... ... @@ -68,36 +68,7 @@
68 68  
69 69  set initial values of vars when declaring otherwise initial values are unpredictable
70 70  
71 -factorial function - implemented in recursive way, closer to mathematical definition
72 72  
73 -stack memory
74 74  
75 -stack frame to store var values in each function call
76 76  
77 -stack overflow/crash (segfault)
78 -
79 -base condition to stop the recursion
80 -
81 -recursive algorithms are common - e.g. when dealing with trees
82 -
83 -spaces in file/directory names and how to navigate - space is special in terminal
84 -
85 -understand names chosen by yourself vs names chosen by other people for your use
86 -
87 -creating ros package - arguments: package name, dependencies
88 -
89 -CMakeLists.txt (.txt file can also be used with other programs)
90 -
91 -cmake = build tool - compile many files in some defined ways
92 -
93 -package.xml - information for ROS
94 -
95 -compiling - carefully read and understand and seek answers to error messages
96 -
97 -msg files - fields declaration with data type
98 -
99 -create cpp file for a node
100 -
101 -quick reading of code for publisher node
102 -
103 -homework: implement message subscriber node according to ROS book
69 +