commit 4da69e496d038c625b6c15a3f972676d5cc92350
Author: Hshine <1491134420@qq.com>
Date:   Thu Jul 4 01:13:17 2024 +0800

    工程机器人及机器人学相关文档和matlab文件

diff --git a/CAN总线规范.pdf b/CAN总线规范.pdf
new file mode 100644
index 0000000..de32f26
--- /dev/null
+++ b/CAN总线规范.pdf
@@ -0,0 +1,889 @@
+             CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+ 5FDIOJDBM  CAN-bus ႋႨ࠯ඌ
+ /PUF
+             TN01010101 V2.00 Date:2013/08/25  ‫۽‬ӱ࠯ඌг࠺
+
+              োљ                                      ଽಸ
+             ܱ࡯Ս                           གྷӆሹཌ CAN-bus
+             ᅋေ
+                                             ѯหੱ ๙࿟ए৖
+                                            ຉ௪ࢲ‫ ܒ‬๙࿟‫׈‬ভ
+                                             ᇔ؊‫׈‬ቅ ৵ࢤఖ
+                        Ч໓ࡥࢺࡹഡ၂۱ൌ࠽֥ CAN-bus ຩ઎ൈđؓ๙࿟‫׈‬
+                  ভaሹཌ৵ࢤఖ֥࿊ᄴა࠹ෘđၛࠣ၂ུЌᅰ๙࿟ॖौaิ
+                  ۚॆ‫ۄ‬ಠି৯֥ࣜဒծീb
+
+                           ©2020 Guangzhou ZHIYUAN Electronics Co., Ltd.
+ྩ‫ר‬৥ൎ            ರ௹      CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+            2004-08-06
+      ϱЧ    2009-11-24                                                  ‫۽‬ӱႋႨг࠺
+     V0.90  2009-12-08
+     V1.00  2013-08-25                  ჰၹ
+     V1.01                           Էࡹ໓֖
+     V2.00                           ྩ‫۬ڿ‬ൔ
+                                     ྩ‫ڿ‬๭ோ
+                                  ᄹࡆ҃ཌܿᄵ
+        CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                        ‫۽‬ӱႋႨг࠺
+
+     ଢ੣
+
+1. ൡႨٓຶ...................................................................................................................1
+
+2. ‫׈‬ভ࿊ᄴ...................................................................................................................2
+
+2.1  ቋ֮ေ౰ ................................................................................................................... 2
+
+2.2  ‫׈‬ভ࿊ᄴ֥ေ෍ ....................................................................................................... 2
+
+2.3  ‫׈‬ভ࿊ᄴ֥ࠞཋᆴ ................................................................................................... 2
+
+     2.3.1 ‫׈‬ভࢲ‫ܒ‬...........................................................................................................2
+
+     2.3.2 ‫׈‬ভႵི‫׈‬ቅ...................................................................................................3
+
+     2.3.3 DB9 ৵ࢤఖ֥Ⴕི‫׈‬ቅ ..................................................................................3
+
+     2.3.4 ‫׈‬ভൡႨো྘ൕ২...........................................................................................3
+
+2.4  ౼थႿ‫׈‬ভӉ؇֥ѯหੱ ....................................................................................... 5
+
+     2.4.1 CiA ๷ࡩ໊֥‫ק‬ൈ ...........................................................................................5
+
+     2.4.2 ҐႨЧ໓ CAN ࢤ१ൈቋն֥֝ཌӉ؇........................................................6
+
+2.5  ҃ཌӉ؇aࢫׄඔਈaཌভཌࣥᆭࡗ֥ܱ༢ .......................................................7
+
+3. Ҭቖ֥࿊ᄴ...............................................................................................................8
+
+3.1  ஥ཌ‫ބ‬৵ࢤ ............................................................................................................... 8
+
+3.2  DB9 ৵ࢤٚൔ֥ҬቖაҬ๨ ..................................................................................9
+
+3.3  OPEN5 ৵ࢤఖ .......................................................................................................11
+
+4. ҃ཌܿٓაᇔ؊‫׈‬ቅ࿊ᄴ.....................................................................................14
+
+4.1  ᆰཌ྘ຉ௪ࢲ‫ ܒ‬..................................................................................................... 14
+
+     4.1.1 o൭ఠ൭pൔ৵ࢤ.........................................................................................14
+
+     4.1.2 o5p྘‫ٳ‬ᆦൔ৵ࢤ.........................................................................................14
+
+     4.1.3 ൐Ⴈ CAN ຩూᇏ࠿ఖ֥৵ࢤ.......................................................................15
+
+     4.1.4 ൐Ⴈ CAN ܻ༸ሇߐఖ֥৵ࢤ.......................................................................16
+
+4.2  ྒ྘ຉ௪ࢲ‫ ܒ‬......................................................................................................... 16
+
+     4.2.1 o֩Ӊpྒ྘৵ࢤ.........................................................................................16
+
+     4.2.2 ൐Ⴈ CAN ࠢཌఖ֥৵ࢤ ..............................................................................17
+
+5. ҕॉሧਘ.................................................................................................................19
+
+6. ૧ᄳലૼ.................................................................................................................20
+
+     1
+                                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                         ‫۽‬ӱႋႨг࠺
+
+1. ൡႨٓຶ
+
+      Ч໓֖ඪૼࡹഡ၂۱ൌ࠽֥ CAN-bus ຩ઎ൈđؓ๙࿟‫׈‬ভaሹཌ৵ࢤఖ֥࿊ᄴა࠹ෘđ
+ၛࠣ၂ུЌᅰ๙࿟ॖौaิۚॆ‫ۄ‬ಠି৯֥ࣜဒծീb
+
+                                                                     1
+                                                           CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                           ‫۽‬ӱႋႨг࠺
+
+2. ‫׈‬ভ࿊ᄴ
+
+2.1 ቋ֮ေ౰
+
+       ๙ӈđCAN-bus ሹཌҐႨҵ‫ݼྐٳ‬Ԯൻٚൔđၛච࢛ཌቔູ໾৘ҪđླေႵ 2 ۴ཌቔ
+ູҵ‫ݼྐٳ‬ཌčCAN_HaCAN_LĎbೂ‫ݔ‬൐Ⴈ௠зච࢛ཌđ௠зҪႋФ৵ࢤ֞ CAN_Shield
+ࠇຓ॔b
+
+2.2 ‫׈‬ভ࿊ᄴ֥ေ෍
+
+        ཌӉ
+      ೂ‫ݔ‬ຓ҆‫ۄ‬ಠбࢠ೐đCAN-bus ሹཌᇏ֥؋ཌčӉ؇ġ0.3mđ২ೂᄝ T ྘৵ࢤఖ)ॖၛ
+ҐႨы௜‫׈‬ভb๙ӈđႨջ௠зҪ֥ච࢛ཌቔູҵ‫ݼྐٳ‬Ԯൻཌ߶۷ॖौbջ௠зҪ֥ච࢛
+ཌ๙ӈФႨቔӉ؇նႿ 0.3m ֥‫׈‬ভb
+        ѯหੱ
+      ႮႿ౼थႿԮൻཌ֥ྐ‫ݼ‬࿼ӾൈࡗđCAN-bus ሹཌ֥๙࿟ए৖ॖି߶ෛሢѯหੱࡨཬ
+‫ط‬ᄹࡆb
+        ຓࢸ‫ۄ‬ಠ
+      сྶॉ੮ຓࢸ‫ۄ‬ಠđ২ೂႮః෰‫׈‬గ‫ڵ‬ᄛႄఏ֥‫׈‬Ո‫ۄ‬ಠbႭఃᇿၩႵն‫ࠏ׈ੱۿ‬ᄎྛ
+ࠇః෱ᄝഡСषܱൈಸၞႄఏ‫׈܂‬ཌਫ਼ഈ‫׈‬࿢э߄֥ӆ‫ކ‬bೂ‫ݔ‬໭‫م‬х૧ԛགྷোරႿ
+CAN-bus ሹཌა‫׈‬࿢э߄఼ਛ֥‫׈܂‬ཌਫ਼ѩྛሼཌ֥౦ঃđCAN ሹཌॖၛҐႨջච௠зҪ
+֥ච࢛ཌb
+        หᆘቅॆ
+      ෮ҐႨ֥Ԯൻཌ֥หᆘቅॆჿູ 120ȤbႮႿ CAN-bus ሹཌࢤ๨֥൐ႨđCAN-bus ሹཌ
+֥หᆘቅॆॖି‫ؿ‬ളэ߄bၹՎđ҂ି‫࠹ܙۚݖ‬෮൐Ⴈ‫׈‬ভ֥หᆘቅॆb
+        Ⴕི‫׈‬ቅ
+      ෮൐Ⴈ‫׈‬ভ֥‫׈‬ቅсྶቀ‫ཬܔ‬đၛх૧ཌਫ਼࿢ࢆ‫ݖ‬նđ႕ཙ໊Ⴟሹཌଌ؊֥ࢤ൬ఖࡱb
+ູਔಒ‫ࢤק‬൬؊֥ཌਫ਼࿢ࢆđх૧ྐ‫ّݼ‬ഝđᄝሹཌਆ؊ླေ৵ࢤᇔ؊‫׈‬ቅb
+
+2.3 ‫׈‬ভ࿊ᄴ֥ࠞཋᆴ
+
+2.3.1 ‫׈‬ভࢲ‫ܒ‬
+
+       ູਔх૧൳֞ຓࢸ‫ۄ‬ಠ֥႕ཙđԮൻඔऌ֥‫׈‬ভ๙ӈ൐ႨջႵ௠зҪ֥ච࢛ཌđѩ౏
+௠зҪေࢤ֞ҕॉֹb
+
+       ༯૫֥๭ 2.1a๭ 2.2 ‫ٳ‬љਙԛਔջֆ/ච௠зҪ֥ CAN ‫׈‬ভ௩༅ა৵ࢤཌൕٓb
+
+  Wire str ucture              Signal assig nment of wire and connection of earthing and terminator
+
+          Shield ed wire with                              CAN wire with connec tors
+          tran sposed wires
+                               DSUB9 connector                          CAN_GND                 DSUB9 connector
+CAN_ H                          (female or male)                        (at wire shield)         (female or male)
+CAN_ L                          pin designation                                                  pin designation
+                                                                           CAN_L
+CAN_ GND                       1                  n.c.                                    n.c.  1
+                                                                            CAN_H
+                               2                                                                2
+
+                               3                                                                3
+
+                               4                  n.c.                                    n.c.  4
+
+                               5                  n.c.                                    n.c.  5
+
+                               6                  n.c.                                    n.c.  6
+
+                               7                                                                7
+
+                               8                  n.c.                                    n.c.  8
+
+                               9                  n.c.                                    n.c.  9
+
+                               connec tor case n.c.                                       n.c. connec tor case     earth (PE)
+
+                                                  n.c. = not connected
+
+                               ๭ 2.1 ֆ௠зҪ֥ CAN ‫׈‬ভ௩༅ა৵ࢤ
+
+                                                        2
+                                                                              CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                              ‫۽‬ӱႋႨг࠺
+
+   Wire str ucture               Signal assi gnment of wire and connection of earthing and terminator
+
+   Do uble Shield ed wire wi th                                               CAN wire with connectors
+         tran sp osed wires
+                                                   DSUB9 connector                               Shie ld                    DSUB9 connector
+CAN_ H                                                                                     (at outer wire shield)
+CAN_ L                                             (female or male)                                                         (female or male)
+CAN_ GND                                                                                       CA N_L
+ Shield                                            pin designation                                                              pin designation
+
+                                                   1                 n.c.                                          n.c.         1
+
+                                                   2                                                                            2
+
+                                                   3                                                                            3
+
+                                                   4                 n.c.                                          n.c.         4
+
+                                                   5                                                                            5
+
+                                                   6                 n.c.                         CA N_H           n.c.         6
+                                                                                               CAN_GND
+                                                   7                                       (at inner wire shield)               7
+
+                                                   8                 n.c.                                          n.c.         8
+
+                                 Do not connect    9                 n.c.                                          n.c.         9
+                                     to earth
+                                                   connec tor case                                                          connec tor case
+                                  at this point !
+                                                                     n.c. = not connected
+
+                                                                                                                                                 earth (PE)
+
+                                 ๭ 2.2 ච௠зҪ֥ CAN ‫׈‬ভ௩༅ა৵ࢤ
+
+       ᄝ൐ႨචҪ௠зཌ֥ච࢛ཌൈđ൐Ⴈᆀсྶᇿၩğ‫׈‬ভ֥ຓ௠зҪᆺି๙‫ݖ‬၂۱৵ࢤ
+ఖ֥ຓ॔৵ࢤ֞նֹഈbႮႿ৵ࢤఖ֥ຓ॔၂Ϯაၘࢤֹ֥ഡСభ૫ϰཌྷ৵ࢤđ৵ࢤ֞֞ຓ
+௠зҪ֥৵ࢤఖຓ॔‫ބ‬৵ࢤఖ֥ 5 ᆌᄝຩ઎ᇏ၂ׄ৵ࢤbᆃॖၛФႋႨ֞োර֥ଽ௠зҪ္
+ࢤֹ֥ഡСഈb
+
+2.3.2 ‫׈‬ভႵི‫׈‬ቅ
+
+       ‫࠽ݓ‬ѓሙ ISO/DIS-11898 Ⴕၛ༯๷ࡩᆴğᆰੀ‫׈‬࿢ҕඔaᇔ؊‫׈‬ቅაѯหੱ࣍රᆴđ
+ॖၛҕॉհ༂Ćໃᅳ֞ႄႨჷbb
+
+                                 і 2.1 აԮൻཌӉ؇ཌྷܱ֥‫׈‬ভᆰੀҕඔ๷ࡩᆴ
+
+ሹཌӉ؇                                               ‫׈‬ভ 1*)                                                          ᇔ؊‫׈‬ቅ                          ቋնѯหੱ
+
+                                 ᆰੀ‫׈‬ቅ                                ֝ཌࢩ૫ࠒ
+
+0l40m                            70mȤ/m            0.25 mm² j0.34 mm²                                              124Ȥ/1%                       1Mbps
+                                                      AWG23, AWG22                                                                               at 40m
+
+40ml300m                         <60mȤ/m              0.34 mm² j0.6 mm²                                            127Ȥ/1% 2*)                   >500Kbps
+                                                        AWG22, AWG20                                                                              at 100m
+
+300ml600m                        <40mȤ/m              0.5 mm² j0.6 mm²                                             127Ȥ/1% 2*)                   >100Kbps
+                                                             AWG20                                                                                at 500m
+
+600ml1km                         <20mȤ/m              0.75 mm² j0.8 mm²                                            127Ȥ/1% 2*)                   >50Kbps
+                                                              AWG18                                                                               at 1km
+
+1) ‫׈‬ভࢌੀҕඔ๷ࡩᆴğ120Ȥหᆘ‫׈‬ቅa5ns/m ࿼ൈĠ
+
+2) ູਔϜ‫׈‬ভᆰੀ‫׈‬ቅႄఏ֥‫׈‬࿢කࡨࢆ֞ቋཬđࢠն֥ᇔ؊‫׈‬ቅᆴč২ೂ࿊Ⴈ٤ѓሙ֥ 150j300ȤĠ
+
+‫ط‬ᄝ ISO11898 ѓሙᇏđิ‫֥܂‬ҕॉᆴູo118Ȥ<RT<130ȤpٓຶĎႵᇹႿᄹࡆሹཌӉ؇b
+
+2.3.3 DB9 ৵ࢤఖ֥Ⴕི‫׈‬ቅ
+
+       ֒ಒ‫׈ק‬ভ֥‫׈‬࿢කࡨުđ৵ࢤఖ֥Ԯൻ‫׈‬ቅ္ླေॉ੮ᄝ‫׈‬ভ‫׈‬ቅᇏb၇ᅶളӁഅ
+֥ܿٓđe.g. DB9 ৵ࢤఖૄ۱Ԩ֥ׄಸॆᄝ 2.5mȤ‫ ބ‬10mȤᆭࡗđૄ۱Ҭ๨֥Ⴕི‫׈‬ቅᄹ
+ࡆ 5mȤ֞ 20mȤb
+
+2.3.4 ‫׈‬ভൡႨো྘ൕ২
+
+       ၛ༯і 2.2 ਙԛਔ၂ུ CAN ච࢛ཌ/௠зච࢛ཌ֥‫׈‬ভ྘‫ݼ‬bᆃ۱྘‫ݼ‬ౢֆᆺ൞ቔູ
+၂۱ҕॉđѩ҂ေ౰აі۬ᇏປಆ၂ᇁbႨ޼۴ऌఃႋႨਵთथ‫ק‬৚൐Ⴈଧᇕো྘֥‫׈‬ভb
+
+       ᄝथ‫ק‬൐Ⴈ‫ޅ‬ᇕ‫׈‬ভᆭభđ౨ҕॉটሱളӁഅ֥‫׈‬ভ࠯ඌҕඔb
+
+                                                                           3
+                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                            ‫۽‬ӱႋႨг࠺
+
+         і 2.2 ၂ུ๷ࡩ֥‫׈‬ভো྘
+
+         RVVP ௠зཌaච࢛௠зཌ
+
+྘‫ݼ‬       ྉඔ X ѓӫࢩ૫(mm2)     ุ֝ࢲ‫( ܒ‬No./mm)        ๙࿟ए৖ (૜)
+
+RVVP     2X0.50             2X28/0.15 ච࢛؅༌๞щᆮ
+
+RVVP     2X0.75             2X24/0.20 ච࢛؅༌๞щᆮ    1000
+
+RVVP     2X1.00             2X32/0.20 ච࢛؅༌๞щᆮ    3000
+
+ZR RVVP  2X1.00             ቅಗ 2X32/0.2 ච࢛؅༌๞щᆮ
+
+RVVP     2X1.50             2X48/0.2 ච࢛؅༌๞щᆮ     5000
+
+ZR RVVP  2X1.50             ቅಗ 2X48/0.2 ච࢛؅༌๞щᆮ
+
+RVVP     2X2.50             2X49/0.25 ච࢛؅༌๞щᆮ
+
+1) ၛഈ‫׈‬ভ֥ྐ༏টሱധᎪ㥬დཌভ‫܄‬ඳđ࡮ຩᆶğwww.lingyu.cnbѓᇿ RVV ູ௴๙ච࢛ཌđRVVP
+       ູ௠зච࢛ཌčྍ‫ݓ‬ѓࡼච࢛྘‫׿‬৫ԛটđູ RVSPb‫ ط‬RVVP ଏಪູ٤ච࢛֥ཌভĎ
+
+       ‫ݓ‬ຓ္Ⴕህ૊ളӁ CAN-bus ຩ઎ࠇ DeviceNet ຩ઎֥‫׈‬ভӌഅđбೂૅ‫ݓ‬Ϥ๙‫׈‬ভ‫܄‬
+ඳđ෰ૌህ૊ളӁ֥‫׈‬ভൡ‫ކ‬Ⴟ۲ᇕ‫گ‬ᄖ֥๙࿟ຩ઎‫۽‬ӱཛଢbі 2.3aі 2.4 ਙԛਔ‫܄ھ‬
+ඳ๷ࡩ֥ DeviceNet ‫׈‬ভ࿊྘b
+
+         і 2.3 ๷ࡩ֥ DeviceNet ‫׈‬ভো྘č1Ď
+
+                         4
+                                    CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                 ‫۽‬ӱႋႨг࠺
+
+                  і 2.4 ๷ࡩ֥ DeviceNet ‫׈‬ভো྘č2Ď
+
+2.4 ౼थႿ‫׈‬ভӉ؇֥ѯหੱ
+
+2.4.1 CiA ๷ࡩ໊֥‫ק‬ൈ
+
+       і 2.5 ູ CiA ิ‫֥܂‬ѯหੱၛࠣཌྷႋ֥ SJA1000aPCA82C200aPCA82527 ྉோ໊֥
+‫ק‬ൈ॥ᇅ࠷թఖ BTR0aBTR1 ഡ‫ק‬ᆴb‫࠽ݓ‬ѓሙᇏ֥ሹཌӉ؇ܿٓđႭః൞ᄝۚѯหੱ༯
+č>500kbpsĎđაЧ໓֥ൌ࠽ܿٓ҂๝bఃჰၹିᄝႿЧ໓֥ܿٓ൞ၛࢤ१࿼ൈቔູ႕ཙ
+CAN ྐ‫ݼ‬Ԯൻᇶေၹ෍ൈቋߊ֥౦ঃ༯ᇅ‫֥ק‬bൌ࠽ႋႨіૼđ๙ӈđ൐ႨЧ໓๷ࡩ֥ࢤ
+१ҕඔି࿼ഥ֞۷Ӊ֥ए৖b
+
+      ֒ಖđೂ‫ݔ‬୆൐Ⴈ CiA ๷ࡩ֥ѯหੱđ൞ીႵ಩‫ޅ‬໙ี֥bೂ‫ݔ‬ሹཌഈ৵ࢤႵః෱ള
+Ӂഅ֥ሹཌଆॶđᄵႋ‫ھ‬ႄఏᇿၩb
+
+                  і 2.5 CAN ຩ઎໊‫ק‬ൈѓሙčҐႨࣖᆒູ 16MHzĎ
+
+ ѯหੱ      ໊ൈࡗ     ૄ໊֥ൈࡗ‫ٺ‬   ൈࡗ‫حٺ‬ᆴ    Ґဢ໊ׄᇂ         BTR0   BTR1
+ሹཌӉ؇                  ‫ح‬ඔਈ                         [HEX]  [HEX]
+
+1 Mbps    1Ȱs     8        125ns    6tq           00     14
+
+25 m                                (750ns)
+
+800 Kbps  1.25Ȱs  10       125ns    8tq           00     16
+
+50 m                                (1us)
+
+500 Kbps  2Ȱs     16       125ns    14tq          00     1C
+
+100 m                               (1.75us)
+
+250 Kbps  4Ȱs     16       250ns    14tq          01     1C
+
+250 m                               (3.5us)
+
+125 Kbps  8Ȱs     16       500ns    14tq          03     1C
+
+500 m                               (7us)
+
+100 Kbps  10Ȱs    16       625ns    14tq          04     1C
+
+650 m                               (8.75us)
+
+50 Kbps   20Ȱs    16       1.25us   14tq          09     1C
+
+1 km                                (17.5us)
+
+20 Kbps   50Ȱs    16       3.125us  14tq          18     1C
+
+2.5 km                              (43.75us)
+
+10 Kbps   100Ȱs   16       6.25us   14tq          31     1C
+
+5 km                                (87.5us)
+
+1) ᇿၩğሹཌӉ؇֥ᆜඔᆴ൞ၛ 5ns/m ֥‫׈‬ভ࿼ൈູࠎԤ֥đ‫֥קࡌط‬ଽ҆࿼ൈ၇ঠႿᆃུѯหੱ
+
+1M...800KbpsĠ500k...250KbpsĠ300nsĠ125k...100KbpsĠ450nsĠ50k...10Kbpsğ1.5tqb۷‫ྐ֥؟‬༏ҕ
+
+ॉ CiA ֥ԛϱ໾b
+
+                           5
+                                                      CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                      ‫۽‬ӱႋႨг࠺
+
+2.4.2 ҐႨЧ໓ CAN ࢤ१ൈቋն֥֝ཌӉ؇
+
+      ൐ႨЧ໓๷ࡩ֥ CAN ࢤ१ٚൔൈđቋն֥֝ཌӉ؇ॖၛ۴ऌ༯૫֥ٚӱൔট࠹ෘğ
+
+lMAX  tx  cabledelay                                (tx Ģ tSAMPLING Ē tDELAY)  ‫܄‬ൔ 2-1
+               2
+
+  lMAX
+      ts1 2   trxdel ttxdel 2   topto                                       ‫܄‬ൔ 2-2
+               2cable de lay
+
+  ts1 T0 Tbrp Tseg1 Tsjw1                      (ts1ĢҐဢׄ)                  ‫܄‬ൔ 2-3
+
+      ۲ཛҕඔඪૼೂ༯ğ                   (ؓႿӈႨ֥ SJA1000 ྉோ)
+                                  (BTR0x Ģ CAN ॥ᇅఖ BTR0 ࠷թఖଽಸ
+T0 = 2/16 MHz = 125 ns            ၛ 0x3F ဃз(->BTR0 ࠷թఖ໊ 6...0))
+Tbrp = BTR0x + 1                  (BTR1x Ģ CAN ॥ᇅఖ BTR1 ࠷թఖଽಸ
+                                  ၛ 0x0F ဃз(->BTR1 ࠷թఖ໊ 3...0))
+Tseg1 = BTR1x + 1                 (Ґဢ๋ׄሇॺ؇Ġsjw Ģ BTR1 ࠷թఖଽಸၛ 0xC0 ဃз
+                                  (-> BTR1 ໊֥ 7 ‫ ބ‬6)đ ᆴ֥ٓຶ 0..3)
+Tsjw = sjw + 1                    (CAN ॥ᇅఖ࿼ൈ)
+                                  (ൌҩᆴ)
+trxdel = max. 62 ns               (CAN ‫ؿ‬ෂఖ 82C250 ֥࿼ൈᆴ)
+                50 ns
+                                  (৵֞ HCPL710x ֥‫྘ׅ‬࿼ൈ)
+ttxdel = max. 40 ns (Tx)          (HCPL710x ܻ୽࿼ൈ)
+       max. 80 ns (Rx)
+                 30 ns            (৵֞ 82C250 ֥‫྘ׅ‬࿼ൈ)
+                                  (ච࢛ཌ‫྘ׅ‬ᆴ(ႵིӉ؇), ӌഅܿٓ, ࡮భ૫֥ CiA ѓሙ)
+topto = max. 40 ns
+          typ. 28 ns
+              15 ns
+
+Cable delay = 5.5 ns/m
+
+      ၹՎ, ؓႿ CAN ॥ᇅఖ SJA1000đ82527 ࠇ 8xC591 ྉோđၛ༯ٚӱ֥ࢲ‫( ݔ‬ᄝ 5.5 ns/m
+‫׈‬ভ࿼ൈ֥౦ঃ༯đ෮Ⴕൈࡗֆູ໊ ns)࡮іղൔğ
+
+    lMAX 125ns BTR0x
+                        1 BTR1x        1sjw1 1  2 trxdel ttxdel 2 topto   
+
+                                              11ns m                             ‫܄‬ൔ 2-4
+
+      і 2.6 ູ֝ཌቋնӉ؇֥‫྘ׅ‬ᆴ‫ބ‬၂ུѯหੱ౦ঃ༯֝ཌ֥ቋཬӉ؇b
+
+      ֝ཌቋնӉ؇֥‫྘ׅ‬ᆴ‫ކژ‬Ч໓֥ࣜဒᆴđѩࣜ‫ݖ‬ൌ࠽ҩਈ֥ᆣൌbЧ໓෮ਙඔऌၘࣜ
+
+‫ݖ‬ѓሙҩ൫ѩ቎࿖ 1Mbps ห‫ק‬ᆴ࡟Ұb
+
+      ቋཬႵིཌӉၘࣜФ൐Ⴈᄝӌഅܿٓᇏቋҵ࿼ൈ֥ӆ‫ކ‬bᆃུཌӉ҂ି๙‫ݖ‬ҩਈটᆣൌđ
+
+ၹູჭࡱ֥࿼ൈ‫ޓ׻‬ᆞӈ౏‫ݺ‬Ⴟቋҵӆ‫ק֥ܿٓܿކ‬b
+
+      Ⴎ໑؇ႄఏ֥࿼ൈ֥ཁᇷэ߄ॖၛФஆԢb๙ӈႮఖࡱളӁ༂ҵႄఏ֥࿼ൈ֥ொ၍б໑
+
+؇ႄఏ֥ေնb
+
+      ౨ᇿၩջႵᇔ؊‫׈‬ቅ֥ຩ઎‫ܒ‬Ӯਔᆃུ֥ܿٓࠎԤbૄ۱ཌഈ֥‫׈‬ቅčೂࢠӉ֥ᆦཌĎ
+
+߶ႄఏႵིཌӉ֥ࡨഒb
+
+                                              6
+                                 CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                 ‫۽‬ӱႋႨг࠺
+
+                і 2.6 ѓሙѯหੱൈ֥֝ཌቋնӉ؇a֝ཌቋཬӉ؇
+
+֝ཌቋնӉ؇          ֝ཌቋཬӉ؇        ѯหੱ [kbps]   SJA1000 ࠷թఖ
+lmax [m] 1*Ď    lmin [m] 2*Ď
+                                    1000   BTR0 [HEX]       BTR1 [HEX]
+       37              20            800          00               14
+       59              42           666.6         00               16
+       80              65            500          00               18
+      130             110           333.3         00              1C
+      180             160            250          01               18
+      270             250            166          01              1C
+      420             400            125          02              1C
+      570             550            100          03              1C
+      710             700           66.6          43              2F
+      1000            980            50           45              2F
+      1400            1400          33.3          47              2F
+      2000            2000           20          4B               2F
+      3600            3600          12.5          53              2F
+      5400            5400           10          5F               2F
+      7300            7300                        67              2F
+
+1*Ď࿼ൈ                                      2*Ď࿼ൈ
+trxdel = 50 ns                             trxdel = 62 ns
+ttxdel = 30 ns                             ttxdel = 60 ns
+topto = 15 ns                              topto = 40 ns
+TDEL = 110 ns                              TDEL = 202 ns
+
+2.5 ҃ཌӉ؇aࢫׄඔਈaཌভཌࣥᆭࡗ֥ܱ༢
+
+҃ཌӉ؇aࢫׄඔਈaཌভཌࣥ೘ᆀᆀᆭࡗթᄝ٤ӈࣅૡ֥ܱ༢bೂ๭෮ൕđູࢩ๭
+
+CANopen ܿٓѓሙ֥ܱ༢๭b๙ӈ౦ঃ༯ླေ༵ಒ‫ק‬Ԯൻए৖‫ׄࢫބ‬ඔਈđಖުथ‫ק‬ҐႨ
+
+൉હཌভb           ๭ 2.3 ҃ཌӉ؇aࢫׄඔਈaཌভཌ֥ࣥб২ܱ༢
+
+                              7
+                                                                                 CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                                 ‫۽‬ӱႋႨг࠺
+
+3. Ҭቖ֥࿊ᄴ
+
+3.1 ஥ཌ‫ބ‬৵ࢤ
+
+      CAN ຩ઎֥ຉ௪ࢲ‫ܒ‬൞oᆰཌൔp֥Ġؓбྒྙࠇߌྙຩ઎đຩ઎Ⴕਆ۱o؊ׄpbᄝ
+ਆ۱؊ׄഈđ‫׻‬Ⴕ 1 ۱նჿ 120Ȥ֥ᇔ؊‫׈‬ቅФ৵ࢤᄝ CAN_H ‫ ބ‬CAN_L ྐ‫ݼ‬ཌഈb
+
+      ౨ಒಪ୆ሹ൞ᄝሹཌਆ؊൐Ⴈֆ‫֥׿‬ᇔ؊‫׈‬ቅđၹູ֒ᄝࡼটؓຩ઎ቔԛ၂ུ‫ڿ‬эൈđ
+ᄝሹཌࢤ๨ࠇ PCB ৚֥‫׈‬ቅ‫ޓ‬଴Ф‫ؿ‬གྷbᆌൔ֥ࠇ।ൔ֥ 9 ᆌ DB9 ৵ࢤఖ‫׻‬ॖၛФႨቔ
+CAN ሹཌࢤ๨b
+
+ $"/ #PBS E                $POOFDU JOH                                          $"/@)                     'FNBM F $POOFDU PS
+                            $"/@(/%U P                                          $"/@-
+  F H1$* 
           1S PU FDU J WF $POEVDU PS 1&                         $"/@(/%                   .BM F $POOFDU PS
