Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - Flock137/OHC: Oldham Coupling Mechanism Simulation Script · GitHub
Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Flock137/OHC: Oldham Coupling Mechanism Simulation Script · GitHub
Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Flock137/OHC: Oldham Coupling Mechanism Simulation Script · GitHub
Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - Flock137/OHC: Oldham Coupling Mechanism Simulation Script · GitHub
Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Flock137/OHC: Oldham Coupling Mechanism Simulation Script · GitHub
Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Flock137/OHC: Oldham Coupling Mechanism Simulation Script · GitHub
Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - Flock137/OHC: Oldham Coupling Mechanism Simulation Script · GitHub
Skip to content

Repository files navigation

Oldham Coupling simulation

Update (To my teammates): The code is ready for simulation. You may take a look at it and adjust to your liking. However, note that, this simulation is a bit different from the mathematical model that we have built. Probably because the elliptical trammel didn't account for the movement of the middle flange, although the Oldham Coupling and the Elliptical Trammel are both double-slider crank mechansim.

Files

  • oldham_coupling_continuous.m - This is our main code for simulation of Oldham coupling. Although incorrect, it serves a purpose to help the viewer visuallize the similarity between OHC and the Elliptical Trammel. One of my proudest work.
  • oldham_obsidian.m - Is an Elliptical Trammel simulation - the "root" of the script above, albeit have difference in the overall math used
  • Media folder - Storage of pictures/videos of simulation from Matlab, may come with annotations
  • oldham_coupling.m - This is an accurate version of the simulation, where flange 1 and 3 doesn't move
  • CAD model - Store the 3D model of the project

Notes

Although the movement around the axis may look off center, but, rest assured, this is still the theoretically correct movements of the mechanism. Perhaps they are the same mathematical model but differs in terms of how one would alter the elements in the function.

Limitation

The mathematical model of the Oldham Coupling, is regrettably, speculative, due to the fact that there is way too few research on its kinematic model. It was built mainly on the fact that this is a double-crank slider mechanism, and the assumption of dynamics similarity to the Elliptical Trammel. And, therefore, despite the project deadline, this is an "unfinished" project, at least until a formal research on the mechanism is conducted.

Future Updates

These files would be updated in the future, including, but not limited to:

  • A Python counterpart of the script. Since MATLAB is proprietary, and is also unsuitable for this task, due to its nature as a Matrix Laboratory, which makes the fucntions solely relying on matrix, while it need not necessary to be like such.
  • A Fusion360 and FreeCAD model that may come with animations.
  • A concise literature review, or at least some remarks on the mechanism's previous researches.

Credits

  • Nguyen Dinh Phong: SOLIDWORK design (the 3D model of this mechanism), Pure math model.
  • Le The Doan: Pure math model.
  • Professor Do Tho Truong: The initial project suggestion is his.

About

Oldham Coupling Mechanism Simulation Script

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages