9.1 - Project Proposal

9.1 - Project Proposal

Introduction:

In remote and virtual work environments, many companies use user movement-tracking software to ensure productivity. One of the popular methods is tracking the cursor movement. This is because whenever an employee goes AFK (away from the keyboard), their cursor remains stagnant making it easy to detect inactivity. This causes employees to get warnings or face disciplinary actions.

This problem has become more relevant in recent times where job positions are increasingly becoming virtual. And these monitoring techniques can often focus more on employee presence than their productivity. This could cause more stress for the employees. Whether it’s for ensuring engagement in remote jobs, preventing AFK penalties in online platforms, or even keeping certain software from logging users out, addressing this issue can improve user experience and reduce unnecessary stress.

Problem Statement:

The challenge involves creating a continuous, non-repeating movement using a single actuator in an effort to simulate the natural movement of a cursor and avoid inactivity detection. Creating a truly random motion would be ideal, however, true non-repeating motion from a constant speed single actuated mechanism is impossible. for our purposes, we will aim to create a mechanism with a cycle time so long that any monitoring algorithm would perceive it as random. 

To reproduce human movement, we will focus on the variability in speed, direction, and acceleration over time. Simple designs such as four bar mechanisms would follow a repeated short-looped trajectory, making it easy for detection algorithms to flag the motion as non-human. This leads to the objective of this project; creating a complex planar output motion via a linkage powered from a single actuator with a cycle time so long that it can pass as random motion. This will require consideration of the motion path, actuation, and cycle time to maximize the illusion of randomness.

Mechanism:

While our final build will likely have to be quite a complex system of linkages, we will be able to break it down into its fundamental components which will resemble some of the mechanisms we have observed in this class. The ability to compartmentalize our design into these sub-mechanisms is key to understanding the final output motion that we will observe as it ensures that despite its complicated nature, we can both determine the positioning of the links at any time while also ensuring that all configurations along the cycle are achievable given the geometry and placement of those links.

 

The first sub-mechanism will be the simple crank and rocker shown in Figure 1. This will act as the basis of our design that all other components will be built atop. A crank and rocker system is a simple 4-bar mechanism that takes a 360o rotary input and transforms that to a cyclical arc motion over a limited range of degrees. This is perfect for our purposes as a staple of our design is making slight adjustments to the configuration of the mechanism such that the output path is varied while not being fundamentally changed. This mechanism provides the smallest degree of alteration in its output point which is perfect for the base of our design as any small change will be magnified greatly further along the path.

 

Figure 1: Simple crank and rocker

 

The second and final sub-mechanism that we will use in our design is a crank and rocker with a coupler shown in Figure 2. This is very similar to the previous mechanism except the third link has an extra point on it that traces its path due to the motion of the other two links. This allows for an output that has exaggerated cyclical motion. This is perfect for us to put as the final output of our mechanism. It will have its geometry change slightly over the course of the cycle due to the efforts of the input crank and rocker mechanisms which means that the cyclical motion it creates will change slightly every time the input shaft rotates. The slight variation of the input compiled with the inflated output should come close to mimicking random motion.

Figure 2: Crank and rocker with a coupler

Proposed Scope:

For our final project, we’re aiming to build a fully functional model that can simulate natural cursor movement without repeating itself for at least 1 hour. While the cycle isn’t truly random, the long cycle time will make it difficult for AFK detection software to recognize the mechanism's movement, ensuring it appears natural and human-like.

Before we move into fabrication, there are a few analyses we'll need to perform. First, we’ll work out the optimal link lengths and geometry for each of the four bar mechanisms to ensure smooth movement and reduce friction. We’ll also need to consider the forces acting on the system to prevent any mechanical failures. Additionally, we’ll design a mounting system for the mouse that allows the linkage mechanism’s movement to be accurately translated to the cursor. for our purposes we will design this mount for a specific mouse but with more time we would ideally create an adjustable mount to allow for different mouse shapes and sizes. Finally, we’ll evaluate the input motor speed to make sure the system operates with the intended cycle time while still having significant mouse movement speed. We’ll test our design through simulations to ensure the motion doesn’t repeat within the necessary time frame.