+    $"/64#
+                     /FU   1&          5FS NJO BU PS                                                      .BM F 5FS NJ OBU PS
+7 .&$ "/
FU D   /FU                                                                                   0SEFS OP $  
+
+                                        XJ U I 1& $POOFDU PS
+                                                                                                           'FNBM F 5FS NJOB U PS
+                                        5 $POOFDUPS                                                        0SEFS OP $  
+
+                                        0S EFS OP $  
+
+                            M  
  N
+
+                                                   5 $POOFDUPS                  5 $POOFDUPS              5 $POOFDUPS   5 $POOFDUPS
+                                                    $                     $                 $      $   5FS NJO BU PS
+
+                                                          M  
  N             M  
  N                M  
  N             M  
  N
+
+                                        $"/ $#.                     $"/ $#.                 $"/ $#.                 F H
+                                           %* 0                          "*                      $0.                   $"/4 14* OU FS G BDF
+                                                                                                                          $4$ 
+                                                                                                                          PS
+                                                                                                                          $"/1 $ #PBSE
+
+                                        $"/$BCM F                    $"/$BCM F                $"/$BCM F
+                                        0S EFS OP $        0S EFS OP $    0S EFS OP $  
+
+                                              ๭ 3.1 CAN-bus ຩ઎֥஥ཌა৵ࢤ
+
+      ၂ུ CAN-bus ଆॶᆦӻᆃᇕሹཌࢲ‫ܒ‬đၹູ෰ૌႵਆ۱҂๝֥ DB9 ྘Ҭቖğ၂۱৵ࢤ
+ൻೆཌđਸ਼၂۱৵ࢤൻԛཌbೂ‫ݔ‬၂۱ଆॶФՖ৽ࢤഈ၍ԢđCAN ሹཌି৫ࠧ޺ཌྷ৵ࢤđ
+ၹູ၂۱Ⴕ।ൔ֥ DB9 ৵ࢤఖ‫ط‬ਸ਼၂۱Ⴕ၂۱ᆌൔ֥ DB9 ৵ࢤఖb
+
+      ๙ӈ౦ঃ༯đሹཌ؊ׄࣇႵ၂۱ CAN ৵ࢤ֥ഡСb෱֥৵ࢤॖၛ๙‫ݖ‬၂۱ T ྘৵ࢤఖb
+ሹཌଌ؊ᆦཌӉ؇ႋ࣐ॖି֥؋b๙ӈđࢤ࣍ 0.3m ֥Ӊ؇൞ॖၛ֤֞Ќᆣ֥b
+
+      ҕॉ‫ ໊ؓ׈‬CAN ሹཌႵ႕ཙđၹູૄ۱ଆॶдՎᆭࡗ൞ཌྷ޺‫ۯ‬৖֥bҕॉ‫໊׈‬ᄝຩ઎
+ᇏ֥ଖ၂ׄФࢤֹb౨ಒಪᆺႵ၂۱ࢤֹׄđ‫ڎ‬ᄵ߶ᄝ CAN_GND ཌഈྙӮֹߌੀb
+
+      ೂ‫ݔ‬৵ࢤਔ၂۱ીႵ‫׈‬గ‫ۯ‬৖֥ CAN ࢤ१đӁളི֥‫ࣼݔ‬ཞ৵ֹbၹՎđቋ‫؟‬ᆺି৵
+ࢤ၂۱ીႵ‫׈‬గ‫ۯ‬৖֥ CAN ࢤ१b
+
+      ෮Ⴕ CAN Ӂ௖‫׻‬ႋ‫ھ‬ऎС‫׈‬గ‫ۯ‬৖ࢤ१bൌ࠽ഈೂ‫ݔ‬ଆॶીႵ‫׈‬గ‫ۯ‬৖ࢤ१đࡼᄝଆ
+ॶ൭Ҩ৚Фหљิࠣb
+
+      ೂ‫ݔ‬൐ႨֆҪ௠з‫׈‬ভൈđቔູ CAN_GND ֥௠зཌ҂ି৵ࢤ֞ DB9 ࢤ๨֥௠зҪđ
+ᆺିა pin 3 ‫ބ‬/ࠇ pin 6 ৵ࢤb௠зҪड़‫ק‬ᄝଖ၂ׄԩФࢤֹčPEĎbၹՎđॖၛҐႨห൹
+֥৵ֹ֥ᇔ؊b
+
+      ೂ‫ݔ‬൐ႨਔචҪ௠з‫׈‬ভđؓႿଽ௠зҪđোරႿֆҪ௠з‫׈‬ভ௠зҪ֥ႋႨğቔູ
+CAN_GND ྐ‫ݼ‬ཌ౏ᄝଖ၂ׄԩࢤֹ(PE)b
+
+      ຓ௠зҪ๝ဢႋ‫ھ‬ᄝଖ၂ׄԩࢤֹčPEĎb֌҂൞ቔູ CAN_GNDb‫ط‬൞đຓ௠зҪႋ
+‫ھ‬ሹ൞Ф৵ࢤ֞ DB9 Ҭቖ֥ࢤ๨௠зҪbೂ‫ݔ‬৵ࢤఖીႵ௠зҪčೂы௜‫׈‬ভ৵ࢤఖĎຓ
+௠зҪߎླေ৵ࢤ֞ pin 5 ၛಒЌॖौ֥ࢤֹb
+
+                                                                      8
+                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                            ‫۽‬ӱႋႨг࠺
+
+                                    ๭ 3.2 CAN-bus ຩ઎֥ཌভა৵ࢤఖ
+
+ၛ༯ਙіඪૼਔቆࡹ CAN ຩ઎ൈႋ‫ھ‬቎൯֥ܿᄵğ
+
+                                        і 3.1 CAN-bus ຩ઎֥৵ࢤܿᄵ
+
+྽                           ܿᄵඪૼ
+
+1   ຩ઎ਆ؊сྶႵਆ۱ٓຶᄝ Ȥ35Ȥ֥ᇔ؊‫׈‬ቅčᄝ CAN_L ‫ ބ‬CAN_H ྐ‫ݼ‬ᆭࡗĎĆ
+
+2   ҕॉ‫໊׈‬o$"/@(/%pᄝଖ၂ׄԩ৵ࢤֹ֞čPEĎbପ৚сྶ൞၂ׄࢤֹĆ
+
+3   ֒൐ႨචҪ௠з‫׈‬ভൈđຓ௠зҪᄝଖ၂ׄԩ৵ࢤֹ֞bପ৚္сྶ൞၂ׄࢤֹ!
+
+4   ીႨ֥ᆦཌсྶ࣐ॖି֥؋(Ӊ؇<0.3m)Ć
+
+5   ൐Ⴈൡ֥֒‫׈‬ভো྘Ćсྶಒ‫׈ק‬ভ֥‫׈‬࿢කࡨĆ
+
+6   ಒЌ҂ေᄝ‫ۄ‬ಠჷ‫҃࣍ڸ‬ᇂ CAN ሹཌbೂ‫ݔ‬҂֤҂ᆃဢቓđࡹၰ൐ႨචҪ௠з‫׈‬ভb
+
+3.2 DB9 ৵ࢤٚൔ֥ҬቖაҬ๨
+
+    հ༂Ćໃᅳ֞ႄႨჷbඪૼਔ CAN ሹཌ֥ 9 ᆌ DB9 ৵ࢤఖč‫܄‬๨Ďčა CiA ླྀ߶֥
+
+DRP303-1 ѓሙ၂ᇁĎ֥ႄ࢖‫ٳ‬஥b๙ӈ֥Ӂ௖ᇏđCAN ଆॶࠇ CAN ष‫ؿ‬ϰᆺ‫ٳ‬஥ CAN_Ha
+
+CAN_L ྐ‫ݼ‬đࣼॖၛᆞӈ๙࿟bၹՎđໃࡆඪૼൈđն‫؟‬ඔ৵ࢤ‫׈‬ভᇏ҂ླေ‫ٳ‬஥ః෰ྐ
+
+‫ݼ‬b
+
+                 і 3.2 DB9 ᆌൔ৵ࢤఖ
+
+    ྐ‫ݼ‬              ႄ࢖                                         ྐ‫ݼ‬
+
+    CAN_GND   6                   1                            Ќ਽
+
+     CAN_H    7             1     2                              CAN_L
+       Ќ਽                                                      CAN_GND
+                 6          2
+    (CAN_V+)     7                                                 Ќ਽
+              8  8          3     3
+
+                 9          4
+                            5
+              9
+                                         4
+
+                    9
+                         CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                         ‫۽‬ӱႋႨг࠺
+
+                                  5        CAN_SHIELD
+
+CAN_LaCAN_H  CAN ྐ‫ݼ‬ཌb
+
+CAN_GND      CAN ໾৘Ҫ֥ҕॉ‫׈‬௜b৵ࢤ֞௠зҪࠇᆀ֒൐ႨචҪ௠з‫׈‬ভൈđ৵ࢤ֞ଽ
+
+             ௠зҪb
+
+(GND)        ॖ࿊֥ GND ‫ ބ‬CAN_V+֥ҕॉ‫׈‬௜čᄝЧ໓ष‫ؿ‬ϰഈ‫ٳ‬஥۳ CAN_GNDĎb
+
+CAN_SHIELD   CAN ௠зҪđ҆‫္ކֹٳ‬ѓູ FGb
+
+             ֒൐ႨචҪ௠з‫׈‬ভൈđCAN_SHLD ৵ࢤ֞ຓ௠зҪ‫ ބ‬DB9 ৵ࢤఖ֥௠з॔b
+
+             ѩ౏đຓ௠зҪФ৵ࢤ֞ pin 5 ၛЌᆣ֒൐ႨીႵ௠з৵ࢤ֥৵ࢤఖൈđॖौ֥
+
+             ࢤֹb
+
+(CAN_V+)     ॖ࿊֥đCAN ࢤ१֥‫׈‬࿢ჷ(+7V<V+<+13V)b
+
+             ն‫؟‬ඔЧ໓ष‫ؿ‬ϰ҂ေ౰๙‫ݖ‬ሹཌ‫׈܂‬đೂ‫ླݔ‬ေҐႨሹཌ‫׈܂‬đ҂ܵႨ‫ޅ‬ᇕٚ
+
+             ‫م‬đಒЌ‫׈‬ჷཌᄝྐ‫ݼ‬ཌֻ֥၂Ҫ௠зҪຓđ౏ູਔЌՎࢠ֥֮‫׈‬࿢කࡨđႋ൐
+
+                           Ⴈቀ‫ܔ‬ՙ֥ཌb
+
+ܼᇜᇁჹ‫׈‬ሰิ‫ ܂‬TEZ ༢ਙ৵ࢤఖđቋնॖၛ৵ࢤཌູࣥ 1.5mm2 ֥௴๙ච࢛ཌa௠
+
+зච࢛ཌĠਸ਼ຓđຓ॔ഈഡႵॖၛ‫ڿ‬эଽࡹ 120Ȥᇔ؊‫׈‬ቅ֥ѭ‫׮‬षܱđॖၛٚьֹႨቔູ
+
+CAN-bus ຩ઎ᇔ؊৵ࢤఖđࠇ೘๙৵ࢤఖb
+
+๭ 3.3 TEZ-C01 ৵ࢤఖູ TEZ-C01 ৵ࢤఖ֥ຓܴൕၩ๭b
+
+                                                    ๭ 3.3 TEZ-C01 ৵ࢤఖ
+
+      TEZ-C01/02/03 ৵ࢤఖॖႨႿۚղ 1Mbps ෎ੱ֥ CAN-bus ຩ઎ᇏđॖၛิ‫܂‬ሹཌ‫׈‬ভ
+ॹ෎đٚьđॖौ֥৵ࢤ‫ିۿ‬b
+
+      TEZ-C01/02/03 ৵ࢤఖႨႿൌགྷགྷӆഡСॹ෎৵ࢤ֞ CAN-bus ຩ઎đ္ॖၛቔູຩ઎ᇔ
+؊৵ࢤఖa೘๙৵ࢤఖaѓሙሇߐఖ൐ႨbൡႨၛ༯ӆ‫ކ‬ğ
+
+       ॹ෎৵ࢤ CAN-bus གྷӆഡС֞ CAN-bus ຩ઎đิ‫׈܂‬ভॹ෎ࢤཌ֥ٚ‫م‬b
+       ႨႿ CAN-bus ຩ઎֥ਆ۱ᇔ؊ࢫׄđቔູࠢӮ 120 ୸ଚ‫׈‬ቅ֥ሹཌ؊ࢤఖb
+       ႨႿ CAN-bus ຩ઎֥ᇏࡗࢫׄđቔູຩ઎ᇏ֥೘๙৵ࢤఖb
+      120 ୸ଚ֥ᇔ؊‫׈‬ቅၘࣜࠢӮᄝ TEZ-C01/02/03 ৵ࢤఖᇏđᄝຓ҆๙‫ݖ‬၂۱߁‫׮‬षܱট
+ఓ‫׮‬ğຓ֥҆ѓ്o0/໊pᇂіൕ൐Ⴈଽᇂ֥ 120 ୸ଚᇔ؊‫׈‬ቅĠo0''໊pᇂіൕ؎षč҂൐
+ႨĎଽᇂ֥ 120 ୸ଚᇔ؊‫׈‬ቅbԢՎᆭຓđۚᇉਈ֥௠зൔ৵ࢤఖຓ॔ಒЌਔࠧьᄝቋ֥ۚ
+Ԯൻ෎ੱ༯đӁ௖္ିЌӻۚ؇֥ॆ‫ۄ‬ಠି৯b
+      TEZ-C01/02/03 ৵ࢤఖഡ࠹ႨႿ‫ ކژ‬CiA Draft Recommendation 303-1 ѓሙܿ‫׈֥ק‬ভ
+ຓ҆ᆰູࣥ 8mma๞֝ཌࢩ૫ࠒཬႿ 1.5mm2 ֥෮Ⴕ CAN-bus ‫׈‬ভbTEZ-C01/02/03 ৵ࢤఖ
+္ॖၛᆦӻջႵ၂ུ஥ࡱ֥໭௠з࢛‫׈ކ‬ভb
+
+                                                                    10
+                                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                         ‫۽‬ӱႋႨг࠺
+
+                                                 ๭ 3.4 TEZ-C01 ৵ࢤఖ๭ோ
+
+                                                 ๭ 3.5 TEZ-C02 ৵ࢤఖ๭ோ
+
+                                                 ๭ 3.6 TEZ-C03 ৵ࢤఖ๭ோ
+
+3.3 OPEN5 ৵ࢤఖ
+
+       հ༂Ćໃᅳ֞ႄႨჷbඪૼਔ CAN ሹཌ֥ OPEN5 ৵ࢤఖč๙ӈ֥ PHOENIX ؊ሰĎ
+֥ႄ࢖ྐ‫ٳݼ‬஥b๙ӈᆺླ‫ٳ‬஥ğCAN_HaCAN_L ྐ‫ݼ‬b
+
+                                                                    11
+                         CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                         ‫۽‬ӱႋႨг࠺
+
+ႄ࢖                         і 3.3 OPEN5 ৵ࢤఖ  ൕၩ๭
+  5        ྐ‫ݼ‬
+  4    (CAN_V+)
+  3      CAN_H
+  2  CAN_SHIELD
+  1      CAN_L
+      (CAN_GND)
+
+OPEN5 Ҭቖ֞ DB9 Ҭቖ(҂ջ‫׈‬ჷ৵ࢤ)֥޺৵ႄ࢖ྐ‫ٳݼ‬஥࡮๭ 3.7b
+
+                                                             5IF QJ O %46#
+                                                             DPOOFDU PS J T
+                                                             BTT J HOFE J O
+                                                             BDDPS EBODF XJU I
+                                                             $J " %31
+
+                                       ๭ 3.7 OPEN5 ৵ࢤఖა DB9 ৵ࢤఖ֥޺৵
+
+       ܼᇜᇁჹ‫׈‬ሰളӁ֥ CAN-bus Ӂ௖၂Ϯ࿊ᄴ DB9 ᆌ྘/।྘Ҭቖđఃܵ࢖ྐ‫קݼ‬ၬೂ
+і 3.4 ෮ൕbDB9 Ҭቖ֥ܵ࢖‫ק‬ၬ‫ ކژ‬CiA ѓሙb
+
+                                               і 3.4 CAN ৵ࢤఖ DB9 ᆌ྘Ҭቖ
+
+        ႄ࢖‫ݼ‬         ྐ‫ݼ‬                              ‫ିۿ‬
+           2      CAN_L                      CAN_L ྐ‫ݼ‬ཌ
+           7      CAN_H                      CAN_H ྐ‫ݼ‬ཌ
+
+         3a6        GND                           ҕॉֹ
+           5  CAN_SHIELD                          ௠зཌ
+                                                    ໃႨ
+     1a4a8a9         ॢ
+
+       Ⴈ޼ॖၛ๙‫ݖ‬࿊஥֥ DB9OPEN5 ሇߐఖđࡼ DB9 ᆌൔҬቖ֥ CAN-bus ྐ‫ݼ‬ሇߐӮ 5
+ႄ࢖֥ DeviceNet ࠇ CANopen ຩ઎b༯૫ၛ৵ࢤᇀ DeviceNet ຩ઎ູ২đࢺക OPEN5 Ҭ
+ቖ֥ൻԛྐ‫ݼ‬đೂ๭ 3.8 ෮ൕb
+
+              V                              ‫ޣ‬೤ P.M.S#207C
+              CAN_H                          Ϣ೤ EIA935A ཌভཋᇅ
+
+              ௠зཌ
+
+              CAN_L                          ড೤ P.M.S.#297C
+              V                              ‫ޑ‬೤ P.M.S.#426C
+
+     ๭ 3.8 OPEN5 ৵ࢤఖ֥ DeviceNet ‫ק‬ၬ
+
+                     12
+                                       CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                 ‫۽‬ӱႋႨг࠺
+
+๭ 3.9 ູ DB9OPEN5 ሇߐఖ֥ຓܴൕၩ๭b
+
+                                          ๭ 3.9 DB9OPEN5 ৵ࢤఖ
+
+                                                            13
+                                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                         ‫۽‬ӱႋႨг࠺
+
+4. 布线规范与终端电阻选择
+
+4.1 直线型拓扑结构
+
+      直线型拓扑结构是 CAN 总线布线规范中最为常用的。如图 4.1 所示。即主干的两条线
+上分支出支线到各个节点。主干的两端配置合适的终端电阻实现阻抗匹配（2km 内通常为
+120 欧）。
+
+                                                      图 4.1 直线型拓扑结构
+
+4.1.1 “手牵手”式连接
+      由于分支长度以及分支长度的积累都会造成阻抗不连续，在接头处产生“反射”现象。
+
+所以直线型拓扑结构中，最常用的就是“手牵手”式的连接。如图 4.2 所示。
+
+                                                   图 4.2 “手牵手”式的连接
+
+      由于要在同一个接线端子里面插入 2 根线，在线缆较粗的情况下，可能插不进去，或者
+无法可靠牢固地拧紧。所以在设计节点的时候，将同一路 CAN 分成 4 个端子引出，2 两两
+并联，如图 4.3 所示。
+
+                                              图 4.3 方便接线的“手牵手”方式
+
+4.1.2 “T”型分支式连接
+      在绝大多数的工业现场、轨道机车中，由于整体线缆非常多，均需要使用接线排，方便
+
+维护。所以 CAN 的节点分支也不可避免。只能尽量减小分支长度。如图 4.4 所示。
+                                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                         ‫۽‬ӱႋႨг࠺
+
+                                                        图 4.4 T 型分支方式
+
+      这个分支长度在 1M 波特率下不得大于 0.3m，因为 1M 波特率是 CAN 的最高波特率，
+所以其他波特率时，分支长度如果也遵循 0.3m 的规范，则可以稳定运行。
+
+      当然在一些场合无法做到很短的分支，所以根据不同波特率，有不同的分支长度规范，
+如表 4.1 所示，为高速 CAN 中的分支规则。可见随着波特率增加，分支约束越来越宽松。
+
+                                                表 4.1 不同波特率下的分支规则
+
+      如果更低的波特率，分支规则会继续放宽，如在 5K 波特率下，笔者曾经测试过 100 米
+的分支可以稳定通讯。
+4.1.3 使用 CAN 网桥中继器的连接
+
+      如果布线长度超过 CAN –bus 在某一波特率下的最大值，则需要使用 CAN 网桥
+CANBridge 进行中继延长距离。如图 4.5 所示。
+
+                                                图 4.5 使用 CAN 网桥延长距离
+
+      在不同波特率下，增加 CANBridge 网桥的最大距离也不同，这里按以 1.5mm 的屏蔽双
+绞线为传输介质，需要增加网桥的实际距离与终端电阻值，如表 4.2 所示。
+
+                                                                    15
+                           CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                           ‫۽‬ӱႋႨг࠺
+
+                表 4.2 CAN 实用最大距离
+
+通讯距离                              最高波特率(bps)
+   25m                     1M（终端电阻为 120 欧）
+   40m                     800k（终端电阻为 120 欧）
+   70m                     500k（终端电阻为 120 欧）
+  140m                     250k（终端电阻为 120 欧）
+  280m                     125k（终端电阻为 120 欧）
+  350m                     100k（终端电阻为 120 欧）
+  450m                     80k（终端电阻为 120 欧）
+  700m                     50k（终端电阻为 120 欧）
+  1 km                     35k（终端电阻为 120 欧）
+  2 km                     18k（终端电阻为 120 欧）
+  3 km                      9k（终端电阻为 160 欧）
+  4 km                      7k（终端电阻为 220 欧）
+  5 km                      7k（终端电阻为 240 欧）
+  6 km                      6k（终端电阻为 270 欧）
+  7 km                      5k（终端电阻为 300 欧）
+  8 km
+  9 km                        5k（终端电阻为 330 欧）
+  10 km                       5k（终端电阻为 360 欧）
+                              5k（终端电阻为 390 欧）
+
+4.1.4 使用 CAN 光纤转换器的连接
+
+      在某些电磁干扰非常严重场合，需要将 CAN-bus 转换为光信号来传输，避免受到雷击
+浪涌等影响。如图 4.6 所示为使用 CANhub-AF2S2 两路光纤两路 CAN 的组网方案。自动中
+继，不断延长距离。
+
+                图 4.6 CAN 光纤组网方案
+
+4.2 星型拓扑结构
+
+4.2.1 “等长”星型连接
+
+                       16
+                                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                         ‫۽‬ӱႋႨг࠺
+
+                                                   图 4.7 星形状等长拓扑结构
+
+      在星形基本等长情况下，可不使用集线器设备，调整每个节点的终端电阻即可实现组网：
+
+R=n×60 欧姆
+
+R:每个分支的终端电阻
+n:分支数量
+注意：每个节点都需要加终端电阻，星形的中心不得加任何电阻！
+4.2.2 使用 CAN 集线器的连接
+
+      如果分支不等长，或者是非常复杂的分支结构，就需要使用 CAN 集线器 CANHub-AS4
+来进行分支。如图 4.8 所示，使用 CANHub-AS4 可以组合成任意的分支结构。
+
+                                                    图 4.8 CANHub-AS4 分支
+
+      如图 4.9 所示，为集线器与中继器配合使用在煤矿组网的应用。
+
+                                                                    17
+               CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                         ‫۽‬ӱႋႨг࠺
+图 4.9 集线器和中继器配合使用
+
+                    18
+                                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                         ‫۽‬ӱႋႨг࠺
+
+5. 参考资料
+
+[1]周立功著，项目驱动——CAN-bus 现场总线基础教程，第 1 版，北京：北京航空航天出
+版社，2012，ISBN:7512408218, 9787512408210
+[2]蔡豪格（德）著，周立功译，现场总线 CANopen 设计与应用，第 1 版，北京：北京航空
+航天出版社，2011，ISBN: 9787512404861, 7512404867
+
+                                                                    19
+                                            CAN-bus ‫׈‬ভ/Ҭቖ/҃ཌܿٓ
+
+                                                                                                                         ‫۽‬ӱႋႨг࠺
+
+6. 免责声明
+
+应用信息
+      本应用信息中的案例或意图均为假设，仅方便用户熟悉产品的特性以及使用方法。客户
+
+在开发产品前必须根据其产品特性给予修改并验证。
+修改文档的权利
+
+      本手册所陈述的产品文本及相关软件版权均属广州致远电子股份有限公司所有，其产权
+受国家法律绝对保护，未经本公司授权，其它公司、单位、代理商及个人不得非法使用和
+拷贝，否则将受到国家法律的严厉制裁。广州致远电子股份有限公司保留在任何时候修订本
+用户手册且不需通知的权利。
+
+      您若需要我公司产品及相关信息，请及时与我们联系，我们将热情接待。
+
+                                                                    20
+
diff --git a/figure/CANid.jpg b/figure/CANid.jpg
new file mode 100644
index 0000000..8bf07d8
Binary files /dev/null and b/figure/CANid.jpg differ
diff --git a/figure/CANid设置.jpg b/figure/CANid设置.jpg
new file mode 100644
index 0000000..bbf152d
Binary files /dev/null and b/figure/CANid设置.jpg differ
diff --git a/figure/DH.png b/figure/DH.png
new file mode 100644
index 0000000..817eac2
Binary files /dev/null and b/figure/DH.png differ
diff --git a/figure/Spherica_Wrist.png b/figure/Spherica_Wrist.png
new file mode 100644
index 0000000..99b5a26
Binary files /dev/null and b/figure/Spherica_Wrist.png differ
diff --git a/figure/eular_angle.png b/figure/eular_angle.png
new file mode 100644
index 0000000..92f309b
Binary files /dev/null and b/figure/eular_angle.png differ
diff --git a/figure/rotate.png b/figure/rotate.png
new file mode 100644
index 0000000..b11bfab
Binary files /dev/null and b/figure/rotate.png differ
diff --git a/figure/叉乘.png b/figure/叉乘.png
new file mode 100644
index 0000000..294b6d1
Binary files /dev/null and b/figure/叉乘.png differ
diff --git a/matlab/dh2Tmat.m b/matlab/dh2Tmat.m
new file mode 100644
index 0000000..98ece56
--- /dev/null
+++ b/matlab/dh2Tmat.m
@@ -0,0 +1,19 @@
+function T = dh2Tmat(theta,d,a,alpha)
+sin_th = sin(theta);
+cos_th = cos(theta);
+sin_al = sin(alpha);
+cos_al = cos(alpha);
+
+% T = [cos_th        -sin_th       0        a;
+%      sin_th*cos_al cos_th*cos_al -sin_al -sin_al*d;
+%      sin_th*sin_al cos_th*sin_al cos_al  cos_al*d;
+%      0             0             0        1;
+%     ];
+
+T = [cos_th,  -sin_th*cos_al,  sin_th*sin_al,  a*cos_th;
+     sin_th,  cos_th*cos_al,   -cos_th*sin_al, a*sin_th;
+     0,       sin_al,          cos_al,         d;
+     0,             0 ,            0 ,       1;
+    ];
+end
+
diff --git a/matlab/myArm.m b/matlab/myArm.m
new file mode 100644
index 0000000..3ea1835
--- /dev/null
+++ b/matlab/myArm.m
@@ -0,0 +1,61 @@
+clear;
+clc;
+
+L1=0.151;L3=0.350; L4=0.139;
+
+theta_1=-0.02;
+theta_2=-1.473;
+theta_3=-0.024;
+theta_4=-1.559;
+theta_5=-2.98966;
+
+q = [theta_1,theta_2,theta_3,theta_4,theta_5]
+
+
+%定义关节角度限制
+lim1_min = -pi/2; lim1_max = pi/2; %关节1(-90,90)
+lim2_min = -pi/2; lim2_max = pi/2; %关节2(0，90)
+lim3_min = -pi; lim3_max = pi; %关节4(-180，180)
+lim4_min = -pi; lim4_max = pi; %关节5(-180，180)
+lim5_min = -pi/2; lim5_max = pi/2; %关节6(-90，90)
+
+ 
+%定义关节旋转范围
+lim1 = lim1_max - lim1_min;
+lim2 = lim2_max - lim2_min;
+lim3 = lim3_max - lim3_min;
+lim4 = lim4_max - lim4_min;
+lim5 = lim5_max - lim5_min;
+
+%定义关节
+r(1)=Link([0 L1 0 pi/2]);r(1).qlim=[lim1_min,lim1_max];
+r(2)=Link([0  0 L3 pi/2]);r(2).qlim=[lim2_min,lim2_max];
+r(3)=Link([0 0 0 -pi/2]);r(3).qlim=[lim3_min,lim3_max];
+r(4)=Link([0 0 0 pi/2]);r(4).qlim=[lim4_min,lim4_max];
+r(5)=Link([0 L4 0 0]);r(5).qlim=[lim5_min,lim5_max];
+
+%组合关节
+robot=SerialLink([r(1),r(2),r(3),r(4),r(5)],'name','robot');
+robot.fkine(q)
+
+robot.display();
+
+% 
+%使用蒙特卡洛法绘制机械臂的工作空间
+N=5000;
+theta1 = ( lim1_min + (lim1 * rand(N,1)) );
+theta2 = ( lim2_min + (lim2 * rand(N,1)) );
+theta3 = ( lim3_min + (lim3 * rand(N,1)) );
+theta4 = ( lim4_min + (lim4 * rand(N,1)) );
+theta5 = ( lim5_min + (lim5 * rand(N,1)) );
+ 
+% for n = 1:N
+%     theta = [theta1(n),theta2(n),theta3(n),theta4(n),theta5(n)];
+%     workspace = robot.fkine(theta);
+%     plot3(workspace.t(1),workspace.t(2),workspace.t(3),'b.','markersize',1);
+%     hold on;
+% end
+% robot.plot(theta);  %动画显示
+
+robot.teach;
+
diff --git a/matlab/myFk.m b/matlab/myFk.m
new file mode 100644
index 0000000..e3755a8
--- /dev/null
+++ b/matlab/myFk.m
@@ -0,0 +1,10 @@
+function T = myFk(theta1,theta2,theta3,theta4,theta5)
+L1=0.151;L3=0.350; L4=0.139;    
+T01 = dh2Tmat(theta1,L1,0,pi/2);
+    T12 = dh2Tmat(theta2,0,0,pi/2);
+    T23 = dh2Tmat(theta3,L3,0,-pi/2);
+    T34 = dh2Tmat(theta4,0,0,pi/2);
+    T45 = dh2Tmat(theta5,L4,0,0);
+
+    T = T01*T12*T23*T34*T45;
+end
\ No newline at end of file
diff --git a/matlab/myIK.m b/matlab/myIK.m
new file mode 100644
index 0000000..3a57ec8
--- /dev/null
+++ b/matlab/myIK.m
@@ -0,0 +1,40 @@
+T05 = myFk(0.001,-0.653+pi/2,-0.22,0.001,pi/2);
+
+L1=0.151;L3=0.350; L4=0.139;    
+Pe = T05(1:3,4);
+Ze = T05(1:3,3);
+
+%求解W点（球形腕）
+Pw = Pe - L4*Ze;
+
+%求解theta1
+theta_1 = atan2(Pw(2),Pw(1));
+
+%求解theta2
+%L1^2 + L3^2 - 2*L1*L3*cos_th2 = norm(Pw)^2
+cos_th2 = (L1^2 + L3^2 - norm(Pw)^2)/(2*L1*L3);
+theta_2 = acos(cos_th2);
+
+%计算T02
+T01 = dh2Tmat(theta_1,L1,0,pi/2); %连杆1
+T12 = dh2Tmat(theta_2,0,0,pi/2);   %连杆2
+T02 = T01*T12;
+
+%计算T25  T05 = T02 * T25
+T = inv(T02) * T05;
+%T25_f = dh2Tmat(0,0.5,0,-pi/2)*dh2Tmat(pi/4,0,0,pi/2)*dh2Tmat(0,0.3,0,0);
+
+%腕关节(theta_5)朝上
+theta_3 = atan2(T(2,3),T(1,3));
+theta_4 = atan2(sqrt(T(1,3)^2+T(2,3)^2),T(3,3));
+theta_5 = atan2(T(3,2),-T(3,1));
+
+%腕关节(theta_5)朝下
+theta_33 = atan2(-T(2,3),-T(1,3));
+theta_44 = atan2(-sqrt(T(1,3)^2+T(2,3)^2),T(3,3));
+theta_55 = atan2(-T(3,2),T(3,1));
+
+theta = [theta_1,theta_2,theta_3,theta_4,theta_5;
+         theta_1,theta_2,theta_33,theta_44,theta_55;]
+
+
diff --git a/工程代码笔记及达妙电机使用规范.md b/工程代码笔记及达妙电机使用规范.md
new file mode 100644
index 0000000..291c148
--- /dev/null
+++ b/工程代码笔记及达妙电机使用规范.md
@@ -0,0 +1,41 @@
+# 24赛季工程机器人代码笔记
+24赛季工程机器人代码为`basic_framework`框架下，C/C++混编，主要目的为使用上海交通大学开源的嵌入式机器人学运算库 [SJTU-RoboMaster-Team/Matrix_and_Robotics_on_STM32](https://github.com/SJTU-RoboMaster-Team/Matrix_and_Robotics_on_STM32)
+
+## 混合编译注意事项
+机械臂解算相关代码放在了`gimbal.cpp`中，代码中使用了C++特性的源文件都需要以`.cpp`结尾
+
+如果希望`.c`文件能够调用`.cpp`文件提供的函数，则需要在`.cpp`文件对应的头文件中加入`extern "C" {}`关键字
+
+如`gimbal.h`
+``` C
+#ifndef GIMBAL_H
+#define GIMBAL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/**
+ * @brief 初始化云台,会被RobotInit()调用
+ * 
+ */
+void GimbalInit();
+
+/**
+ * @brief 云台任务
+ * 
+ */
+void GimbalTask();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // GIMBAL_H
+```
+## 达妙电机相关
+湖大开源`basic_framework`框架的达妙驱动为每个达妙电机单独创建了一个任务，但赛场测试发现这会经常导致某些电机离线，因此新版代码中将所有达妙电机像DJI电机一样在一个任务中控制
+
+### ID设置规范
+![alt text](figure/CANid.jpg)
+![alt text](figure/CANid设置.jpg)
+
diff --git a/机器人学基础及机械臂解算.md b/机器人学基础及机械臂解算.md
new file mode 100644
index 0000000..8499713
--- /dev/null
+++ b/机器人学基础及机械臂解算.md
@@ -0,0 +1,190 @@
+# 机器人学基础及机械臂解算
+
+copyright@合肥工业大学苍穹竞技机器人队
+
+## 1 机器人学基础
+### 1.1 向量叉乘
+向量叉乘满足右手定则，如图所示
+![alt text](figure/叉乘.png)
+
+注意叉乘有前后顺序， $a\times b=-b\times a$
+
+向量叉乘可以被表示为一个线性关系
+$$
+a\times b = \left[\begin{matrix}
+    a_2b_3 - a_3b_2 \\ 
+    a_3b_1 - a_1b_3 \\
+    a_1b_2 - a_2b_1
+\end{matrix}\right] = \left[\begin{matrix}
+0 & -a_3 & a_2 \\
+a_3 & 0 &-a_1 \\
+-a_2 & a_1 & 0
+\end{matrix}\right]b = [a]b
+$$
+每个三维向量 $a$ 都对应一个三维的反对称矩阵 $[a]$ 
+$$
+[a] = -[a]^T
+$$
+
+### 1.2 旋转矩阵
+一般规定所有坐标系为右手系，即坐标系的三个正交基向量（三个轴） $\hat x,\hat y,\hat z$ 满足 
+$$
+\hat x \times \hat y = \hat z
+$$
+![alt text](figure/rotate.png)
+
+将坐标系 $\{A\}$ 旋转到坐标系 $\{B\}$ 的位置，可以由旋转矩阵 $R$ 表示
+$$
+^AR_B = \begin{bmatrix}
+    {^A\hat x_B} & {^A\hat y_B} & {^A\hat z_B}
+\end{bmatrix}
+$$
+
+${^A\hat x_B}$ 表示向量 $\hat x_B$ 在坐标系 $\{A\}$ 下的坐标
+
+旋转矩阵的一些性质：
+- $R^TR=I$
+- $\det(R)=1$
+- $SO(n) = \left\{R\in\R^{n\times n}:R^TR = I,\det(R) = 1\right\}$
+  
+
+旋转矩阵的物理意义：
+
+1. 表示一个旋转姿态（定义）
+2. 在两个参考坐标系之间转换：
+   如有一向量$v$，在坐标系 $\{A\}$ 和坐标系 $\{B\}$ 下的坐标为 $^Av,{^Bv}$
+   $$
+    ^Av = {^AR_B}{^Bv}
+   $$
+3. 表示一个旋转动作：将A点旋转至A'点
+   $$
+   {^OR_{A'}} = R{^OR_A}
+   $$
+   > 左乘，绕着固定轴旋转；右乘，绕着旋转后的轴旋转 （证明较复杂先记住结论）
+
+### 1.3 其他表示旋转的方法
+#### 欧拉角
+如旋转顺序为ZYZ的欧拉角，依次绕着上次旋转后的轴进行旋转
+![alt text](figure\eular_angle.png)
+$$
+^0R_1(\alpha ,\beta,\gamma) = R_z(\alpha)R_y(\beta)R_z(\gamma)
+$$
+
+ZYX欧拉角，等价与绕定轴旋转的RPY角（roll-pitch-yaw）
+$$
+^0R_1(\text{yaw,pitch,roll}) = R_z(\text{yaw})R_y(\text{pitch})R_x(\text{roll})
+$$
+### 1.4 变换矩阵
+在三维世界中，不仅有旋转动作，还有平移动作，想要完全描述坐标系 $\{A\}$ 和坐标系 $\{B\}$ 的位姿关系，需要旋转矩阵 $^AR_B$ 和 坐标系 $\{B\}$ 的原点在坐标系 $\{A\}$ 中的坐标 $^Ao_B$
+
+对于点 $p$ ,有
+$$
+^Ap = {^Ao_B} +{^AR_B}{^Bp}
+$$
+
+为了将其描述为线性关系，我们将 $p\in \R^3$ 扩展为齐次坐标
+$$
+\tilde{p} = \begin{bmatrix}
+    p \\ 1
+\end{bmatrix} \in \R^4
+$$
+> 对于点，齐次坐标添加1；对于向量，齐次坐标添加0、
+
+定义从坐标系 $\{A\}$ 到坐标系 $\{B\}$ 的变换矩阵
+$$
+    ^AT_B = \begin{bmatrix}
+        {^AR_B} & {^Ao_B} \\
+        0 & 1
+    \end{bmatrix}
+$$
+
+$$
+    ^A\tilde{p} = {^AT_B}{^B\tilde{p}}
+$$
+
+## 2 机械臂运动学
+### 1.1 正运动学 DH参数法
+- 连杆——link
+- 关节——jiont
+- 通过每个link的DH参数，可以仅通过关节变量求得相邻两jiont之间的齐次变换矩阵
+
+![alt text](figure/DH.png)
+
+对每个jiont建立坐标系，指定 $z_i$ 为旋转/平移关节的旋转轴/平动轴；$x_i$ 为 $z_i$ 和 $z_{i-1}$ 的公垂线且与 $z_{i-1}$ 相交，方向由 $z_{i-1}$ 指向 $z_{i}$ ；$y_i$ 遵循右手系规则
+
+DH参数共有四个：
+
+1. 连杆长度 $a_i$ : 沿 $x_i$ 方向， $z_i$ 和 $z_{i-1}$间的距离
+2. 连杆扭转 $\alpha_i$ :  $z_i$ 轴和 $z_{i-1}$ 轴的夹角，正方向如图所示，由 $z_{i-1}$ 指向 $z_i$ 轴；
+3. 关节偏移 $d_i$ : 沿着 $z_{i-1}$ ,点 $o_{i-1}$ 到 $x_i$ 和 $z_{i-1}$ 交点的距离
+4. 关节转角 $\theta_i$ :  $x_i$ 轴和 $x_{i-1}$ 轴的夹角，正方向如图所示，由 $x_{i-1}$ 指向 $x_i$ 轴；
+
+> 对于平动关节来说，$d_i$ 为关节变量，其他为常数
+
+> 对于转动关节来说，$\theta_i$ 为关节变量，其他为常数
+>
+
+得到每个关节的DH参数后，可通过计算得到相邻两关节的齐次变换矩阵
+$$
+^{i-1}T_i = Rot_{z,\theta}Trans_{z,d}Trans_{x,a}Rot_{x,a} = \begin{bmatrix}
+    c_\theta & -s_\theta c_\alpha & s_\theta s_\alpha & ac_\theta \\
+    s_\theta & c_\theta c_\alpha & -c_\theta s_\alpha & as_\theta \\
+    0 & s_\alpha & c_\alpha & d \\
+    0 & 0 & 0 & 1
+\end{bmatrix}
+$$
+> 式中 $c_\theta = \cos \theta$ , $s_\theta = \sin \theta$
+
+将每个关节之间的变换矩阵相乘即可得到从基座坐标系到工具坐标系之间的变换矩阵
+$$
+    ^0T_n = {^0T_1}{^1T_2}{^2T_3}\cdots{^{n-1}T_n}
+$$
+
+### 2.2 逆运动学
+逆运动学可分为数值迭代法和解析法，一般为了保证能求出解以及实时性，采用几何解析解法。
+> 在机械臂结构设计时需要满足一定结构规范，才能保证能够求得解析解
+>
+#### 2.2.1 标准正交球形腕逆运动学
+在大多数六轴机械臂的最后三轴，都会采用球形腕（Spherical Wrist）结构来保证能够达到工作空间中的所有姿态（如苍穹战队RM2024赛季工程机器人机械臂末端）
+
+![alt text](figure/Spherica_Wrist.png)
+
+设现在需要的第三关节到第六关节间的旋转矩阵为
+$$
+    ^3R_6 = \begin{bmatrix}
+        n_x & s_x & a_x \\
+        n_y & s_y & a_y \\
+        n_z & s_z & a_z 
+    \end{bmatrix}
+$$
+
+有两组解：
+
+当 $\theta_5\in(0,\pi)$
+$$
+\theta_4 = Atan2(a_y,a_x) \\
+\theta_5 = Atan2(\sqrt{{a_x}^2+{a_y}^2},a_z) \\
+\theta_6 = Atan2(s_z,-n_z) \\
+$$
+
+当 $\theta_5\in(-\pi,0)$
+$$
+\theta_4 = Atan2(-a_y,-a_x) \\
+\theta_5 = Atan2(-\sqrt{{a_x}^2+{a_y}^2},a_z) \\
+\theta_6 = Atan2(-s_z,n_z) \\
+$$
+
+证明过程见[Modeling, Motion Planning, and Control of Manipulators and Mobile Robots——Inverse Kinematics](https://opentextbooks.clemson.edu/wangrobotics/chapter/inverse-kinematics/)（链接中有完整的六轴机械臂解算方法）
+
+## 3 机械臂动力学
+24赛季未考虑机械臂动力学，使用PID+前馈方式对每个关节进行单独控制，若机械臂结构更复杂则需要考虑动力学补偿，为后续迭代方向，我有空更新
+
+## 4 仿真验证
+可以使用MATLAB Robotic toolbox 进行仿真验证，仿真验证相关代码放在`matlab`文件夹
+
+
+
+# 参考文献
+[Modeling, Motion Planning, and Control of Manipulators and Mobile Robots](https://opentextbooks.clemson.edu/wangrobotics)
+
+[SUSTech MEE5114 Advanced Control For Robotics](https://www.wzhanglab.site/teaching/advanced-control-for-robotics-sp23/)
diff --git a/机器人学基础及机械臂解算.pdf b/机器人学基础及机械臂解算.pdf
new file mode 100644
index 0000000..431c599
--- /dev/null
+++ b/机器人学基础及机械臂解算.pdf
@@ -0,0 +1,121 @@
+机器人学基础及机械臂解算
+
+copyright@合肥工业大学苍穹竞技机器人队
+
+1 机器人学基础
+
+1.1 向量叉乘
+
+向量叉乘满足右手定则，如图所示
+
+注意叉乘有前后顺序，
+向量叉乘可以被表示为一个线性关系
+
+每个三维向量 都对应一个三维的反对称矩阵
+
+1.2 旋转矩阵
+
+一般规定所有坐标系为右手系，即坐标系的三个正交基向量（三个轴）  满足
+将坐标系  旋转到坐标系      的位置，可以由旋转矩阵 表示
+
+       表示向量 在坐标系  下的坐标
+旋转矩阵的一些性质：
+
+旋转矩阵的物理意义：
+
+1. 表示一个旋转姿态（定义）
+
+2. 在两个参考坐标系之间转换：
+
+如有一向量 ，在坐标系       和坐标系  下的坐标为
+
+3. 表示一个旋转动作：将A点旋转至A'点
+
+           左乘，绕着固定轴旋转；右乘，绕着旋转后的轴旋转 （证明较复杂先记住结论）
+
+1.3 其他表示旋转的方法
+
+欧拉角
+
+如旋转顺序为ZYZ的欧拉角，依次绕着上次旋转后的轴进行旋转
+
+ZYX欧拉角，等价与绕定轴旋转的RPY角（roll-pitch-yaw）
+
+1.4 变换矩阵
+
+在三维世界中，不仅有旋转动作，还有平移动作，想要完全描述坐标系             和坐标系  的位姿关
+
+系，需要旋转矩阵  和 坐标系  的原点在坐标系              中的坐标
+
+对于点 ,有
+
+为了将其描述为线性关系，我们将  扩展为齐次坐标
+
+对于点，齐次坐标添加1；对于向量，齐次坐标添加0、
+
+定义从坐标系    到坐标系   的变换矩阵
+
+2 机械臂运动学
+
+1.1 正运动学 DH参数法
+
+      连杆——link
+      关节——jiont
+      通过每个link的DH参数，可以仅通过关节变量求得相邻两jiont之间的齐次变换矩阵
+对每个jiont建立坐标系，指定 为旋转/平移关节的旋转轴/平动轴； 为 和    的公垂线且与
+
+相交，方向由         指向 ； 遵循右手系规则
+
+DH参数共有四个：
+
+1. 连杆长度  : 沿 方向， 和 间的距离
+2. 连杆扭转
+3. 关节偏移  : 轴和      轴的夹角，正方向如图所示，由  指向 轴；
+4. 关节转角                            指向 轴；
+         : 沿着  ,点  到和    交点的距离
+
+         : 轴和      轴的夹角，正方向如图所示，由
+
+对于平动关节来说， 为关节变量，其他为常数
+
+对于转动关节来说， 为关节变量，其他为常数
+
+得到每个关节的DH参数后，可通过计算得到相邻两关节的齐次变换矩阵
+
+式中         ,
+
+将每个关节之间的变换矩阵相乘即可得到从基座坐标系到工具坐标系之间的变换矩阵
+
+2.2 逆运动学
+
+逆运动学可分为数值迭代法和解析法，一般为了保证能求出解以及实时性，采用几何解析解法。
+    在机械臂结构设计时需要满足一定结构规范，才能保证能够求得解析解
+
+2.2.1 标准正交球形腕逆运动学
+
+在大多数六轴机械臂的最后三轴，都会采用球形腕（Spherical Wrist）结构来保证能够达到工作空间中
+的所有姿态（如苍穹战队RM2024赛季工程机器人机械臂末端）
+
+设现在需要的第三关节到第六关节间的旋转矩阵为
+有两组解：
+当
+
+当
+
+证明过程见Modeling, Motion Planning, and Control of Manipulators and Mobile Robots——Inverse
+Kinematics（链接中有完整的六轴机械臂解算方法）
+
+3 机械臂动力学
+
+24赛季未考虑机械臂动力学，使用PID+前馈方式对每个关节进行单独控制，若机械臂结构更复杂则需要
+考虑动力学补偿，为后续迭代方向，我有空更新
+
+4 仿真验证
+
+可以使用MATLAB Robotic toolbox 进行仿真验证，仿真验证相关代码放在 matlab 文件夹
+
+参考文献
+
+Modeling, Motion Planning, and Control of Manipulators and Mobile Robots
+SUSTech MEE5114 Advanced Control For Robotics
+
