{"id":17321974,"url":"https://github.com/petercorke/rvc-notation","last_synced_at":"2025-06-10T08:03:37.547Z","repository":{"id":37288511,"uuid":"203672810","full_name":"petercorke/rvc-notation","owner":"petercorke","description":"RVC notation","archived":false,"fork":false,"pushed_at":"2021-09-02T23:21:08.000Z","size":295,"stargazers_count":20,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T12:26:23.285Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/petercorke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-21T22:23:17.000Z","updated_at":"2025-01-28T16:47:26.000Z","dependencies_parsed_at":"2022-08-29T07:01:00.568Z","dependency_job_id":null,"html_url":"https://github.com/petercorke/rvc-notation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercorke%2Frvc-notation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercorke%2Frvc-notation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercorke%2Frvc-notation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercorke%2Frvc-notation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petercorke","download_url":"https://codeload.github.com/petercorke/rvc-notation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petercorke%2Frvc-notation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259033678,"owners_count":22795760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T13:40:31.960Z","updated_at":"2025-06-10T08:03:37.491Z","avatar_url":"https://github.com/petercorke.png","language":"TeX","readme":"# LaTeX macros for Robotics, Vision and Control\n\nThis file includes macros to create equations in the style of those used in the textbook [\"Robotics, Vision \u0026 Control\"](http://petercorke.com/wordpress/rvc), all editions.\n\n```latex\n\\include{rvc-notation}\n```\n\nMake sure that `rvc-notation.tex` is in your LaTeX path.\n\nA [PDF version of the cheatsheet is available here](https://github.com/petercorke/rvc-notation/blob/master/cheatsheet.pdf).\n\n## Poses\n\n* `\\pose`        abstract pose, greek letter \u0026xi;\n* `\\pose[f]`    pose with respect to a frame\n* `\\pose_A` is the pose of frame A\n* `\\pose[B]_A` is the pose of frame A with respect to frame B\n* `\\estpose`  estimated pose, greek letter \u0026xi; with hat\n* `\\posedot`   derivative of abstract pose, greek letter \u0026nu;\nA leading superscript, the reference frame, is specified in square brackets.  A trailing subscript, the target frame, is specified in the standard LaTeX way using `_`.\n\nThe operators \u0026oplus; and \u0026ominus; which are given by the LaTeX commands `\\oplus`  and `\\ominus` respectively.\n\n```\\latex\n$\\ominus \\pose[C]_A = \\pose[A]_B \\oplus \\pose[B]_C$\n```\n![pose](figs/pose.png)\n\nWe can apply a pose to a vector, which linearly transforms it by\n\n```\\latex\n$\\pose_b \\sbullet \\vec{b}_P$\n```\n\nYou can tweak the size of the bullet by giving it a relative scale argument, ie. `\\sbullet[2]` is very large.\n\nThere are also estimated pose and derivative of pose or spatial velocity\n\n```\\latex\n$\\estpose, \\posedot$\n```\n![pose](figs/pose2.png)\n\n\n## Coordinate frames\n\n* `\\cframe{A}` is coordinate frame A which renders as {A}\n\n```latex\n\\cframe{A}\n```\n![math](figs/frame.png)\n\n\n## Points\n\n* `\\point{A}` is point A which renders in Roman bold font\n\n```latex\n\\point{P}\n```\n![math](figs/point.png)\n\n\n## Vectors\n\nVectors are displayed in bold italic font\n\n* `\\vec{t}` is a vector t \n* `\\vec[A]{t}` is a vector t with respect to frame A\n* `\\dvec{t}` is vector of `\\dot{t}`\n* `\\dvec[A]{t}` is vector of `\\dot{t}` with respect to frame A\n* `\\ddvec[f]{x`}  a double dotted vector \n* `\\hvech[f]{x}` a homogeneous vector (tilde above)\n* `\\bvec[f]{x}` a vector with an over bar, eg. for mean value\n* `\\evec[f]{x}` an estimated vector with a hat\n\n```latex\n$\\vec{v}, \\dvec{v}, \\ddvec{v}, \\vec[a]{v}$\n```\n![math](figs/vec1.png)\n\n```latex\n$ \\hvec{v},  \\evec{v}, \\bvec{v}$\n```\n![math](figs/vec2.png)\n\n## Matrices\n\nMatrices are displayed in bold Roman font\n\n* `\\mat{x}`     a matrix\n* `\\mat[f]{x}`  a matrix with a coordinate frame\n* `\\dmat[f]{x}`  a matrix derivative\n* `\\zero` a zero matrix\n* `\\matfn{f}{x}` matrix function f of x\n\n\n```latex\n$\\mat{A}, \\mat[a]{R}_b, \\dmat{A}, \\emat{A}, \\zero_{2\\times 3}$\n```\n![math](figs/matrix.png)\n\n```latex\n$\\matfn{J}{\\vec{q}}, \\matfn[0]{J}{\\vec{q}}$\n```\n![math](figs/matrix2.png)\n\n## Skew symmetric matrices\n\n* `\\skx{v}`  -\u003e [v]x skew symmetric matrix\n* `\\sk{v}`  -\u003e [v] augmented skew symmetric matrix\n* `\\iskx{v}`  -\u003e inverse skew symmetric matrix, vex operator\n* `\\isk{v}`  -\u003e inverse augmented skew symmetric matrix\n\n```latex\n$\\sk{v}, \\skx{v}, \\isk{A}, \\iskx{A}$\n```\n![math](figs/skew.png)\n\n## Unit Quaternion\n\n* `\\q` displays as q with a bubble on top\n\n```latex\n$\\q, \\q[a]_b$\n```\n![math](figs/quat.png)\n\n## Mathematial Groups\n\nDisplayed in Roman font\n\n* `\\R` is the group of real numbers, an R in blackboard font\n* `\\SO{n}`  special orthogonal group: SO(n)\n* `\\SE{n}`  special Euclidean group: SE(n)\n* `\\so{n}`  Lie algebra of SO(n): so(n)\n* `\\se{n}`  Lie algebra of SE(n): se(n)\n\n```latex\n$\\R^2, \\SO{3}, \\so{3}$\n```\n![math](figs/math.png)\n\n## MATLAB code\n\nDisplay a block of code in blue fixed-width font\n\n```latex\n\\begin{Code}\n[x,e] = eig(A);\n\\end{Code}\n```\n![code](figs/code.png)\n\nFor multi-line code blocks with line numbering\n\n```latex\n\\begin{CodeNum}\n[x,e] = eig(A);\nz = x(:,2);\n\\end{CodeNum}\n```\n![code](figs/code2.png)\n\n## Miscellaneous\n\n### Smallest angular difference\nThe symbol \u0026circleddash; is used to represent the difference of two angles wrapped into the interval [-\u0026pi; \u0026pi;), which is produced by the LaTeX command `\\circleddash`.\n\n```latex\n$\\theta_1 \\circleddash \\theta_2$\n```\n![anglediff](figs/angdiff.png)\n\n### Units\n\n* `\\unit{U}` sets the contents in math mode with a preceding half space, eg. `\\unit{m s^{-2})`\n* `\\mm`, `\\um`, `\\nm`\n* `\\Hz`, `\\kHz`, `\\MHz`\n* `\\ms`\n* `\\deg`\n\n```latex\nThe object was 12\\mm\\ across, \naccelerated at 2.3\\unit{m s^{-2}},\nthe servo interval was 12\\ms, \nand the angle spanned 30\\deg.\n```\n![units](figs/units.png)\n\n### Scientific notation\n\n* `\\sci{m}{e}` scientific notation with mantissa and exponent\n\n```latex\n\\sci{5}{-2}\n```\n![anglediff](figs/sci.png)\n\n### Coordinates and vectors\n```latex\n$\\coord{1}{2}, \\vector{1}{2}{3}$\n```\n![anglediff](figs/coords.png)\n\n### Other symbols\n\n* `\\cspace` configuration space, caligraphic C\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetercorke%2Frvc-notation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetercorke%2Frvc-notation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetercorke%2Frvc-notation/lists"}