Preliminary Design:

For our proposed full mechanism we submit the following; two crank and rocker four-bar mechanisms stacked on top of each other with the output of the first being the “grounded” point of the rocker link on the second. We put grounded in quotations here because the point is of course not grounded but if the second crank and rocker were to be separated that is the second point on the mechanism that would be considered ground. On top of this will sit the crank and rocker with a coupler mechanism. Similarly to the second crank and rocker, the “grounded” point on the rocker bar will be the output from the previous mechanism. The output on the end of the coupler will be attached to the mouse and will be considered the final output. This full design is shown below in Figure 3. 

 

The novel aspect of our design comes from the powering of the input links on each sub-mechanism. We intended to use one continuous motor to power a gear train with three gears shown below. Each of these gears will have a different number of teeth such that their greatest common factor is 1. This will make it so the gears only realign themselves after T2*T3 full cycles of the first gear. Our current proposed tooth counts for the three gears are 40, 43, and 47 teeth respectively. This would mean that the first gear would need to undergo 2021 full cycles before the output path repeats itself. If we run the motor at a slow pace so one cycle of the input ear is 10 seconds this whole process would take approximately 5 and a half hours to repeat. This number could of course be expanded by adding to the number of four-bar mechanisms stacked on top of each other, but this brings with it complexity in the form of the possibility that the linkages would be forced into an impossible configuration. We believe that for the scope of this project, 3 four bar mechanisms should be more than enough when it comes to achieving the results we are looking for.

Figure 3: Full System Design

 

A small sample of the output motion that our proposed system can achieve is shown here in Figure 4. This GIF, while shown at nearly 10x speed, is still only 0.1% of the full cycle of the mechanism.

Figure 4: System output motion

Gruebler's Calculations:

M = 3(L-1) - 2J1 - J2

M - Mobility of the system (Degrees of freedom)
L - Number of links in the mechanism
J1 - Number of 1 DOF joints

J2 - Number of 2 DOF joints

 

Proposed design:

L = 10

J1 = 12

J2 = 0

 

M = 3(10-1) - 2(12) - 0 = 3

This gives us 3 degrees of freedom. 

 

The reason for this is that Gruebler’s equation doesn’t account for the fact that the motion of the three input links is directly related. The best way to adjust for this is to combine all links into 1. This would reduce the number of links by 2 and the number of 1 DOF joints by 2 conforming to the prerequisites for Gruebler's equation.

 

Adjusted design:

L = 8

J1 = 10

J2 = 0

 

M = 3(8-1) - 2(10) - 0 = 1

This adjustment gives us the correct 1 degree of freedom.

Grashof's Law:

We will solve for the Grashof condition of each four-bar mechanism separately. Due to the fact that on each mechanism, aside from the lowest four bar mechanism, the value of link 1 (“ground”) is in flux, we will solve for the Grashof condition of each sub-mechanism twice, once at the maximum value of link 1 and once at the minimum.

 

Grashof Equation:

S + L  <,=,>  P + Q

S: Shortest Link P: First Remaining Link

L: Longest Link Q: Second Remaining Link

 

*All link Lengths are currently approximates*

Sub Mechanism

Config.

Link 1 [in]

Link 2 [in]

Link 3 [in]

Link 4 [in]

Grashof Condition

Sub Mechanism

Config.

Link 1 [in]

Link 2 [in]

Link 3 [in]

Link 4 [in]

Grashof Condition

Crank & Rocker w/ coupler

Min

8 [P]

6 [S]

15 [L]

14 [Q]

< (Class 1)

Max

19 [L]

6 [S]

15 [P]

14 [Q]

< (Class 1)

Middle Crank & Rocker

Min

11 [P]

4 [S]

15 [L]

10 [Q]

< (Class 1)

Max

17 [L]

4 [S]

15 [P]

10 [Q]

< (Class 1)

Lowest Crank & Rocker

Static

10 [P]

2 [S]

15 [L]

8 [Q]

< (Class 1)

Table 1: All sub-mechanisms under all configurations undergo Grashof class 1 motion