How to build virtual four bar?

We are working on a two joint arm for off season and this is our first arm so we have no idea how to design the virtual four bar
We tried to look at how 254 did their virtual four bar but it didn’t help much

1 Like

Here’s a picture of our bot from this year. Your CAD looks a lot like our robot. I can send you over our CAD if you wish.


The CAD would really help :slight_smile:
Btw, how did you balance the arm?


We built one for our FTC bot this year. The top sprocket is fixed and the chain rotated around it as the arm moves up and down. At the wrist end the end effector spins/rotates on the axle that the sprocket is on.


Team 3683 also made an arm similar to what your trying to achieve. Worth a look.

I don’t know what I’m seeing in the snips, but I can say that top part of the assembly wont hold together.

1 Like

The important part that it looks like you’re missing here is that the 4-bar sprocket on the axis of rotation of the main arm needs to be fixed to the base frame so it can’t rotate. Then when the arm rotates, the sprockets rotates in the opposite direction relative to the main arm, so the wrist at the end spins in the opposite direction of the main arm.


We have one on our 2018 arm and 2019 intake.

2018 CAD
2019 CAD


Good opportunity to link to the best-ever introduction to virtual 4-bars:


It’s geometry, man!


In the VEX robotics competition world virtual four bars are called chain bars.

If you search “vex chain bar” or similar you can find a lot of good videos showing off how they work and what to look out for with them


Also a virtual 4-bar

Unpopular opinion: Both “virtual 4-bar” and “chain bar” are junky names that ought to be replaced by something more meaningful.

(Even JVN once called something a “5-bar linkage with 2 tension members” in an extreme maneuver to avoid saying those names!)

Here’s an attempt at defining this whole class of linkages: Instead of using a link to constrain the motion of the (otherwise free) remote bar, any other method of motion constraint is used… gears in mesh, tension member(s) like chain or string, a charge of fluid passed between cylinders, quantum entanglement, etc etc.

1 Like

971 in 2018 is the easiest to understand IMO. if it doesnt make any sense in cad, I would suggest pulling out some legos. instead of a 4 bar linkage, it is really one sprocket that drives the arm angle and the another sprocket driving the wrist. when you drive the arm it “drives” the wrist backwards (its really just rotating around the wrist sprocket).


To be honest, we got pretty lucky. The use of gas shocks extremely helped.

While it looks similar, it’s not a virtual four bar. The wrist and shoulder are independent on that robot.


What do you mean?

Is it possible to build an arm without them?

1 Like

There are some fun things you can do with “virtual bars”…check out 842’s robot at the beginning of this video.


A virtual four-bar is mechanically linked. Often by something like a chain or a belt. When the shoulder rotates, the wrist rotates as well because they are physically tied to each other.

In team DAVE’s case, the wrist and the shoulder were mechanically independent of each other.(So not a virtual four-bar) The shoulder’s mechanical rotation had no affect on the wrist’s rotation. They were two separate mechanisms, each with their own motor(s), gearbox(es) and control loop. They kept them in sync through software.

What are the pros and cons of this system?

1 Like

Pros: Flexibility - if you have any reason to operate them separately, e.g. to tuck the effector inside the frame perimeter or get a few more inches of reach, you have it.

Cons: Weight (particularly weight near the end effector for the wrist motor/gearbox/maybe motor controller), increased complexity of mechanical and programming tasks.

1 Like

One thing worth noting is that you don’t have to use software to get the “virtual four bar” effect with a wrist joint you can actuate. You can also locate the wrist motor + gearbox on the robot base (rather than on the shoulder arm), using multiple chain runs. Done properly, this creates an arm that behaves as a virtual four bar until the wrist motor is powered to actuate the wrist. I want to say this is what 973 / 1323 did in 2011, if you want to look up an example, but I’m not sure.

The tradeoff here is software complexity / reliability, vs weight of additional chain and sprockets, along with CG concerns and whatnot. Just something else to consider.