Sorry, but the page you were trying to view does not exist.
Sitemap
A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.
Pages
**About me**
Welcome! I am a Mechanical Engineering Ph.D. candidate at Southern Methodist University with a deep focus on dynamics, control systems, and haptics. Backed by over five years of prior industry experience as an Automation Engineer, my goal is to translate complex control theory into functional, real-world robotic systems.
As a Research Assistant in the Systems Lab, my primary work focuses on a Haptic-Enabled Virtual Palpation System for 3D Elastography Medical Imaging. I am actively developing the SMU Haptic Glove, engineering its kinematics, dynamics, and nonlinear control architecture to advance medical diagnostics.
I am passionate about engineering education, leading senior undergraduate students as a Teaching Assistant for both the Control Lab and the Elements of Mechanical Engineering Measurement Lab.
Research Interests
- Dynamics & Nonlinear Control
- Medical Robotics & Haptics
- Mechatronics
- Medical Image Processing
Education
- 🎓 Ph.D. in Mechanical Engineering
Southern Methodist University (SMU), Present - 🎓 M.Sc. in Mechanical/Mechatronics Engineering
Jordan University of Science and Technology (JUST), 2022 - 🎓 B.Sc. in Mechatronics Engineering
University of Jordan (JU), 2018
Archive Layout with Content
A variety of common markup showing how the theme styles them.
Header one
Header two
Header three
Header four
Header five
Header six
Blockquotes
Single line blockquote:
Quotes are cool.
Tables
| Entry | Item | |
|---|---|---|
| John Doe | 2016 | Description of the item in the list |
| Jane Doe | 2019 | Description of the item in the list |
| Doe Doe | 2022 | Description of the item in the list |
| Header1 | Header2 | Header3 |
|---|---|---|
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
| Foot1 | Foot2 | Foot3 |
Definition Lists
- Definition List Title
- Definition list division.
- Startup
- A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
- #dowork
- Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
- Do It Live
- I’ll let Bill O’Reilly explain this one.
Unordered Lists (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Ordered List (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Buttons
Make any link standout more when applying the .btn class.
Notices
Watch out! You can also add notices by appending {: .notice} to a paragraph.
HTML Tags
Address Tag
1 Infinite LoopCupertino, CA 95014
United States
Anchor Tag (aka. Link)
This is an example of a link.
Abbreviation Tag
The abbreviation CSS stands for “Cascading Style Sheets”.
Cite Tag
“Code is poetry.” —Automattic
Code Tag
You will learn later on in these tests that word-wrap: break-word; will be your best friend.
Strike Tag
This tag will let you strikeout text.
Emphasize Tag
The emphasize tag should italicize text.
Insert Tag
This tag should denote inserted text.
Keyboard Tag
This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.
Preformatted Tag
This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
Quote Tag
Developers, developers, developers…
–Steve Ballmer
Strong Tag
This tag shows bold text.
Subscript Tag
Getting our science styling on with H2O, which should push the “2” down.
Superscript Tag
Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.
Variable Tag
This allows you to denote variables.
Page Not Found
Sorry, but the page you were trying to view does not exist.
**About me**
Welcome! I am a Mechanical Engineering Ph.D. candidate at Southern Methodist University with a deep focus on dynamics, control systems, and haptics. Backed by over five years of prior industry experience as an Automation Engineer, my goal is to translate complex control theory into functional, real-world robotic systems.
As a Research Assistant in the Systems Lab, my primary work focuses on a Haptic-Enabled Virtual Palpation System for 3D Elastography Medical Imaging. I am actively developing the SMU Haptic Glove, engineering its kinematics, dynamics, and nonlinear control architecture to advance medical diagnostics.
I am passionate about engineering education, leading senior undergraduate students as a Teaching Assistant for both the Control Lab and the Elements of Mechanical Engineering Measurement Lab.
Research Interests
- Dynamics & Nonlinear Control
- Medical Robotics & Haptics
- Mechatronics
- Medical Image Processing
Education
- 🎓 Ph.D. in Mechanical Engineering
Southern Methodist University (SMU), Present - 🎓 M.Sc. in Mechanical/Mechatronics Engineering
Jordan University of Science and Technology (JUST), 2022 - 🎓 B.Sc. in Mechatronics Engineering
University of Jordan (JU), 2018
Archive Layout with Content
Cupertino, CA 95014
United States### Anchor Tag (aka. Link) This is an example of a [link](https://github.com "GitHub"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. ### Strike Tag This tag will let you
` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers…
–Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. {% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %} </div> </article> </div> Awards & Fellowships
{% include base_path %} {% for post in site.awards reversed %} {% include archive-single-award.html %}
{% endfor %}
Posts by Category
{% include base_path %} {% include group-by-array collection=site.posts field="categories" %} {% for category in group_names %} {% assign posts = group_items[forloop.index0] %}{{ category }}
{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}
Posts by Collection
{% include base_path %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}{{ label }}
{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}
CV
{% include base_path %} {% include cv-template.html %}
CV
{% include base_path %} Education ====== * Ph.D in Version Control Theory, GitHub University, 2018 (expected) * M.S. in Jekyll, GitHub University, 2014 * B.S. in GitHub, GitHub University, 2012 Work experience ====== * Spring 2024: Academic Pages Collaborator * GitHub University * Duties includes: Updates and improvements to template * Supervisor: The Users * Fall 2015: Research Assistant * GitHub University * Duties included: Merging pull requests * Supervisor: Professor Hub * Summer 2015: Research Assistant * GitHub University * Duties included: Tagging issues * Supervisor: Professor Git Skills ====== * Skill 1 * Skill 2 * Sub-skill 2.1 * Sub-skill 2.2 * Sub-skill 2.3 * Skill 3 Publications ======{% for post in site.publications reversed %} {% include archive-single-cv.html %} {% endfor %}
Talks ======{% for post in site.talks reversed %} {% include archive-single-talk-cv.html %} {% endfor %}
Teaching ======{% for post in site.teaching reversed %} {% include archive-single-cv.html %} {% endfor %}
Service and leadership ====== * Currently signed in to 43 different slack teams
/* * This file controls what is imported from /_sass * * Note that the files are processed in the order they are imported, so they are partly sorted by the dependencies. Also, the first two lines of the file are required by Jekyll. */ @import "vendor/breakpoint/breakpoint", "themes", "theme/{{ site.site_theme | default: 'default' | append: '_light' }}", "theme/{{ site.site_theme | default: 'default' | append: '_dark' }}", "include/mixins", "vendor/susy/susy", "layout/reset", "layout/base", "include/utilities", "layout/tables", "layout/buttons", "layout/notices", "layout/masthead", "layout/navigation", "layout/footer", "syntax", "layout/forms", "layout/page", "layout/archive", "layout/sidebar", "layout/json_cv", "vendor/font-awesome/fontawesome", "vendor/font-awesome/solid", "vendor/font-awesome/brands" ;
{ "name": {{ site.title | jsonify }}, "short_name": {{ site.name | jsonify }}, "description": {{ site.description | jsonify }}, "start_url": "{{ site.baseurl | default: '/' }}", "lang": {{ site.locale | default: "en" | jsonify }}, "icons": [ { "src": "/images/favicon-192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/images/favicon-512x512.png", "sizes": "512x512", "type": "image/png" } ] }
Markdown
{% include toc %} ## Locations of key files/directories * Basic config options: _config.yml * Top navigation bar config: _data/navigation.yml * Single pages: _pages/ * Collections of pages are .md or .html files in: * _publications/ * _portfolio/ * _posts/ * _teaching/ * _talks/ * Footer: _includes/footer.html * Static files (like PDFs): /files/ * Profile image (can set in _config.yml): images/profile.png ## Tips and hints * Name a file ".md" to have it render in markdown, name it ".html" to render in HTML. * Go to the [commit list](https://github.com/academicpages/academicpages.github.io/commits/master) (on your repo) to find the last version GitHub built with Jekyll. * Green check: successful build * Orange circle: building * Red X: error * No icon: not built * Academic Pages uses [Jekyll Kramdown](https://jekyllrb.com/docs/configuration/markdown/), GitHub Flavored Markdown (GFM) parser, which is similar to the version of Markdown used on GitHub, but may have some minor differences. * Some of emoji supported on GitHub should be supposed via the [Jemoji](https://github.com/jekyll/jemoji) plugin :computer:. * The best list of the supported emoji can be found in the [Emojis for Jekyll via Jemoji](https://www.fabriziomusacchio.com/blog/2021-08-16-emojis_for_Jekyll/#computer) blog post. * While GitHub Pages prevents server side code from running, client-side scripts are supported. * This means that Google Analytics is supported, and [the wiki](https://github.com/academicpages/academicpages.github.io/wiki/Adding-Google-Analytics) should contain the most up-to-date information on getting it working. * Your CV can be written using either Markdown ([preview](https://academicpages.github.io/cv/)) or generated via JSON ([preview](https://academicpages.github.io/cv-json/)) and the layouts are slightly different. You can update the path to the one being used in `_data/navigation.yml` with the JSON formatted CV being hidden by default. * The [Liquid syntax guide](https://shopify.github.io/liquid/tags/control-flow/) is a useful guide for those that want to add functionality to the template or to become contributors to the [template on GitHub](https://github.com/academicpages/academicpages.github.io). ## MathJax Support for MathJax (version 3.* via [jsDelivr](https://www.jsdelivr.com/), [documentation](https://docs.mathjax.org/en/latest/)) is included in the template: $$ \displaylines{ \nabla \cdot E= \frac{\rho}{\epsilon_0} \\\ \nabla \cdot B=0 \\\ \nabla \times E= -\partial_tB \\\ \nabla \times B = \mu_0 \left(J + \varepsilon_0 \partial_t E \right) } $$ The default delimiters of `$$...$$` and `\\[...\\]` are supported for displayed mathematics, while `\\(...\\)` should be used for in-line mathematics (ex., \\(a^2 + b^2 = c^2\\)) **Note** that since Academic Pages uses Markdown which cases some interference with MathJax and LaTeX for escaping characters and new lines, although [some workarounds exist](https://math.codidact.com/posts/278763/278772#answer-278772). In some cases, such as when you are including MathJax in a `citation` field for publications, it may be necessary to use `\(...\)` for inline delineation. ## Mermaid diagrams Academic Pages includes support for [Mermaid diagrams](https://mermaid.js.org/) (version 11.* via [jsDelivr](https://www.jsdelivr.com/)) and in addition to their [tutorials](https://mermaid.js.org/ecosystem/tutorials.html) and [GitHub documentation](https://github.com/mermaid-js/mermaid) the basic syntax is as follows: ```markdown ```mermaid graph LR A-->B ``` ``` Which produces the following plot with the [default theme](https://mermaid.js.org/config/theming.html) applied: ```mermaid graph LR A-->B ``` While a more advanced plot with the `forest` theme applied looks like the following: ```mermaid --- config: theme: 'forest' --- graph TD; A-->B; A-->C; B-->D; C-->D; ``` ## Plotly Academic Pages includes support for Plotly diagrams via a hook in the Markdown code elements, although those that are comfortable with HTML and JavaScript can also access it [via those routes](https://plotly.com/javascript/getting-started/). Plotly is included via an `npm` [package](https://www.npmjs.com/package/plotly.js?activeTab=readme) and is distributed as part of the minimized JavaScript that is part of the template. In order to render a Plotly plot via Markdown the relevant plot data need to be added as follows: ```markdown ```plotly { "data": [ { "x": [1, 2, 3, 4], "y": [10, 15, 13, 17], "type": "scatter" }, { "x": [1, 2, 3, 4], "y": [16, 5, 11, 9], "type": "scatter" } ] } ``` ``` **Important!** Since the data is parsed as JSON *all* of the keys will need to be quoted for the plot to render. The use of a tool like [JSONLint](https://jsonlint.com/) to check syntax is highly recommended. {: .notice} Which produces the following: ```plotly { "data": [ { "x": [1, 2, 3, 4], "y": [10, 15, 13, 17], "type": "scatter" }, { "x": [1, 2, 3, 4], "y": [16, 5, 11, 9], "type": "scatter" } ] } ``` Essentially what is taking place is that the [Plotly attributes](https://plotly.com/javascript/reference/index/) are being taken from the code block as JSON data, parsed, and passed to Plotly along with a theme that matches the current site theme (i.e., a light theme, or a dark theme). This allows all plots that can be described via the `data` attribute to rendered with some limitations for the theme of the plot. ```plotly { "data": [ { "x": [1, 2, 3, 4, 5], "y": [1, 6, 3, 6, 1], "mode": "markers", "type": "scatter", "name": "Team A", "text": ["A-1", "A-2", "A-3", "A-4", "A-5"], "marker": { "size": 12 } }, { "x": [1.5, 2.5, 3.5, 4.5, 5.5], "y": [4, 1, 7, 1, 4], "mode": "markers", "type": "scatter", "name": "Team B", "text": ["B-a", "B-b", "B-c", "B-d", "B-e"], "marker": { "size": 12 } } ], "layout": { "xaxis": { "range": [ 0.75, 5.25 ] }, "yaxis": { "range": [0, 8] }, "title": {"text": "Data Labels Hover"} } } ``` ```plotly { "data": [{ "x": [1, 2, 3], "y": [4, 5, 6], "type": "scatter" }, { "x": [20, 30, 40], "y": [50, 60, 70], "xaxis": "x2", "yaxis": "y2", "type": "scatter" }], "layout": { "grid": { "rows": 1, "columns": 2, "pattern": "independent" }, "title": { "text": "Simple Subplot" } } } ``` ```plotly { "data": [{ "z": [[10, 10.625, 12.5, 15.625, 20], [5.625, 6.25, 8.125, 11.25, 15.625], [2.5, 3.125, 5.0, 8.125, 12.5], [0.625, 1.25, 3.125, 6.25, 10.625], [0, 0.625, 2.5, 5.625, 10]], "type": "contour" }], "layout": { "title": { "text": "Basic Contour Plot" } } } ``` ## Markdown guide Academic Pages uses [kramdown](https://kramdown.gettalong.org/index.html) for Markdown rendering, which has some differences from other Markdown implementations such as GitHub's. In addition to this guide, please see the [kramdown Syntax page](https://kramdown.gettalong.org/syntax.html) for full documentation. ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables ### Table 1 | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | ### Table 2 | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | ce ll5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices Basic notices or call-outs are supported using the following syntax: ```markdown **Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph. {: .notice} ``` which wil render as: **Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph. {: .notice} ### Footnotes Footnotes can be useful for clarifying points in the text, or citing information.[^1] Markdown support numeric footnotes, as well as text as long as the values are unique.[^note] ```markdown This is the regular text.[^1] This is more regular text.[^note] [^1]: This is the footnote itself. [^note]: This is another footnote. ``` [^1]: Such as this footnote. [^note]: When using text for footnotes markers, no spaces are permitted in the name. ## HTML Tags ### Address Tag 1 Infinite Loop
Cupertino, CA 95014
United States### Anchor Tag (aka. Link) This is an example of a [link](https://github.com "GitHub"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. You can also write larger blocks of code with syntax highlighting supported for some languages, such as Python: ```python print('Hello World!') ``` or R: ```R print("Hello World!", quote = FALSE) ``` ### Details Tag (collapsible sections) The HTML `` tag works well with Markdown and allows you to include collapsible sections, see [W3Schools](https://www.w3schools.com/tags/tag_details.asp) for more information on how to use the tag. Collapsed by default
This section was collapsed by default! The source code: ```HTML Collapsed by default
This section was collapsed by default! ``` Or, you can leave a section open by default by including the `open` attribute in the tag: Open by default
This section is open by default thanks to open in the <details open> tag! ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers…
–Steve Ballmer ### Strike Tag This tag will let you strikeout text. ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. *** **Footnotes** The footnotes in the page will be returned following this line, return to the section on Markdown Footnotes. </div> </article> </div> Page not in menu
This is a page not in the menu. You can use markdown in this page. Heading 1 ====== Heading 2 ======
Page Archive
{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}
Portfolio
{% include base_path %} {% for post in site.portfolio %} {% include archive-single.html %} {% endfor %}
Publications
{% if site.author.googlescholar %}You can also find my articles on my Google Scholar profile.{% endif %} {% include base_path %} {% if site.publication_category %} {% for category in site.publication_category %} {% assign title_shown = false %} {% for post in site.publications reversed %} {% if post.category != category[0] %} {% continue %} {% endif %} {% unless title_shown %}{{ category[1].title }}
{% assign title_shown = true %} {% endunless %} {% include archive-single-pub.html %} {% endfor %} {% endfor %} {% else %} {% for post in site.publications reversed %} {% include archive-single-pub.html %} {% endfor %} {% endif %}
Sitemap
{% include base_path %} A list of all the posts and pages found on the site. For you robots out there, there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.Pages
{% for post in site.pages %} {% include archive-single.html %} {% endfor %}Posts
{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}{{ label }}
{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}
Posts by Tags
{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}{{ tag }}
{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}
Talk map
This map is generated from a Jupyter Notebook file in talkmap.ipynb, which mines the location fields in the .md files in _talks/.
Teaching
{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}
Terms and Privacy Policy
{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](https://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](https://www.google.com/analytics/learn/privacy.html).
Blog posts
{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}{{ year }}
{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}
{"/about/":"https://ammaryacoub.github.io/","/about.html":"https://ammaryacoub.github.io/","/resume-json":"https://ammaryacoub.github.io/cv-json/","/resume":"https://ammaryacoub.github.io/cv/","/md/":"https://ammaryacoub.github.io/markdown/","/markdown.html":"https://ammaryacoub.github.io/markdown/","/nmp/":"https://ammaryacoub.github.io/non-menu-page/","/nmp.html":"https://ammaryacoub.github.io/non-menu-page/","/wordpress/blog-posts/":"https://ammaryacoub.github.io/year-archive/"}
Markdown Generator
# Markdown Generator This directory contains various ways of creating Markdown for your site. In general, filenames that end with `.ipynb` or `.py` are similar, but may contain different documentation or are intended to be run from with GitHub when deploying your site. ## Python Scripts The .py files are Python scripts that that can be run from the command line (ex., `python3 publications.py publications.csv`) with the objective of also ensuring that they have reduced requirements for packages, which may allow them to run when deploying your site from within GitHub. ## Jupyter Notebooks These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process.
{% if page.xsl %}{% endif %}<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>Jekyll <link href="{{ '/' | absolute_url }}" rel="alternate" type="text/html" {% if site.lang %}hreflang="{{ site.lang }}" {% endif %}/>{{ site.time | date_to_xmlschema }} {{ page.url | absolute_url | xml_escape }} {% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }} {% endif %}{% if site.description %}{{ site.description | xml_escape }} {% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }} {% if site.author.email %}{{ site.author.email | xml_escape }} {% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }} {% endif %} {% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "categories", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{" "}}xml:lang="{{ post.lang }}"{% endif %}>{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}
{{ post.date | date_to_xmlschema }} {{ post.last_modified_at | default: post.date | date_to_xmlschema }} {{ post.id | absolute_url | xml_escape }} {% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}<![CDATA[{{ post.content | strip }}]]> {% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }} {% if post_author_email %}{{ post_author_email | xml_escape }} {% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }} {% endif %} {% if post.category %} {% elsif post.categories %}{% for category in post.categories %} {% endfor %}{% endif %}{% for tag in post.tags %} {% endfor %}{% assign post_summary = post.description | default: post.excerpt %}{% if post_summary and post_summary != empty %}<![CDATA[{{ post_summary | strip_html | normalize_whitespace }}]]>
{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %} {% endif %}</entry>{% endfor %}</feed>
{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}
Awards & Fellowships
Best Teaching Assistant Award
Received:
Recognized with the Best Teaching Assistant Award from the Mechanical Engineering Department at Southern Methodist University for excellence in teaching laboratory sessions and enhancing students’ hands-on learning experience.
Frederick E. Terman Award
Received:
Recipient of the Frederick E. Terman Award, presented by the Lyle School of Engineering at SMU in recognition of outstanding scholastic achievement and contributions to the engineering school community. The award honors the legacy of Dr. Frederick E. Terman and is given to graduate students who exemplify academic excellence and leadership.
Dean’s Dissertation Fellowship
Received:
Selected as a recipient of the Dean’s Dissertation Fellowship for the 2026–27 academic year. The fellowship supports outstanding doctoral students during the final stage of their dissertation research and recognizes academic and research achievement. View the official list of fellows
Second Place Award – Graduate Research Day Poster Competition
Received:
Awarded Second Place in the Graduate Research Day Poster Competition, organized by the Graduate School at Jordan University of Science and Technology, in recognition of outstanding research presentation.
Posts by Collection
awards
Second Place Award – Graduate Research Day Poster Competition
Published:
Awarded Second Place in the Graduate Research Day Poster Competition, organized by the Graduate School at Jordan University of Science and Technology, in recognition of outstanding research presentation.
Dean’s Dissertation Fellowship
Published:
Selected as a recipient of the Dean’s Dissertation Fellowship for the 2026–27 academic year. The fellowship supports outstanding doctoral students during the final stage of their dissertation research and recognizes academic and research achievement. View the official list of fellows
Frederick E. Terman Award
Published:
Recipient of the Frederick E. Terman Award, presented by the Lyle School of Engineering at SMU in recognition of outstanding scholastic achievement and contributions to the engineering school community. The award honors the legacy of Dr. Frederick E. Terman and is given to graduate students who exemplify academic excellence and leadership.
Best Teaching Assistant Award
Published:
portfolio
Portfolio item number 1
Published:
This is an item in your portfolio. It can be have images or nice text. If you name the file .md, it will be parsed as markdown. If you name the file .html, it will be parsed as HTML.
Portfolio item number 2
Published:
publications
Magnetically Actuated Millimeter-Scale Biped
Published in Robotics and Autonomous Systems , 2025
Recommended citation: Cox, A., Asadi, F., Yacoub, A., Beskok, S., & Hurmuzlu, Y. (2025). Magnetically actuated millimeter-scale biped. Robotics and Autonomous Systems, 190, 104985
Download Paper | Download Bibtex
Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors
Published in The 5th Modeling, Estimation and Control Conference (MECC 2025), 2025
This paper presents an analysis of the precision of fingertip location for a 7 degrees of freedom (DOF) pneumatic haptic glove developed at SMU for 3D elastographic imaging virtual palpation.The 2D workspace for each finger and the 3D workspace for the glove are calculated from the actuator positions using closed-form expressions based on design geometry. The fingertip locations are measured using a 5-camera OptiTrack motion capture, and the results are compared with the fingertip positions obtained using the linear sensors integrated in the design of each finger joint.This work is an essential step in the development of a virtual palpation system of 3D elastographic medical images.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2025). Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors. IFAC-PapersOnLine, 59(30), 203-208.
Download Paper | Download Bibtex
Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Published in 65th IEEE Conference on Decision and Control, 2026
Pneumatic actuators exhibit strong nonlinearities and considerable uncertainties that include time-varying friction, making precise force tracking control challenging. This is exacerbated in small-scale cylinders, where internal friction can represent a significant percentage of the maximum output force. To address these issues, this paper presents an adaptive sliding mode control method with friction compensation (ASMC-FC). The controller integrates online parameter adaptation for managing slow-varying friction uncertainties with sliding mode control (SMC) to ensure robustness against unmodeled dynamics and rapidly changing uncertain parameters. Experimental validation is conducted on a double-acting, single-rod small pneumatic cylinder. The results demonstrate that the proposed approach offers better force tracking and increased robustness compared to standard SMC.
Recommended citation: Yacoub, A., Hurmuzlu, Y & Richer, E. Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Download Paper
Design and Kinematics Analysis for the SMU Haptic Glove
Published in Mechanism and Machine Theory, 2026
This paper presents the mechanical design and kinematic analysis of SMU Haptic Glove, which incorporates seven degrees of freedom (DOF) that are pneumatically actuated and developed for 3D elastographic imaging virtual palpation. This paper outlines the mechanical design of the SMU Haptic Glove The two-dimensional workspace for each finger and the glove’s three-dimensional workspace are determined from the actuator positions using closed-form expressions based on the design geometry and are measured using embedded linear sensors.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. Design and Kinematic Analyses of the SMU Haptic Glove. Available at SSRN 6350469
Download Paper | Download Bibtex
Modeling and Compensation of Static Friction to Improve Force Tracking Performance in Miniature Pneumatic Cylinders
Published in IEEE Transactions on Control Systems Technology, 2026
Haptic gloves require actuators capable of precise force trajectory tracking. Pneumatic actuators exhibit high force to weight ratio performance; however, their usage is often limited by high nonlinearities and friction-induced uncertainties. This study investigates the position and pressure-dependent static friction in small-scale pneumatic actuators. A new stiction model is proposed that explicitly incorporates these dependencies to accurately characterize static friction effects. In order to exploit this model, a sliding mode controller (SMC) with estimated friction compensation is developed and experimentally validated. When actuator force is estimated using pressure measurements, results show that incorporating the friction model significantly reduces amplitude errors compared to uncompensated control.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Adaptive Robust Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder.
Download Paper
Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control
Published in American Control Conference (ACC), 2026
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control. American Control Conference (ACC).
Download Paper
teaching
Elements of Mechanical Engineering Measurements Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2025
I guided senior students in experimental design, data acquisition, and system integration utilizing tools like LabVIEW. I offered comprehensive support for final projects and extended my mentorship beyond my formal duties, teaching students how to use Arduino-based platforms and encouraging them to apply these tools to develop their ideas.
Control Systems Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2026
Served as a Graduate Teaching Assistant for the Control Systems Laboratory in the Mechanical Engineering Department at Southern Methodist University. Assisted in delivering hands-on laboratory sessions focused on fundamental control systems concepts, including system modeling, time-domain response, feedback control, and stability analysis. Students implemented and validated control algorithms using MATLAB/Simulink and Quanser hardware platforms, including the QUBE-Servo 3 and QAreo 2 systems.
Intro to Mechatronics Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2026
I supported the design and testing of laboratory experiments prior to implementation and provided detailed feedback to enhance student learning.
CV
Your Sidebar Name
Summary
Currently employed at Red Brick University. Short biography for the left-hand sidebar
Education
-
Ph.D in Version Control Theory2018GitHub University
-
M.S. in Jekyll2014GitHub University
-
B.S. in GitHub2012GitHub University
Publications
-
Paper Title Number 12009
-
Paper Title Number 22010
-
Paper Title Number 32015
-
Paper Title Number 42024
Presentations
-
Talk 1 on Relevant Topic in Your Field2012UC San Francisco, Department of TestingSan Francisco, CA, USA
-
Tutorial 1 on Relevant Topic in Your Field2013UC-Berkeley Institute for Testing ScienceBerkeley, CA, USA
-
Talk 2 on Relevant Topic in Your Field2014London School of TestingLondon, UK
-
Conference Proceeding talk 3 on Relevant Topic in Your Field2014Testing Institute of America 2014 Annual ConferenceLos Angeles, CA, USA
Teaching
-
Teaching experience 12014University 1, DepartmentRole: Undergraduate course
-
Teaching experience 22015University 1, DepartmentRole: Workshop
Portfolio
-
Portfolio item number 1
CV
Education
- Ph.D in Version Control Theory, GitHub University, 2018 (expected)
- M.S. in Jekyll, GitHub University, 2014
- B.S. in GitHub, GitHub University, 2012
Work experience
- Spring 2024: Academic Pages Collaborator
- GitHub University
- Duties includes: Updates and improvements to template
- Supervisor: The Users
- Fall 2015: Research Assistant
- GitHub University
- Duties included: Merging pull requests
- Supervisor: Professor Hub
- Summer 2015: Research Assistant
- GitHub University
- Duties included: Tagging issues
- Supervisor: Professor Git
Skills
- Skill 1
- Skill 2
- Sub-skill 2.1
- Sub-skill 2.2
- Sub-skill 2.3
- Skill 3
Publications
-
Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control
Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control. American Control Conference (ACC).
-
Modeling and Compensation of Static Friction to Improve Force Tracking Performance in Miniature Pneumatic Cylinders
Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Adaptive Robust Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder.
-
Design and Kinematics Analysis for the SMU Haptic Glove
Yacoub, A., Richer, E., & Hurmuzlu, Y. Design and Kinematic Analyses of the SMU Haptic Glove. Available at SSRN 6350469
-
Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Yacoub, A., Hurmuzlu, Y & Richer, E. Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
-
Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors
Yacoub, A., Richer, E., & Hurmuzlu, Y. (2025). Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors. IFAC-PapersOnLine, 59(30), 203-208.
-
Magnetically Actuated Millimeter-Scale Biped
Cox, A., Asadi, F., Yacoub, A., Beskok, S., & Hurmuzlu, Y. (2025). Magnetically actuated millimeter-scale biped. Robotics and Autonomous Systems, 190, 104985
Talks
Teaching
Service and leadership
- Currently signed in to 43 different slack teams
Markdown
Locations of key files/directories
- Basic config options: _config.yml
- Top navigation bar config: _data/navigation.yml
- Single pages: _pages/
- Collections of pages are .md or .html files in:
- _publications/
- _portfolio/
- _posts/
- _teaching/
- _talks/
- Footer: _includes/footer.html
- Static files (like PDFs): /files/
- Profile image (can set in _config.yml): images/profile.png
Tips and hints
- Name a file “.md” to have it render in markdown, name it “.html” to render in HTML.
- Go to the commit list (on your repo) to find the last version GitHub built with Jekyll.
- Green check: successful build
- Orange circle: building
- Red X: error
- No icon: not built
- Academic Pages uses Jekyll Kramdown, GitHub Flavored Markdown (GFM) parser, which is similar to the version of Markdown used on GitHub, but may have some minor differences.
- Some of emoji supported on GitHub should be supposed via the Jemoji plugin
. - The best list of the supported emoji can be found in the Emojis for Jekyll via Jemoji blog post.
- Some of emoji supported on GitHub should be supposed via the Jemoji plugin
- While GitHub Pages prevents server side code from running, client-side scripts are supported.
- This means that Google Analytics is supported, and the wiki should contain the most up-to-date information on getting it working.
Your CV can be written using either Markdown (preview) or generated via JSON (preview) and the layouts are slightly different. You can update the path to the one being used in
_data/navigation.ymlwith the JSON formatted CV being hidden by default.- The Liquid syntax guide is a useful guide for those that want to add functionality to the template or to become contributors to the template on GitHub.
MathJax
Support for MathJax (version 3.* via jsDelivr, documentation) is included in the template:
\[\displaylines{ \nabla \cdot E= \frac{\rho}{\epsilon_0} \\\ \nabla \cdot B=0 \\\ \nabla \times E= -\partial_tB \\\ \nabla \times B = \mu_0 \left(J + \varepsilon_0 \partial_t E \right) }\]The default delimiters of $$...$$ and \\[...\\] are supported for displayed mathematics, while \\(...\\) should be used for in-line mathematics (ex., \(a^2 + b^2 = c^2\))
Note that since Academic Pages uses Markdown which cases some interference with MathJax and LaTeX for escaping characters and new lines, although some workarounds exist. In some cases, such as when you are including MathJax in a citation field for publications, it may be necessary to use \(...\) for inline delineation.
Mermaid diagrams
Academic Pages includes support for Mermaid diagrams (version 11.* via jsDelivr) and in addition to their tutorials and GitHub documentation the basic syntax is as follows:
```mermaid
graph LR
A-->B
```
Which produces the following plot with the default theme applied:
graph LR
A-->B
While a more advanced plot with the forest theme applied looks like the following:
---
config:
theme: 'forest'
---
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
Plotly
Academic Pages includes support for Plotly diagrams via a hook in the Markdown code elements, although those that are comfortable with HTML and JavaScript can also access it via those routes. Plotly is included via an npm package and is distributed as part of the minimized JavaScript that is part of the template.
In order to render a Plotly plot via Markdown the relevant plot data need to be added as follows:
```plotly
{
"data": [
{
"x": [1, 2, 3, 4],
"y": [10, 15, 13, 17],
"type": "scatter"
},
{
"x": [1, 2, 3, 4],
"y": [16, 5, 11, 9],
"type": "scatter"
}
]
}
```
Important! Since the data is parsed as JSON all of the keys will need to be quoted for the plot to render. The use of a tool like JSONLint to check syntax is highly recommended.
Which produces the following:
{
"data": [
{
"x": [1, 2, 3, 4],
"y": [10, 15, 13, 17],
"type": "scatter"
},
{
"x": [1, 2, 3, 4],
"y": [16, 5, 11, 9],
"type": "scatter"
}
]
}
Essentially what is taking place is that the Plotly attributes are being taken from the code block as JSON data, parsed, and passed to Plotly along with a theme that matches the current site theme (i.e., a light theme, or a dark theme). This allows all plots that can be described via the data attribute to rendered with some limitations for the theme of the plot.
{
"data": [
{
"x": [1, 2, 3, 4, 5],
"y": [1, 6, 3, 6, 1],
"mode": "markers",
"type": "scatter",
"name": "Team A",
"text": ["A-1", "A-2", "A-3", "A-4", "A-5"],
"marker": { "size": 12 }
},
{
"x": [1.5, 2.5, 3.5, 4.5, 5.5],
"y": [4, 1, 7, 1, 4],
"mode": "markers",
"type": "scatter",
"name": "Team B",
"text": ["B-a", "B-b", "B-c", "B-d", "B-e"],
"marker": { "size": 12 }
}
],
"layout": {
"xaxis": {
"range": [ 0.75, 5.25 ]
},
"yaxis": {
"range": [0, 8]
},
"title": {"text": "Data Labels Hover"}
}
}
{
"data": [{
"x": [1, 2, 3],
"y": [4, 5, 6],
"type": "scatter"
},
{
"x": [20, 30, 40],
"y": [50, 60, 70],
"xaxis": "x2",
"yaxis": "y2",
"type": "scatter"
}],
"layout": {
"grid": {
"rows": 1,
"columns": 2,
"pattern": "independent"
},
"title": {
"text": "Simple Subplot"
}
}
}
{
"data": [{
"z": [[10, 10.625, 12.5, 15.625, 20],
[5.625, 6.25, 8.125, 11.25, 15.625],
[2.5, 3.125, 5.0, 8.125, 12.5],
[0.625, 1.25, 3.125, 6.25, 10.625],
[0, 0.625, 2.5, 5.625, 10]],
"type": "contour"
}],
"layout": {
"title": {
"text": "Basic Contour Plot"
}
}
}
Markdown guide
Academic Pages uses kramdown for Markdown rendering, which has some differences from other Markdown implementations such as GitHub’s. In addition to this guide, please see the kramdown Syntax page for full documentation.
Header three
Header four
Header five
Header six
Blockquotes
Single line blockquote:
Quotes are cool.
Tables
Table 1
| Entry | Item | |
|---|---|---|
| John Doe | 2016 | Description of the item in the list |
| Jane Doe | 2019 | Description of the item in the list |
| Doe Doe | 2022 | Description of the item in the list |
Table 2
| Header1 | Header2 | Header3 |
|---|---|---|
| cell1 | cell2 | cell3 |
| cell4 | ce | |
| ll5 | cell6 | |
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
| Foot1 | Foot2 | Foot3 |
Definition Lists
- Definition List Title
- Definition list division.
- Startup
- A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
- #dowork
- Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
- Do It Live
- I’ll let Bill O’Reilly explain this one.
Unordered Lists (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Ordered List (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Buttons
Make any link standout more when applying the .btn class.
Notices
Basic notices or call-outs are supported using the following syntax:
**Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph.
{: .notice}
which wil render as:
Watch out! You can also add notices by appending {: .notice} to the line following paragraph.
Footnotes
Footnotes can be useful for clarifying points in the text, or citing information.1 Markdown support numeric footnotes, as well as text as long as the values are unique.2
This is the regular text.[^1] This is more regular text.[^note]
[^1]: This is the footnote itself.
[^note]: This is another footnote.
HTML Tags
Address Tag
1 Infinite LoopCupertino, CA 95014
United States
Anchor Tag (aka. Link)
This is an example of a link.
Abbreviation Tag
The abbreviation CSS stands for “Cascading Style Sheets”.
Cite Tag
“Code is poetry.” —Automattic
Code Tag
You will learn later on in these tests that word-wrap: break-word; will be your best friend.
You can also write larger blocks of code with syntax highlighting supported for some languages, such as Python:
print('Hello World!')
or R:
print("Hello World!", quote = FALSE)
Details Tag (collapsible sections)
The HTML <details> tag works well with Markdown and allows you to include collapsible sections, see W3Schools for more information on how to use the tag.
Collapsed by default
This section was collapsed by default!The source code:
<details>
<summary>Collapsed by default</summary>
This section was collapsed by default!
</details>
Or, you can leave a section open by default by including the open attribute in the tag:
Open by default
This section is open by default thanks to open in the <details open> tag!Emphasize Tag
The emphasize tag should italicize text.
Insert Tag
This tag should denote inserted text.
Keyboard Tag
This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.
Preformatted Tag
This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
Quote Tag
Developers, developers, developers…
–Steve Ballmer
Strike Tag
This tag will let you strikeout text.
Strong Tag
This tag shows bold text.
Subscript Tag
Getting our science styling on with H2O, which should push the “2” down.
Superscript Tag
Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.
Variable Tag
This allows you to denote variables.
Footnotes
The footnotes in the page will be returned following this line, return to the section on Markdown Footnotes.
Page not in menu
This is a page not in the menu. You can use markdown in this page.
Heading 1
Heading 2
Page Archive
Page Not Found
Sorry, but the page you were trying to view does not exist.
**About me**
Welcome! I am a Mechanical Engineering Ph.D. candidate at Southern Methodist University with a deep focus on dynamics, control systems, and haptics. Backed by over five years of prior industry experience as an Automation Engineer, my goal is to translate complex control theory into functional, real-world robotic systems.
As a Research Assistant in the Systems Lab, my primary work focuses on a Haptic-Enabled Virtual Palpation System for 3D Elastography Medical Imaging. I am actively developing the SMU Haptic Glove, engineering its kinematics, dynamics, and nonlinear control architecture to advance medical diagnostics.
I am passionate about engineering education, leading senior undergraduate students as a Teaching Assistant for both the Control Lab and the Elements of Mechanical Engineering Measurement Lab.
Research Interests
- Dynamics & Nonlinear Control
- Medical Robotics & Haptics
- Mechatronics
- Medical Image Processing
Education
- 🎓 Ph.D. in Mechanical Engineering
Southern Methodist University (SMU), Present - 🎓 M.Sc. in Mechanical/Mechatronics Engineering
Jordan University of Science and Technology (JUST), 2022 - 🎓 B.Sc. in Mechatronics Engineering
University of Jordan (JU), 2018
Archive Layout with Content
A variety of common markup showing how the theme styles them.
Header one
Header two
Header three
Header four
Header five
Header six
Blockquotes
Single line blockquote:
Quotes are cool.
Tables
| Entry | Item | |
|---|---|---|
| John Doe | 2016 | Description of the item in the list |
| Jane Doe | 2019 | Description of the item in the list |
| Doe Doe | 2022 | Description of the item in the list |
| Header1 | Header2 | Header3 |
|---|---|---|
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
| Foot1 | Foot2 | Foot3 |
Definition Lists
- Definition List Title
- Definition list division.
- Startup
- A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
- #dowork
- Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
- Do It Live
- I’ll let Bill O’Reilly explain this one.
Unordered Lists (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Ordered List (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Buttons
Make any link standout more when applying the .btn class.
Notices
Watch out! You can also add notices by appending {: .notice} to a paragraph.
HTML Tags
Address Tag
1 Infinite LoopCupertino, CA 95014
United States
Anchor Tag (aka. Link)
This is an example of a link.
Abbreviation Tag
The abbreviation CSS stands for “Cascading Style Sheets”.
Cite Tag
“Code is poetry.” —Automattic
Code Tag
You will learn later on in these tests that word-wrap: break-word; will be your best friend.
Strike Tag
This tag will let you strikeout text.
Emphasize Tag
The emphasize tag should italicize text.
Insert Tag
This tag should denote inserted text.
Keyboard Tag
This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.
Preformatted Tag
This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
Quote Tag
Developers, developers, developers…
–Steve Ballmer
Strong Tag
This tag shows bold text.
Subscript Tag
Getting our science styling on with H2O, which should push the “2” down.
Superscript Tag
Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.
Variable Tag
This allows you to denote variables.
Page Not Found
Sorry, but the page you were trying to view does not exist.
**About me**
Welcome! I am a Mechanical Engineering Ph.D. candidate at Southern Methodist University with a deep focus on dynamics, control systems, and haptics. Backed by over five years of prior industry experience as an Automation Engineer, my goal is to translate complex control theory into functional, real-world robotic systems.
As a Research Assistant in the Systems Lab, my primary work focuses on a Haptic-Enabled Virtual Palpation System for 3D Elastography Medical Imaging. I am actively developing the SMU Haptic Glove, engineering its kinematics, dynamics, and nonlinear control architecture to advance medical diagnostics.
I am passionate about engineering education, leading senior undergraduate students as a Teaching Assistant for both the Control Lab and the Elements of Mechanical Engineering Measurement Lab.
Research Interests
- Dynamics & Nonlinear Control
- Medical Robotics & Haptics
- Mechatronics
- Medical Image Processing
Education
- 🎓 Ph.D. in Mechanical Engineering
Southern Methodist University (SMU), Present - 🎓 M.Sc. in Mechanical/Mechatronics Engineering
Jordan University of Science and Technology (JUST), 2022 - 🎓 B.Sc. in Mechatronics Engineering
University of Jordan (JU), 2018
Archive Layout with Content
Cupertino, CA 95014
United States### Anchor Tag (aka. Link) This is an example of a [link](https://github.com "GitHub"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. ### Strike Tag This tag will let you
` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers…
–Steve Ballmer ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. {% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %} </div> </article> </div> Awards & Fellowships
{% include base_path %} {% for post in site.awards reversed %} {% include archive-single-award.html %}
{% endfor %}
Posts by Category
{% include base_path %} {% include group-by-array collection=site.posts field="categories" %} {% for category in group_names %} {% assign posts = group_items[forloop.index0] %}{{ category }}
{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}
Posts by Collection
{% include base_path %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}{{ label }}
{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}
CV
{% include base_path %} {% include cv-template.html %}
CV
{% include base_path %} Education ====== * Ph.D in Version Control Theory, GitHub University, 2018 (expected) * M.S. in Jekyll, GitHub University, 2014 * B.S. in GitHub, GitHub University, 2012 Work experience ====== * Spring 2024: Academic Pages Collaborator * GitHub University * Duties includes: Updates and improvements to template * Supervisor: The Users * Fall 2015: Research Assistant * GitHub University * Duties included: Merging pull requests * Supervisor: Professor Hub * Summer 2015: Research Assistant * GitHub University * Duties included: Tagging issues * Supervisor: Professor Git Skills ====== * Skill 1 * Skill 2 * Sub-skill 2.1 * Sub-skill 2.2 * Sub-skill 2.3 * Skill 3 Publications ======{% for post in site.publications reversed %} {% include archive-single-cv.html %} {% endfor %}
Talks ======{% for post in site.talks reversed %} {% include archive-single-talk-cv.html %} {% endfor %}
Teaching ======{% for post in site.teaching reversed %} {% include archive-single-cv.html %} {% endfor %}
Service and leadership ====== * Currently signed in to 43 different slack teams
/* * This file controls what is imported from /_sass * * Note that the files are processed in the order they are imported, so they are partly sorted by the dependencies. Also, the first two lines of the file are required by Jekyll. */ @import "vendor/breakpoint/breakpoint", "themes", "theme/{{ site.site_theme | default: 'default' | append: '_light' }}", "theme/{{ site.site_theme | default: 'default' | append: '_dark' }}", "include/mixins", "vendor/susy/susy", "layout/reset", "layout/base", "include/utilities", "layout/tables", "layout/buttons", "layout/notices", "layout/masthead", "layout/navigation", "layout/footer", "syntax", "layout/forms", "layout/page", "layout/archive", "layout/sidebar", "layout/json_cv", "vendor/font-awesome/fontawesome", "vendor/font-awesome/solid", "vendor/font-awesome/brands" ;
{ "name": {{ site.title | jsonify }}, "short_name": {{ site.name | jsonify }}, "description": {{ site.description | jsonify }}, "start_url": "{{ site.baseurl | default: '/' }}", "lang": {{ site.locale | default: "en" | jsonify }}, "icons": [ { "src": "/images/favicon-192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/images/favicon-512x512.png", "sizes": "512x512", "type": "image/png" } ] }
Markdown
{% include toc %} ## Locations of key files/directories * Basic config options: _config.yml * Top navigation bar config: _data/navigation.yml * Single pages: _pages/ * Collections of pages are .md or .html files in: * _publications/ * _portfolio/ * _posts/ * _teaching/ * _talks/ * Footer: _includes/footer.html * Static files (like PDFs): /files/ * Profile image (can set in _config.yml): images/profile.png ## Tips and hints * Name a file ".md" to have it render in markdown, name it ".html" to render in HTML. * Go to the [commit list](https://github.com/academicpages/academicpages.github.io/commits/master) (on your repo) to find the last version GitHub built with Jekyll. * Green check: successful build * Orange circle: building * Red X: error * No icon: not built * Academic Pages uses [Jekyll Kramdown](https://jekyllrb.com/docs/configuration/markdown/), GitHub Flavored Markdown (GFM) parser, which is similar to the version of Markdown used on GitHub, but may have some minor differences. * Some of emoji supported on GitHub should be supposed via the [Jemoji](https://github.com/jekyll/jemoji) plugin :computer:. * The best list of the supported emoji can be found in the [Emojis for Jekyll via Jemoji](https://www.fabriziomusacchio.com/blog/2021-08-16-emojis_for_Jekyll/#computer) blog post. * While GitHub Pages prevents server side code from running, client-side scripts are supported. * This means that Google Analytics is supported, and [the wiki](https://github.com/academicpages/academicpages.github.io/wiki/Adding-Google-Analytics) should contain the most up-to-date information on getting it working. * Your CV can be written using either Markdown ([preview](https://academicpages.github.io/cv/)) or generated via JSON ([preview](https://academicpages.github.io/cv-json/)) and the layouts are slightly different. You can update the path to the one being used in `_data/navigation.yml` with the JSON formatted CV being hidden by default. * The [Liquid syntax guide](https://shopify.github.io/liquid/tags/control-flow/) is a useful guide for those that want to add functionality to the template or to become contributors to the [template on GitHub](https://github.com/academicpages/academicpages.github.io). ## MathJax Support for MathJax (version 3.* via [jsDelivr](https://www.jsdelivr.com/), [documentation](https://docs.mathjax.org/en/latest/)) is included in the template: $$ \displaylines{ \nabla \cdot E= \frac{\rho}{\epsilon_0} \\\ \nabla \cdot B=0 \\\ \nabla \times E= -\partial_tB \\\ \nabla \times B = \mu_0 \left(J + \varepsilon_0 \partial_t E \right) } $$ The default delimiters of `$$...$$` and `\\[...\\]` are supported for displayed mathematics, while `\\(...\\)` should be used for in-line mathematics (ex., \\(a^2 + b^2 = c^2\\)) **Note** that since Academic Pages uses Markdown which cases some interference with MathJax and LaTeX for escaping characters and new lines, although [some workarounds exist](https://math.codidact.com/posts/278763/278772#answer-278772). In some cases, such as when you are including MathJax in a `citation` field for publications, it may be necessary to use `\(...\)` for inline delineation. ## Mermaid diagrams Academic Pages includes support for [Mermaid diagrams](https://mermaid.js.org/) (version 11.* via [jsDelivr](https://www.jsdelivr.com/)) and in addition to their [tutorials](https://mermaid.js.org/ecosystem/tutorials.html) and [GitHub documentation](https://github.com/mermaid-js/mermaid) the basic syntax is as follows: ```markdown ```mermaid graph LR A-->B ``` ``` Which produces the following plot with the [default theme](https://mermaid.js.org/config/theming.html) applied: ```mermaid graph LR A-->B ``` While a more advanced plot with the `forest` theme applied looks like the following: ```mermaid --- config: theme: 'forest' --- graph TD; A-->B; A-->C; B-->D; C-->D; ``` ## Plotly Academic Pages includes support for Plotly diagrams via a hook in the Markdown code elements, although those that are comfortable with HTML and JavaScript can also access it [via those routes](https://plotly.com/javascript/getting-started/). Plotly is included via an `npm` [package](https://www.npmjs.com/package/plotly.js?activeTab=readme) and is distributed as part of the minimized JavaScript that is part of the template. In order to render a Plotly plot via Markdown the relevant plot data need to be added as follows: ```markdown ```plotly { "data": [ { "x": [1, 2, 3, 4], "y": [10, 15, 13, 17], "type": "scatter" }, { "x": [1, 2, 3, 4], "y": [16, 5, 11, 9], "type": "scatter" } ] } ``` ``` **Important!** Since the data is parsed as JSON *all* of the keys will need to be quoted for the plot to render. The use of a tool like [JSONLint](https://jsonlint.com/) to check syntax is highly recommended. {: .notice} Which produces the following: ```plotly { "data": [ { "x": [1, 2, 3, 4], "y": [10, 15, 13, 17], "type": "scatter" }, { "x": [1, 2, 3, 4], "y": [16, 5, 11, 9], "type": "scatter" } ] } ``` Essentially what is taking place is that the [Plotly attributes](https://plotly.com/javascript/reference/index/) are being taken from the code block as JSON data, parsed, and passed to Plotly along with a theme that matches the current site theme (i.e., a light theme, or a dark theme). This allows all plots that can be described via the `data` attribute to rendered with some limitations for the theme of the plot. ```plotly { "data": [ { "x": [1, 2, 3, 4, 5], "y": [1, 6, 3, 6, 1], "mode": "markers", "type": "scatter", "name": "Team A", "text": ["A-1", "A-2", "A-3", "A-4", "A-5"], "marker": { "size": 12 } }, { "x": [1.5, 2.5, 3.5, 4.5, 5.5], "y": [4, 1, 7, 1, 4], "mode": "markers", "type": "scatter", "name": "Team B", "text": ["B-a", "B-b", "B-c", "B-d", "B-e"], "marker": { "size": 12 } } ], "layout": { "xaxis": { "range": [ 0.75, 5.25 ] }, "yaxis": { "range": [0, 8] }, "title": {"text": "Data Labels Hover"} } } ``` ```plotly { "data": [{ "x": [1, 2, 3], "y": [4, 5, 6], "type": "scatter" }, { "x": [20, 30, 40], "y": [50, 60, 70], "xaxis": "x2", "yaxis": "y2", "type": "scatter" }], "layout": { "grid": { "rows": 1, "columns": 2, "pattern": "independent" }, "title": { "text": "Simple Subplot" } } } ``` ```plotly { "data": [{ "z": [[10, 10.625, 12.5, 15.625, 20], [5.625, 6.25, 8.125, 11.25, 15.625], [2.5, 3.125, 5.0, 8.125, 12.5], [0.625, 1.25, 3.125, 6.25, 10.625], [0, 0.625, 2.5, 5.625, 10]], "type": "contour" }], "layout": { "title": { "text": "Basic Contour Plot" } } } ``` ## Markdown guide Academic Pages uses [kramdown](https://kramdown.gettalong.org/index.html) for Markdown rendering, which has some differences from other Markdown implementations such as GitHub's. In addition to this guide, please see the [kramdown Syntax page](https://kramdown.gettalong.org/syntax.html) for full documentation. ### Header three #### Header four ##### Header five ###### Header six ## Blockquotes Single line blockquote: > Quotes are cool. ## Tables ### Table 1 | Entry | Item | | | -------- | ------ | ------------------------------------------------------------ | | [John Doe](#) | 2016 | Description of the item in the list | | [Jane Doe](#) | 2019 | Description of the item in the list | | [Doe Doe](#) | 2022 | Description of the item in the list | ### Table 2 | Header1 | Header2 | Header3 | |:--------|:-------:|--------:| | cell1 | cell2 | cell3 | | cell4 | ce ll5 | cell6 | |-----------------------------| | cell1 | cell2 | cell3 | | cell4 | cell5 | cell6 | |=============================| | Foot1 | Foot2 | Foot3 | ## Definition Lists Definition List Title : Definition list division. Startup : A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model. #dowork : Coined by Rob Dyrdek and his personal body guard Christopher "Big Black" Boykins, "Do Work" works as a self motivator, to motivating your friends. Do It Live : I'll let Bill O'Reilly [explain](https://www.youtube.com/watch?v=O_HyZ5aW76c "We'll Do It Live") this one. ## Unordered Lists (Nested) * List item one * List item one * List item one * List item two * List item three * List item four * List item two * List item three * List item four * List item two * List item three * List item four ## Ordered List (Nested) 1. List item one 1. List item one 1. List item one 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four 2. List item two 3. List item three 4. List item four ## Buttons Make any link standout more when applying the `.btn` class. ## Notices Basic notices or call-outs are supported using the following syntax: ```markdown **Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph. {: .notice} ``` which wil render as: **Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph. {: .notice} ### Footnotes Footnotes can be useful for clarifying points in the text, or citing information.[^1] Markdown support numeric footnotes, as well as text as long as the values are unique.[^note] ```markdown This is the regular text.[^1] This is more regular text.[^note] [^1]: This is the footnote itself. [^note]: This is another footnote. ``` [^1]: Such as this footnote. [^note]: When using text for footnotes markers, no spaces are permitted in the name. ## HTML Tags ### Address Tag 1 Infinite Loop
Cupertino, CA 95014
United States### Anchor Tag (aka. Link) This is an example of a [link](https://github.com "GitHub"). ### Abbreviation Tag The abbreviation CSS stands for "Cascading Style Sheets". *[CSS]: Cascading Style Sheets ### Cite Tag "Code is poetry." ---Automattic ### Code Tag You will learn later on in these tests that `word-wrap: break-word;` will be your best friend. You can also write larger blocks of code with syntax highlighting supported for some languages, such as Python: ```python print('Hello World!') ``` or R: ```R print("Hello World!", quote = FALSE) ``` ### Details Tag (collapsible sections) The HTML `` tag works well with Markdown and allows you to include collapsible sections, see [W3Schools](https://www.w3schools.com/tags/tag_details.asp) for more information on how to use the tag. Collapsed by default
This section was collapsed by default! The source code: ```HTML Collapsed by default
This section was collapsed by default! ``` Or, you can leave a section open by default by including the `open` attribute in the tag: Open by default
This section is open by default thanks to open in the <details open> tag! ### Emphasize Tag The emphasize tag should _italicize_ text. ### Insert Tag This tag should denote inserted text. ### Keyboard Tag This scarcely known tag emulates keyboard text, which is usually styled like the `` tag. ### Preformatted Tag This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
### Quote Tag Developers, developers, developers…
–Steve Ballmer ### Strike Tag This tag will let you strikeout text. ### Strong Tag This tag shows **bold text**. ### Subscript Tag Getting our science styling on with H2O, which should push the "2" down. ### Superscript Tag Still sticking with science and Isaac Newton's E = MC2, which should lift the 2 up. ### Variable Tag This allows you to denote variables. *** **Footnotes** The footnotes in the page will be returned following this line, return to the section on Markdown Footnotes. </div> </article> </div> Page not in menu
This is a page not in the menu. You can use markdown in this page. Heading 1 ====== Heading 2 ======
Page Archive
{% include base_path %} {% for post in site.pages %} {% include archive-single.html %} {% endfor %}
Portfolio
{% include base_path %} {% for post in site.portfolio %} {% include archive-single.html %} {% endfor %}
Publications
{% if site.author.googlescholar %}You can also find my articles on my Google Scholar profile.{% endif %} {% include base_path %} {% if site.publication_category %} {% for category in site.publication_category %} {% assign title_shown = false %} {% for post in site.publications reversed %} {% if post.category != category[0] %} {% continue %} {% endif %} {% unless title_shown %}{{ category[1].title }}
{% assign title_shown = true %} {% endunless %} {% include archive-single-pub.html %} {% endfor %} {% endfor %} {% else %} {% for post in site.publications reversed %} {% include archive-single-pub.html %} {% endfor %} {% endif %}
Sitemap
{% include base_path %} A list of all the posts and pages found on the site. For you robots out there, there is an [XML version]({{ base_path }}/sitemap.xml) available for digesting as well.Pages
{% for post in site.pages %} {% include archive-single.html %} {% endfor %}Posts
{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}{{ label }}
{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}
Posts by Tags
{% include base_path %} {% include group-by-array collection=site.posts field="tags" %} {% for tag in group_names %} {% assign posts = group_items[forloop.index0] %}{{ tag }}
{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}
Talk map
This map is generated from a Jupyter Notebook file in talkmap.ipynb, which mines the location fields in the .md files in _talks/.
Teaching
{% include base_path %} {% for post in site.teaching reversed %} {% include archive-single.html %} {% endfor %}
Terms and Privacy Policy
{% include base_path %} {% include toc %} ## Privacy Policy The privacy of my visitors is extremely important. This Privacy Policy outlines the types of personal information that is received and collected and how it is used. First and foremost, I will never share your email address or any other personal information to anyone without your direct consent. ### Log Files Like many other websites, this site uses log files to help learn about when, from where, and how often traffic flows to this site. The information in these log files include: * Internet Protocol addresses (IP) * Types of browser * Internet Service Provider (ISP) * Date and time stamp * Referring and exit pages * Number of clicks All of this information is not linked to anything that is personally identifiable. ### Cookies and Web Beacons When you visit this site "convenience" cookies are stored on your computer when you submit a comment to help you log in faster to [Disqus](https://disqus.com) the next time you leave a comment. Third-party advertisers may also place and read cookies on your browser and/or use web beacons to collect information. This site has no access or control over these cookies. You should review the respective privacy policies on any and all third-party ad servers for more information regarding their practices and how to opt-out. If you wish to disable cookies, you may do so through your web browser options. Instructions for doing so can be found on the specific web browsers' websites. #### Google Analytics Google Analytics is a web analytics tool I use to help understand how visitors engage with this website. It reports website trends using cookies and web beacons without identifying individual visitors. You can read [Google Analytics Privacy Policy](https://www.google.com/analytics/learn/privacy.html).
Blog posts
{% include base_path %} {% capture written_year %}'None'{% endcapture %} {% for post in site.posts %} {% capture year %}{{ post.date | date: '%Y' }}{% endcapture %} {% if year != written_year %}{{ year }}
{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}
{"/about/":"https://ammaryacoub.github.io/","/about.html":"https://ammaryacoub.github.io/","/resume-json":"https://ammaryacoub.github.io/cv-json/","/resume":"https://ammaryacoub.github.io/cv/","/md/":"https://ammaryacoub.github.io/markdown/","/markdown.html":"https://ammaryacoub.github.io/markdown/","/nmp/":"https://ammaryacoub.github.io/non-menu-page/","/nmp.html":"https://ammaryacoub.github.io/non-menu-page/","/wordpress/blog-posts/":"https://ammaryacoub.github.io/year-archive/"}
Markdown Generator
# Markdown Generator This directory contains various ways of creating Markdown for your site. In general, filenames that end with `.ipynb` or `.py` are similar, but may contain different documentation or are intended to be run from with GitHub when deploying your site. ## Python Scripts The .py files are Python scripts that that can be run from the command line (ex., `python3 publications.py publications.csv`) with the objective of also ensuring that they have reduced requirements for packages, which may allow them to run when deploying your site from within GitHub. ## Jupyter Notebooks These .ipynb files are Jupyter notebook files that convert a TSV containing structured data about talks (`talks.tsv`) or presentations (`presentations.tsv`) into individual markdown files that will be properly formatted for the academicpages template. The notebooks contain a lot of documentation about the process.
{% if page.xsl %}{% endif %}<feed xmlns="http://www.w3.org/2005/Atom" {% if site.lang %}xml:lang="{{ site.lang }}"{% endif %}>Jekyll <link href="{{ '/' | absolute_url }}" rel="alternate" type="text/html" {% if site.lang %}hreflang="{{ site.lang }}" {% endif %}/>{{ site.time | date_to_xmlschema }} {{ page.url | absolute_url | xml_escape }} {% assign title = site.title | default: site.name %}{% if page.collection != "posts" %}{% assign collection = page.collection | capitalize %}{% assign title = title | append: " | " | append: collection %}{% endif %}{% if page.category %}{% assign category = page.category | capitalize %}{% assign title = title | append: " | " | append: category %}{% endif %}{% if title %}{{ title | smartify | xml_escape }} {% endif %}{% if site.description %}{{ site.description | xml_escape }} {% endif %}{% if site.author %}{{ site.author.name | default: site.author | xml_escape }} {% if site.author.email %}{{ site.author.email | xml_escape }} {% endif %}{% if site.author.uri %}{{ site.author.uri | xml_escape }} {% endif %} {% endif %}{% if page.tags %}{% assign posts = site.tags[page.tags] %}{% else %}{% assign posts = site[page.collection] %}{% endif %}{% if page.category %}{% assign posts = posts | where: "categories", page.category %}{% endif %}{% unless site.show_drafts %}{% assign posts = posts | where_exp: "post", "post.draft != true" %}{% endunless %}{% assign posts = posts | sort: "date" | reverse %}{% assign posts_limit = site.feed.posts_limit | default: 10 %}{% for post in posts limit: posts_limit %}<entry{% if post.lang %}{{" "}}xml:lang="{{ post.lang }}"{% endif %}>{% assign post_title = post.title | smartify | strip_html | normalize_whitespace | xml_escape %}{{ post_title }}
{{ post.date | date_to_xmlschema }} {{ post.last_modified_at | default: post.date | date_to_xmlschema }} {{ post.id | absolute_url | xml_escape }} {% assign excerpt_only = post.feed.excerpt_only | default: site.feed.excerpt_only %}{% unless excerpt_only %}<![CDATA[{{ post.content | strip }}]]> {% endunless %}{% assign post_author = post.author | default: post.authors[0] | default: site.author %}{% assign post_author = site.data.authors[post_author] | default: post_author %}{% assign post_author_email = post_author.email | default: nil %}{% assign post_author_uri = post_author.uri | default: nil %}{% assign post_author_name = post_author.name | default: post_author %}{{ post_author_name | default: "" | xml_escape }} {% if post_author_email %}{{ post_author_email | xml_escape }} {% endif %}{% if post_author_uri %}{{ post_author_uri | xml_escape }} {% endif %} {% if post.category %} {% elsif post.categories %}{% for category in post.categories %} {% endfor %}{% endif %}{% for tag in post.tags %} {% endfor %}{% assign post_summary = post.description | default: post.excerpt %}{% if post_summary and post_summary != empty %}<![CDATA[{{ post_summary | strip_html | normalize_whitespace }}]]>
{% endif %}{% assign post_image = post.image.path | default: post.image %}{% if post_image %}{% unless post_image contains "://" %}{% assign post_image = post_image | absolute_url %}{% endunless %} {% endif %}</entry>{% endfor %}</feed>
{% if page.xsl %} {% endif %} {% assign collections = site.collections | where_exp:'collection','collection.output != false' %}{% for collection in collections %}{% assign docs = collection.docs | where_exp:'doc','doc.sitemap != false' %}{% for doc in docs %} {{ doc.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if doc.last_modified_at or doc.date %}{{ doc.last_modified_at | default: doc.date | date_to_xmlschema }} {% endif %} {% endfor %}{% endfor %}{% assign pages = site.html_pages | where_exp:'doc','doc.sitemap != false' | where_exp:'doc','doc.url != "/404.html"' %}{% for page in pages %} {{ page.url | replace:'/index.html','/' | absolute_url | xml_escape }} {% if page.last_modified_at %}{{ page.last_modified_at | date_to_xmlschema }} {% endif %} {% endfor %}{% assign static_files = page.static_files | where_exp:'page','page.sitemap != false' | where_exp:'page','page.name != "404.html"' %}{% for file in static_files %} {{ file.path | replace:'/index.html','/' | absolute_url | xml_escape }} {{ file.modified_time | date_to_xmlschema }} {% endfor %}
Awards & Fellowships
Best Teaching Assistant Award
Received:
Recognized with the Best Teaching Assistant Award from the Mechanical Engineering Department at Southern Methodist University for excellence in teaching laboratory sessions and enhancing students’ hands-on learning experience.
Frederick E. Terman Award
Received:
Recipient of the Frederick E. Terman Award, presented by the Lyle School of Engineering at SMU in recognition of outstanding scholastic achievement and contributions to the engineering school community. The award honors the legacy of Dr. Frederick E. Terman and is given to graduate students who exemplify academic excellence and leadership.
Dean’s Dissertation Fellowship
Received:
Selected as a recipient of the Dean’s Dissertation Fellowship for the 2026–27 academic year. The fellowship supports outstanding doctoral students during the final stage of their dissertation research and recognizes academic and research achievement. View the official list of fellows
Second Place Award – Graduate Research Day Poster Competition
Received:
Awarded Second Place in the Graduate Research Day Poster Competition, organized by the Graduate School at Jordan University of Science and Technology, in recognition of outstanding research presentation.
Posts by Collection
awards
Second Place Award – Graduate Research Day Poster Competition
Published:
Awarded Second Place in the Graduate Research Day Poster Competition, organized by the Graduate School at Jordan University of Science and Technology, in recognition of outstanding research presentation.
Dean’s Dissertation Fellowship
Published:
Selected as a recipient of the Dean’s Dissertation Fellowship for the 2026–27 academic year. The fellowship supports outstanding doctoral students during the final stage of their dissertation research and recognizes academic and research achievement. View the official list of fellows
Frederick E. Terman Award
Published:
Recipient of the Frederick E. Terman Award, presented by the Lyle School of Engineering at SMU in recognition of outstanding scholastic achievement and contributions to the engineering school community. The award honors the legacy of Dr. Frederick E. Terman and is given to graduate students who exemplify academic excellence and leadership.
Best Teaching Assistant Award
Published:
portfolio
Portfolio item number 1
Published:
This is an item in your portfolio. It can be have images or nice text. If you name the file .md, it will be parsed as markdown. If you name the file .html, it will be parsed as HTML.
Portfolio item number 2
Published:
publications
Magnetically Actuated Millimeter-Scale Biped
Published in Robotics and Autonomous Systems , 2025
Recommended citation: Cox, A., Asadi, F., Yacoub, A., Beskok, S., & Hurmuzlu, Y. (2025). Magnetically actuated millimeter-scale biped. Robotics and Autonomous Systems, 190, 104985
Download Paper | Download Bibtex
Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors
Published in The 5th Modeling, Estimation and Control Conference (MECC 2025), 2025
This paper presents an analysis of the precision of fingertip location for a 7 degrees of freedom (DOF) pneumatic haptic glove developed at SMU for 3D elastographic imaging virtual palpation.The 2D workspace for each finger and the 3D workspace for the glove are calculated from the actuator positions using closed-form expressions based on design geometry. The fingertip locations are measured using a 5-camera OptiTrack motion capture, and the results are compared with the fingertip positions obtained using the linear sensors integrated in the design of each finger joint.This work is an essential step in the development of a virtual palpation system of 3D elastographic medical images.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2025). Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors. IFAC-PapersOnLine, 59(30), 203-208.
Download Paper | Download Bibtex
Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Published in 65th IEEE Conference on Decision and Control, 2026
Pneumatic actuators exhibit strong nonlinearities and considerable uncertainties that include time-varying friction, making precise force tracking control challenging. This is exacerbated in small-scale cylinders, where internal friction can represent a significant percentage of the maximum output force. To address these issues, this paper presents an adaptive sliding mode control method with friction compensation (ASMC-FC). The controller integrates online parameter adaptation for managing slow-varying friction uncertainties with sliding mode control (SMC) to ensure robustness against unmodeled dynamics and rapidly changing uncertain parameters. Experimental validation is conducted on a double-acting, single-rod small pneumatic cylinder. The results demonstrate that the proposed approach offers better force tracking and increased robustness compared to standard SMC.
Recommended citation: Yacoub, A., Hurmuzlu, Y & Richer, E. Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Download Paper
Design and Kinematics Analysis for the SMU Haptic Glove
Published in Mechanism and Machine Theory, 2026
This paper presents the mechanical design and kinematic analysis of SMU Haptic Glove, which incorporates seven degrees of freedom (DOF) that are pneumatically actuated and developed for 3D elastographic imaging virtual palpation. This paper outlines the mechanical design of the SMU Haptic Glove The two-dimensional workspace for each finger and the glove’s three-dimensional workspace are determined from the actuator positions using closed-form expressions based on the design geometry and are measured using embedded linear sensors.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. Design and Kinematic Analyses of the SMU Haptic Glove. Available at SSRN 6350469
Download Paper | Download Bibtex
Modeling and Compensation of Static Friction to Improve Force Tracking Performance in Miniature Pneumatic Cylinders
Published in IEEE Transactions on Control Systems Technology, 2026
Haptic gloves require actuators capable of precise force trajectory tracking. Pneumatic actuators exhibit high force to weight ratio performance; however, their usage is often limited by high nonlinearities and friction-induced uncertainties. This study investigates the position and pressure-dependent static friction in small-scale pneumatic actuators. A new stiction model is proposed that explicitly incorporates these dependencies to accurately characterize static friction effects. In order to exploit this model, a sliding mode controller (SMC) with estimated friction compensation is developed and experimentally validated. When actuator force is estimated using pressure measurements, results show that incorporating the friction model significantly reduces amplitude errors compared to uncompensated control.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Adaptive Robust Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder.
Download Paper
Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control
Published in American Control Conference (ACC), 2026
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control. American Control Conference (ACC).
Download Paper
teaching
Elements of Mechanical Engineering Measurements Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2025
I guided senior students in experimental design, data acquisition, and system integration utilizing tools like LabVIEW. I offered comprehensive support for final projects and extended my mentorship beyond my formal duties, teaching students how to use Arduino-based platforms and encouraging them to apply these tools to develop their ideas.
Control Systems Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2026
Served as a Graduate Teaching Assistant for the Control Systems Laboratory in the Mechanical Engineering Department at Southern Methodist University. Assisted in delivering hands-on laboratory sessions focused on fundamental control systems concepts, including system modeling, time-domain response, feedback control, and stability analysis. Students implemented and validated control algorithms using MATLAB/Simulink and Quanser hardware platforms, including the QUBE-Servo 3 and QAreo 2 systems.
Intro to Mechatronics Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2026
I supported the design and testing of laboratory experiments prior to implementation and provided detailed feedback to enhance student learning.
CV
Your Sidebar Name
Summary
Currently employed at Red Brick University. Short biography for the left-hand sidebar
Education
-
Ph.D in Version Control Theory2018GitHub University
-
M.S. in Jekyll2014GitHub University
-
B.S. in GitHub2012GitHub University
Publications
-
Paper Title Number 12009
-
Paper Title Number 22010
-
Paper Title Number 32015
-
Paper Title Number 42024
Presentations
-
Talk 1 on Relevant Topic in Your Field2012UC San Francisco, Department of TestingSan Francisco, CA, USA
-
Tutorial 1 on Relevant Topic in Your Field2013UC-Berkeley Institute for Testing ScienceBerkeley, CA, USA
-
Talk 2 on Relevant Topic in Your Field2014London School of TestingLondon, UK
-
Conference Proceeding talk 3 on Relevant Topic in Your Field2014Testing Institute of America 2014 Annual ConferenceLos Angeles, CA, USA
Teaching
-
Teaching experience 12014University 1, DepartmentRole: Undergraduate course
-
Teaching experience 22015University 1, DepartmentRole: Workshop
Portfolio
-
Portfolio item number 1
CV
Education
- Ph.D in Version Control Theory, GitHub University, 2018 (expected)
- M.S. in Jekyll, GitHub University, 2014
- B.S. in GitHub, GitHub University, 2012
Work experience
- Spring 2024: Academic Pages Collaborator
- GitHub University
- Duties includes: Updates and improvements to template
- Supervisor: The Users
- Fall 2015: Research Assistant
- GitHub University
- Duties included: Merging pull requests
- Supervisor: Professor Hub
- Summer 2015: Research Assistant
- GitHub University
- Duties included: Tagging issues
- Supervisor: Professor Git
Skills
- Skill 1
- Skill 2
- Sub-skill 2.1
- Sub-skill 2.2
- Sub-skill 2.3
- Skill 3
Publications
-
Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control
Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control. American Control Conference (ACC).
-
Modeling and Compensation of Static Friction to Improve Force Tracking Performance in Miniature Pneumatic Cylinders
Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Adaptive Robust Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder.
-
Design and Kinematics Analysis for the SMU Haptic Glove
Yacoub, A., Richer, E., & Hurmuzlu, Y. Design and Kinematic Analyses of the SMU Haptic Glove. Available at SSRN 6350469
-
Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Yacoub, A., Hurmuzlu, Y & Richer, E. Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
-
Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors
Yacoub, A., Richer, E., & Hurmuzlu, Y. (2025). Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors. IFAC-PapersOnLine, 59(30), 203-208.
-
Magnetically Actuated Millimeter-Scale Biped
Cox, A., Asadi, F., Yacoub, A., Beskok, S., & Hurmuzlu, Y. (2025). Magnetically actuated millimeter-scale biped. Robotics and Autonomous Systems, 190, 104985
Talks
Teaching
Service and leadership
- Currently signed in to 43 different slack teams
Markdown
Locations of key files/directories
- Basic config options: _config.yml
- Top navigation bar config: _data/navigation.yml
- Single pages: _pages/
- Collections of pages are .md or .html files in:
- _publications/
- _portfolio/
- _posts/
- _teaching/
- _talks/
- Footer: _includes/footer.html
- Static files (like PDFs): /files/
- Profile image (can set in _config.yml): images/profile.png
Tips and hints
- Name a file “.md” to have it render in markdown, name it “.html” to render in HTML.
- Go to the commit list (on your repo) to find the last version GitHub built with Jekyll.
- Green check: successful build
- Orange circle: building
- Red X: error
- No icon: not built
- Academic Pages uses Jekyll Kramdown, GitHub Flavored Markdown (GFM) parser, which is similar to the version of Markdown used on GitHub, but may have some minor differences.
- Some of emoji supported on GitHub should be supposed via the Jemoji plugin
. - The best list of the supported emoji can be found in the Emojis for Jekyll via Jemoji blog post.
- Some of emoji supported on GitHub should be supposed via the Jemoji plugin
- While GitHub Pages prevents server side code from running, client-side scripts are supported.
- This means that Google Analytics is supported, and the wiki should contain the most up-to-date information on getting it working.
Your CV can be written using either Markdown (preview) or generated via JSON (preview) and the layouts are slightly different. You can update the path to the one being used in
_data/navigation.ymlwith the JSON formatted CV being hidden by default.- The Liquid syntax guide is a useful guide for those that want to add functionality to the template or to become contributors to the template on GitHub.
MathJax
Support for MathJax (version 3.* via jsDelivr, documentation) is included in the template:
\[\displaylines{ \nabla \cdot E= \frac{\rho}{\epsilon_0} \\\ \nabla \cdot B=0 \\\ \nabla \times E= -\partial_tB \\\ \nabla \times B = \mu_0 \left(J + \varepsilon_0 \partial_t E \right) }\]The default delimiters of $$...$$ and \\[...\\] are supported for displayed mathematics, while \\(...\\) should be used for in-line mathematics (ex., \(a^2 + b^2 = c^2\))
Note that since Academic Pages uses Markdown which cases some interference with MathJax and LaTeX for escaping characters and new lines, although some workarounds exist. In some cases, such as when you are including MathJax in a citation field for publications, it may be necessary to use \(...\) for inline delineation.
Mermaid diagrams
Academic Pages includes support for Mermaid diagrams (version 11.* via jsDelivr) and in addition to their tutorials and GitHub documentation the basic syntax is as follows:
```mermaid
graph LR
A-->B
```
Which produces the following plot with the default theme applied:
graph LR
A-->B
While a more advanced plot with the forest theme applied looks like the following:
---
config:
theme: 'forest'
---
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
Plotly
Academic Pages includes support for Plotly diagrams via a hook in the Markdown code elements, although those that are comfortable with HTML and JavaScript can also access it via those routes. Plotly is included via an npm package and is distributed as part of the minimized JavaScript that is part of the template.
In order to render a Plotly plot via Markdown the relevant plot data need to be added as follows:
```plotly
{
"data": [
{
"x": [1, 2, 3, 4],
"y": [10, 15, 13, 17],
"type": "scatter"
},
{
"x": [1, 2, 3, 4],
"y": [16, 5, 11, 9],
"type": "scatter"
}
]
}
```
Important! Since the data is parsed as JSON all of the keys will need to be quoted for the plot to render. The use of a tool like JSONLint to check syntax is highly recommended.
Which produces the following:
{
"data": [
{
"x": [1, 2, 3, 4],
"y": [10, 15, 13, 17],
"type": "scatter"
},
{
"x": [1, 2, 3, 4],
"y": [16, 5, 11, 9],
"type": "scatter"
}
]
}
Essentially what is taking place is that the Plotly attributes are being taken from the code block as JSON data, parsed, and passed to Plotly along with a theme that matches the current site theme (i.e., a light theme, or a dark theme). This allows all plots that can be described via the data attribute to rendered with some limitations for the theme of the plot.
{
"data": [
{
"x": [1, 2, 3, 4, 5],
"y": [1, 6, 3, 6, 1],
"mode": "markers",
"type": "scatter",
"name": "Team A",
"text": ["A-1", "A-2", "A-3", "A-4", "A-5"],
"marker": { "size": 12 }
},
{
"x": [1.5, 2.5, 3.5, 4.5, 5.5],
"y": [4, 1, 7, 1, 4],
"mode": "markers",
"type": "scatter",
"name": "Team B",
"text": ["B-a", "B-b", "B-c", "B-d", "B-e"],
"marker": { "size": 12 }
}
],
"layout": {
"xaxis": {
"range": [ 0.75, 5.25 ]
},
"yaxis": {
"range": [0, 8]
},
"title": {"text": "Data Labels Hover"}
}
}
{
"data": [{
"x": [1, 2, 3],
"y": [4, 5, 6],
"type": "scatter"
},
{
"x": [20, 30, 40],
"y": [50, 60, 70],
"xaxis": "x2",
"yaxis": "y2",
"type": "scatter"
}],
"layout": {
"grid": {
"rows": 1,
"columns": 2,
"pattern": "independent"
},
"title": {
"text": "Simple Subplot"
}
}
}
{
"data": [{
"z": [[10, 10.625, 12.5, 15.625, 20],
[5.625, 6.25, 8.125, 11.25, 15.625],
[2.5, 3.125, 5.0, 8.125, 12.5],
[0.625, 1.25, 3.125, 6.25, 10.625],
[0, 0.625, 2.5, 5.625, 10]],
"type": "contour"
}],
"layout": {
"title": {
"text": "Basic Contour Plot"
}
}
}
Markdown guide
Academic Pages uses kramdown for Markdown rendering, which has some differences from other Markdown implementations such as GitHub’s. In addition to this guide, please see the kramdown Syntax page for full documentation.
Header three
Header four
Header five
Header six
Blockquotes
Single line blockquote:
Quotes are cool.
Tables
Table 1
| Entry | Item | |
|---|---|---|
| John Doe | 2016 | Description of the item in the list |
| Jane Doe | 2019 | Description of the item in the list |
| Doe Doe | 2022 | Description of the item in the list |
Table 2
| Header1 | Header2 | Header3 |
|---|---|---|
| cell1 | cell2 | cell3 |
| cell4 | ce | |
| ll5 | cell6 | |
| cell1 | cell2 | cell3 |
| cell4 | cell5 | cell6 |
| Foot1 | Foot2 | Foot3 |
Definition Lists
- Definition List Title
- Definition list division.
- Startup
- A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
- #dowork
- Coined by Rob Dyrdek and his personal body guard Christopher “Big Black” Boykins, “Do Work” works as a self motivator, to motivating your friends.
- Do It Live
- I’ll let Bill O’Reilly explain this one.
Unordered Lists (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Ordered List (Nested)
- List item one
- List item one
- List item one
- List item two
- List item three
- List item four
- List item two
- List item three
- List item four
- List item one
- List item two
- List item three
- List item four
Buttons
Make any link standout more when applying the .btn class.
Notices
Basic notices or call-outs are supported using the following syntax:
**Watch out!** You can also add notices by appending `{: .notice}` to the line following paragraph.
{: .notice}
which wil render as:
Watch out! You can also add notices by appending {: .notice} to the line following paragraph.
Footnotes
Footnotes can be useful for clarifying points in the text, or citing information.1 Markdown support numeric footnotes, as well as text as long as the values are unique.2
This is the regular text.[^1] This is more regular text.[^note]
[^1]: This is the footnote itself.
[^note]: This is another footnote.
HTML Tags
Address Tag
1 Infinite LoopCupertino, CA 95014
United States
Anchor Tag (aka. Link)
This is an example of a link.
Abbreviation Tag
The abbreviation CSS stands for “Cascading Style Sheets”.
Cite Tag
“Code is poetry.” —Automattic
Code Tag
You will learn later on in these tests that word-wrap: break-word; will be your best friend.
You can also write larger blocks of code with syntax highlighting supported for some languages, such as Python:
print('Hello World!')
or R:
print("Hello World!", quote = FALSE)
Details Tag (collapsible sections)
The HTML <details> tag works well with Markdown and allows you to include collapsible sections, see W3Schools for more information on how to use the tag.
Collapsed by default
This section was collapsed by default!The source code:
<details>
<summary>Collapsed by default</summary>
This section was collapsed by default!
</details>
Or, you can leave a section open by default by including the open attribute in the tag:
Open by default
This section is open by default thanks to open in the <details open> tag!Emphasize Tag
The emphasize tag should italicize text.
Insert Tag
This tag should denote inserted text.
Keyboard Tag
This scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.
Preformatted Tag
This tag styles large blocks of code.
.post-title {
margin: 0 0 5px;
font-weight: bold;
font-size: 38px;
line-height: 1.2;
and here's a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;
}
Quote Tag
Developers, developers, developers…
–Steve Ballmer
Strike Tag
This tag will let you strikeout text.
Strong Tag
This tag shows bold text.
Subscript Tag
Getting our science styling on with H2O, which should push the “2” down.
Superscript Tag
Still sticking with science and Isaac Newton’s E = MC2, which should lift the 2 up.
Variable Tag
This allows you to denote variables.
Footnotes
The footnotes in the page will be returned following this line, return to the section on Markdown Footnotes.
Page not in menu
This is a page not in the menu. You can use markdown in this page.
Heading 1
Heading 2
Page Archive
Portfolio
Publications
{{ category[1].title }}
{% assign title_shown = true %} {% endunless %} {% include archive-single-pub.html %} {% endfor %} {% endfor %} {% else %} {% for post in site.publications reversed %} {% include archive-single-pub.html %} {% endfor %} {% endif %}
Sitemap
Pages
{% for post in site.pages %} {% include archive-single.html %} {% endfor %}Posts
{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}{{ label }}
{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}Posts by Tags
{{ tag }}
{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}Talk map
This map is generated from a Jupyter Notebook file in talkmap.ipynb, which mines the location fields in the .md files in _talks/.
Teaching
Terms and Privacy Policy
Blog posts
{{ year }}
{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}Markdown Generator
Portfolio
Portfolio item number 1
Published:
This is an item in your portfolio. It can be have images or nice text. If you name the file .md, it will be parsed as markdown. If you name the file .html, it will be parsed as HTML.
Portfolio item number 2
Published:
Publications
Under Review
Modeling and Compensation of Static Friction to Improve Force Tracking Performance in Miniature Pneumatic Cylinders
Submitted to IEEE Transactions on Control Systems Technology, 2026
Haptic gloves require actuators capable of precise force trajectory tracking. Pneumatic actuators exhibit high force to weight ratio performance; however, their usage is often limited by high nonlinearities and friction-induced uncertainties. This study investigates the position and pressure-dependent static friction in small-scale pneumatic actuators. A new stiction model is proposed that explicitly incorporates these dependencies to accurately characterize static friction effects. In order to exploit this model, a sliding mode controller (SMC) with estimated friction compensation is developed and experimentally validated. When actuator force is estimated using pressure measurements, results show that incorporating the friction model significantly reduces amplitude errors compared to uncompensated control.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Adaptive Robust Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder.
Download Paper
Design and Kinematics Analysis for the SMU Haptic Glove
Submitted to Mechanism and Machine Theory, 2026
This paper presents the mechanical design and kinematic analysis of SMU Haptic Glove, which incorporates seven degrees of freedom (DOF) that are pneumatically actuated and developed for 3D elastographic imaging virtual palpation. This paper outlines the mechanical design of the SMU Haptic Glove The two-dimensional workspace for each finger and the glove’s three-dimensional workspace are determined from the actuator positions using closed-form expressions based on the design geometry and are measured using embedded linear sensors.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. Design and Kinematic Analyses of the SMU Haptic Glove. Available at SSRN 6350469
Download Paper | Download Bibtex
Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Submitted to 65th IEEE Conference on Decision and Control, 2026
Pneumatic actuators exhibit strong nonlinearities and considerable uncertainties that include time-varying friction, making precise force tracking control challenging. This is exacerbated in small-scale cylinders, where internal friction can represent a significant percentage of the maximum output force. To address these issues, this paper presents an adaptive sliding mode control method with friction compensation (ASMC-FC). The controller integrates online parameter adaptation for managing slow-varying friction uncertainties with sliding mode control (SMC) to ensure robustness against unmodeled dynamics and rapidly changing uncertain parameters. Experimental validation is conducted on a double-acting, single-rod small pneumatic cylinder. The results demonstrate that the proposed approach offers better force tracking and increased robustness compared to standard SMC.
Recommended citation: Yacoub, A., Hurmuzlu, Y & Richer, E. Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Download Paper
Journal Articles
Magnetically Actuated Millimeter-Scale Biped
Published in Robotics and Autonomous Systems , 2025
This paper presents a novel approach to studying bipedal locomotion using magnetically actuated miniature robots. Traditional bipedal locomotion machines are expensive and complex. In contrast, we introduce “Big Foot”, a lightweight 0.3 g robot designed to explore fundamental concepts of bipedal locomotion without requiring complex hardware.
Recommended citation: Cox, A., Asadi, F., Yacoub, A., Beskok, S., & Hurmuzlu, Y. (2025). Magnetically actuated millimeter-scale biped. Robotics and Autonomous Systems, 190, 104985
Download Paper | Download Bibtex
Conference Papers
Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control
Published in American Control Conference (ACC), 2026
Static friction, also known as stiction, is a primary source of tracking error in pneumatic cylinders, which significantly limits their use in high-precision force control tasks. This paper presents a detailed experimental study of the static friction behavior of a small pneumatic cylinder, examining how the friction force depends on piston position and supply pressure. Based on these findings, a new static friction model that considers pressure and position is developed to accurately represent the stiction phenomenon. Additionally, a Sliding Mode Controller (SMC) is designed and implemented to produce a desired output force. The SMC’s performance is evaluated experimentally both with and without the proposed friction compensation model. Results show that the SMC with the integrated compensation reduces steady-state force tracking errors compared to the uncompensated controller.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control. American Control Conference (ACC).
Download Paper
Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors
Published in The 5th Modeling, Estimation and Control Conference (MECC 2025), 2025
This paper presents an analysis of the precision of fingertip location for a 7 degrees of freedom (DOF) pneumatic haptic glove developed at SMU for 3D elastographic imaging virtual palpation.The 2D workspace for each finger and the 3D workspace for the glove are calculated from the actuator positions using closed-form expressions based on design geometry. The fingertip locations are measured using a 5-camera OptiTrack motion capture, and the results are compared with the fingertip positions obtained using the linear sensors integrated in the design of each finger joint.This work is an essential step in the development of a virtual palpation system of 3D elastographic medical images.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2025). Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors. IFAC-PapersOnLine, 59(30), 203-208.
Download Paper | Download Bibtex
Sitemap
Pages
{% for post in site.pages %} {% include archive-single.html %} {% endfor %}Posts
{% for post in site.posts %} {% include archive-single.html %} {% endfor %} {% capture written_label %}'None'{% endcapture %} {% for collection in site.collections %} {% unless collection.output == false or collection.label == "posts" %} {% capture label %}{{ collection.label }}{% endcapture %} {% if label != written_label %}{{ label }}
{% capture written_label %}{{ label }}{% endcapture %} {% endif %} {% endunless %} {% for post in collection.docs %} {% unless collection.output == false or collection.label == "posts" %} {% include archive-single.html %} {% endunless %} {% endfor %} {% endfor %}Posts by Tags
{{ tag }}
{% for post in posts %} {% include archive-single.html %} {% endfor %} {% endfor %}Talk map
This map is generated from a Jupyter Notebook file in talkmap.ipynb, which mines the location fields in the .md files in _talks/.
Teaching
Terms and Privacy Policy
Blog posts
{{ year }}
{% capture written_year %}{{ year }}{% endcapture %} {% endif %} {% include archive-single.html %} {% endfor %}Markdown Generator
Posts
Lyle Autonomous & Applied Artificial Intelligence Laboratory
Published:
I contributed to the launch of the Lyle Autonomous & Applied Artificial Intelligence Laboratory (LAIL) at Southern Methodist University.
I played a key role in overseeing the installation and configuration of the laboratory equipment, helping prepare the space for student use and research activities. I also organized and deployed the technical demonstrations presented during the laboratory opening, showcasing the lab’s capabilities in autonomous systems and applied artificial intelligence.
This experience allowed me to combine technical problem-solving, leadership, and hands-on engineering while contributing to a new innovation space at SMU.
awards
Second Place Award – Graduate Research Day Poster Competition
Published:
Awarded Second Place in the Graduate Research Day Poster Competition, organized by the Graduate School at Jordan University of Science and Technology, in recognition of outstanding research presentation.
Dean’s Dissertation Fellowship
Published:
Selected as a recipient of the Dean’s Dissertation Fellowship for the 2026–27 academic year. The fellowship supports outstanding doctoral students during the final stage of their dissertation research and recognizes academic and research achievement. View the official list of fellows
Frederick E. Terman Award
Published:
Recipient of the Frederick E. Terman Award, presented by the Lyle School of Engineering at SMU in recognition of outstanding scholastic achievement and contributions to the engineering school community. The award honors the legacy of Dr. Frederick E. Terman and is given to graduate students who exemplify academic excellence and leadership.
Best Teaching Assistant Award
Published:
portfolio
Portfolio item number 1
Published:
This is an item in your portfolio. It can be have images or nice text. If you name the file .md, it will be parsed as markdown. If you name the file .html, it will be parsed as HTML.
Portfolio item number 2
Published:
publications
Magnetically Actuated Millimeter-Scale Biped
Published in Robotics and Autonomous Systems , 2025
Recommended citation: Cox, A., Asadi, F., Yacoub, A., Beskok, S., & Hurmuzlu, Y. (2025). Magnetically actuated millimeter-scale biped. Robotics and Autonomous Systems, 190, 104985
Download Paper | Download Bibtex
Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors
Published in The 5th Modeling, Estimation and Control Conference (MECC 2025), 2025
This paper presents an analysis of the precision of fingertip location for a 7 degrees of freedom (DOF) pneumatic haptic glove developed at SMU for 3D elastographic imaging virtual palpation.The 2D workspace for each finger and the 3D workspace for the glove are calculated from the actuator positions using closed-form expressions based on design geometry. The fingertip locations are measured using a 5-camera OptiTrack motion capture, and the results are compared with the fingertip positions obtained using the linear sensors integrated in the design of each finger joint.This work is an essential step in the development of a virtual palpation system of 3D elastographic medical images.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2025). Comparative Analysis of Fingertip Location for the SMU Haptic Glove by OptiTrack Cameras and Embedded Position Sensors. IFAC-PapersOnLine, 59(30), 203-208.
Download Paper | Download Bibtex
Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Published in 65th IEEE Conference on Decision and Control, 2026
Pneumatic actuators exhibit strong nonlinearities and considerable uncertainties that include time-varying friction, making precise force tracking control challenging. This is exacerbated in small-scale cylinders, where internal friction can represent a significant percentage of the maximum output force. To address these issues, this paper presents an adaptive sliding mode control method with friction compensation (ASMC-FC). The controller integrates online parameter adaptation for managing slow-varying friction uncertainties with sliding mode control (SMC) to ensure robustness against unmodeled dynamics and rapidly changing uncertain parameters. Experimental validation is conducted on a double-acting, single-rod small pneumatic cylinder. The results demonstrate that the proposed approach offers better force tracking and increased robustness compared to standard SMC.
Recommended citation: Yacoub, A., Hurmuzlu, Y & Richer, E. Adaptive Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder
Download Paper
Design and Kinematics Analysis for the SMU Haptic Glove
Published in Mechanism and Machine Theory, 2026
This paper presents the mechanical design and kinematic analysis of SMU Haptic Glove, which incorporates seven degrees of freedom (DOF) that are pneumatically actuated and developed for 3D elastographic imaging virtual palpation. This paper outlines the mechanical design of the SMU Haptic Glove The two-dimensional workspace for each finger and the glove’s three-dimensional workspace are determined from the actuator positions using closed-form expressions based on the design geometry and are measured using embedded linear sensors.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. Design and Kinematic Analyses of the SMU Haptic Glove. Available at SSRN 6350469
Download Paper | Download Bibtex
Modeling and Compensation of Static Friction to Improve Force Tracking Performance in Miniature Pneumatic Cylinders
Published in IEEE Transactions on Control Systems Technology, 2026
Haptic gloves require actuators capable of precise force trajectory tracking. Pneumatic actuators exhibit high force to weight ratio performance; however, their usage is often limited by high nonlinearities and friction-induced uncertainties. This study investigates the position and pressure-dependent static friction in small-scale pneumatic actuators. A new stiction model is proposed that explicitly incorporates these dependencies to accurately characterize static friction effects. In order to exploit this model, a sliding mode controller (SMC) with estimated friction compensation is developed and experimentally validated. When actuator force is estimated using pressure measurements, results show that incorporating the friction model significantly reduces amplitude errors compared to uncompensated control.
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Adaptive Robust Sliding Mode Control with Friction Compensation for Force Tracking of a Small Pneumatic Cylinder.
Download Paper
Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control
Published in American Control Conference (ACC), 2026
Recommended citation: Yacoub, A., Richer, E., & Hurmuzlu, Y. (2026). Static Friction Modeling and Compensation for Improved Force Tracking in Pneumatic Cylinders using Sliding Mode Control. American Control Conference (ACC).
Download Paper
teaching
Elements of Mechanical Engineering Measurements Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2025
I guided senior students in experimental design, data acquisition, and system integration utilizing tools like LabVIEW. I offered comprehensive support for final projects and extended my mentorship beyond my formal duties, teaching students how to use Arduino-based platforms and encouraging them to apply these tools to develop their ideas.
Control Systems Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2026
Served as a Graduate Teaching Assistant for the Control Systems Laboratory in the Mechanical Engineering Department at Southern Methodist University. Assisted in delivering hands-on laboratory sessions focused on fundamental control systems concepts, including system modeling, time-domain response, feedback control, and stability analysis. Students implemented and validated control algorithms using MATLAB/Simulink and Quanser hardware platforms, including the QUBE-Servo 3 and QAreo 2 systems.
Intro to Mechatronics Laboratory
Graduate Teaching Assistant, Southern Methodist University, Mechanical Engineering, 2026
I supported the design and testing of laboratory experiments prior to implementation and provided detailed feedback to enhance student learning.