PARA: A one-meter reach, two-kg payload, three-DoF open source robotic arm with customizable end effector

Graphical abstract

PARA strives to achieve a balance between functionality (with regards to power and precision) and affordability. In order to assess its specifications relative to other existing robotic arm models, 32 other existing commercial or open-source robotic arms were assessed, comparing parameters such as payload, reach, repeatability, and cost. Fig. 1 plots payload versus load-lifting capabilities for various robotic arms. These arms (the diversity of which can be seen in Fig. 2) were categorized into two groups: arms intended for hobby/educational purposes and arms intended for industrial tasks like welding or heavy lifting. From observing the trendlines for both categories of arms, one can observe the clear difference in expected load-lifting capabilities between the two categories, with PARA, touting a maximum payload of 2 kg at a 940 mm reach, falling solidly on the blue trendline for hobby/educational arms. Observing Fig. 1, one can easily observe the novelty of PARA's scale: its reach and maximum payload outclass most arms in the hobby/educational category. Many 3D printed arms with freely available parts on the Internet have shorter reach and lower load-bearing capabilities because of the smaller motors that they utilize. PARA circumvents these shortcomings by implementing powerful motors and utilizing large, robustly-designed printed parts. For example, the BCN3D Moveo, a popular open-source model, uses NEMA 17 Steppers with an approximately 0.6 Nm output [1]. Trossen Robotics' Interbotix arms use Dynamixel XM-series motors [2,3], which while precise, feature stall torques less than 5 Nm [4]. In contrast, PARA's NEMA 34 motors have a 13 Nm output. Conversely, industrial strength robotic arms are often capable of lifting much greater loads at similar reaches due to their usage of metallic components and custom motors/gearboxes. These higher-end components come at the expense of cost: industrial-grade robotic arms at the similar size class offered by major manufacturers such as FANUC, KUKA, or Universal Robotics often cost tens of thousands of dollars [5], and are not affordable for many. A KUKA sales representative provided the following approximate costs for several KUKA industrial robotic arms similar in size to PARA (M. Robey, personal communication, January 19 [1], Thor [8], Trossen Robotics ViperX 250 [3]. Bottomw row: EEZY Robots EEZYbotArm v2 [9], Fanuc LR Mate 200iD [10], Oz Robtoics Niryo One [11]. A. Tai For many, equally as important as strength and functionality is affordability: PARA achieves cost reduction compared to proprietary market models by using relatively cheap parts and being easy to assemble. The arm's parts are primarily 3D printed, meaning the same (often inexpensive) machine can produce a majority of the parts, rather than relying on distinct tooling for each individual component. The usage of plastic parts also presents cost-savings when compared to metal. Parts which cannot be printed such as fasteners and bearings are readily available on the Internet. Most importantly, PARA is open-source and the hardware is not driven by a necessity for profit: for example, users skip assembly costs by assembling PARA themselves. The arm is designed to be manufactured with minimal fabrication effort: the only instances of manual fabrication are drilling the arm's base plate and linkage body tubes, sawing the linkage body tubes, and heat-setting several brass inserts into 3D printed parts. Additionally, users can customize or even improve the open-source arm to serve their own needs. PARA currently costs about $3400 to build, but this price point could be further lowered by replacing the arm's Clearpath servo motors ($713 and $631) -which are expensive due to their sophisticated internal control functionalities -with standard NEMA 34 and 23 stepper motors and encoders. If each stepper motor costs approximately $100, PARA's cost would be driven down to around $1500.
Nonetheless, compared to other non-industrial models, PARA features greater load lifting capabilities per dollar. As previously stated, industrial robotic arms are often capable of lifting 2-3 times PARA's max payload, however their price point is an order of magnitude greater. For a more apples-to-apples comparison, Fig. 3 plots load lifting capabilities versus price for just the hobby/educational grade robotic arms researched in this study.
At around $3400 to build, PARA can lift 0.59 grams per dollar, approximately 33% higher than a robot of identical cost if it followed the observed trendlines from Fig. 3. This advantage can be further increased by replacing the arm's expensive motors.
Besides robotic arms, the open-source community has devised several alternate non-robotic arm solutions capable of performing similar functions to PARA (pick-and-place, tool handling, etc.). However, these solutions often rely on end effectors mounted on Cartesian CNC router-style or delta-style frames (Fig. 4). The OpenPnP project has even compiled a list of such open-source Cartesian-style pick-and-place machines, such as its own OpenPnP OpenBuilds machine [12]. While oftentimes relatively cheap and simple in construction, these machines require space-consuming mounting infrastructure like rails and gantries, and cannot maneuver into tight areas like a robotic arm can. The frames required for a traditional Cartesian-style or delta-style pick-and-place machine with an identical workspace to PARA would be enormous, spanning over 2 meters in each dimension.
By featuring payload-lifting capabilities just 2-3 times less than industrial-grade robotic arms at a price point cheaper by an order of magnitude while being much larger and more powerful than similarly-priced robotic arms, PARA attempts to distinguish itself in the current market of robotic arms and provide an affordable yet functional alternative. It also seeks to serve as an educational tool for the research community: with its functional capabilities and accessible design files and build instructions, users are encouraged to implement their own features on PARA such as additional degrees of freedom, custom end effector attachments like grippers or tools, or more complex control schemes.

Hardware description
Technical specifications and dimensions for PARA are as follows:   Fig. 6 showcase PARA's critical dimensions and workspace. PARA features three joints and three linkages, which are labeled in Fig. 7. In this article, the joint between the base and central linkage will be referred to as the base joint, the joint between the central and bicep linkages will be referred to as the shoulder joint, and the joint between the bicep and forearm linkages will be referred to as the elbow joint.
The forearm linkage terminates at a mounting plate for the user to add custom actuators with additional degrees of freedom (see Fig. 8).    PARA's linkages are actuated either by timing belt trains or individual timing belts, which are in turn driven by motors. A NEMA 23 motor actuates the base joint, while two NEMA 34 motors housed in the central linkage actuate the shoulder and elbow joints. The elbow joint motor actuates the forearm linkage completely independently of the rest of the arm, while the shoulder joint motor actuates both the shoulder and elbow joints at the same time (with PARA's controls accounting for this interdependence by sending commands to the elbow joint motor and offsetting the forearm linkage's motion while the shoulder joint is actuated, thus preserving the system's three completely independent degrees of freedom).
The NEMA 23 motor which actuates the base joint is smaller than the NEMA 34 motors because it does not have to act against gravitational forces. The NEMA 34 motors were placed as close to the central axle of the arm as close as possible to minimize the system's moment of inertia. The motors are powered by a 75 V power source and controlled by G-Code sent from a Smoothieware Smoothieboard 3D printer control board (these electonic components are easily replaceable with alternatives that are cheaper or more familiar to the user). Further detail on how PARA's motors and power source were selected can be found in Section 2.6.
With a customizable end effector and considerable load-lifting capabilities, PARA can be customized for a variety of different tasks, such as: Small-scale automated pick and place operations Serving as a testbed for various robotics-related projects, such as novel end effectors or control systems Automated manufacturing operations such as drilling or bolt tightening via mounted power tools Manual task assistance for those with limited mobility Arts and entertainment PARA was designed in imperial units due to the ubiquitous nature of hardware using that measurement system. Its various hardware and software components will now be described in detail in the following sections.

Linkage construction
With three degrees of freedom, PARA consists of three linkages: a forearm linkage, a bicep linkage, and a central linkage, which in turn is attached to a base. The central linkage, which primarily consists of printed parts, is by far the largest linkage in terms of print volume. Printing the body of this linkage in a single print process can be risky if left unattended, as the print could fail several hours into the job. Therefore, this central linkage body consists of several smaller pieces with shorter print times ( Fig. 9) -if one of these smaller prints fails, the other portions of the linkage would still remain uncompromised. The pieces of the new central linkage are held together by 1/4-20 bolts and heat-set inserts. The bicep and forearm linkages each consist of two 3D printed end caps fastened to 12" long (304.8 mm) acrylic tubes with a 3.25" (82.6 mm) diameter and 1/8" (3.2 mm) wall thickness. These linkages are fastened to axles by set screws and to timing belt pulleys by bolts.

Linkage actuation system
PARA's three degrees of freedom are actuated by a NEMA 23 motor and two NEMA 34 motors, which in turn drive 1" (25.4 mm) wide XL-series timing belt pulleys. The arm features both 3D printed and aluminum pulleys. The pulleys' thickness ensures robustness through force distribution over a greater cross-sectional area (thus leading to less elastic deformation), while the large teeth characteristic of the XL profile help prevent belt slippage. A relatively large contact area between the system's timing belts and timing belt pulleys also aid in preventing deformation of printed pulleys. How each linkage is actuated by pulleys and one or more timing belts can be seen in Fig. 10.
Timing belts were chosen in favor of steel cables for two primary reasons. First off, the relatively small contact area of cables and the pulleys that drive them would lead to much greater stress concentrations on the pulleys, which would likely result in cables digging into the plastic pulleys. Additionally, anchoring cables to pulleys would require crimping the ends of those cables with ferrules -an extra manufacturing step not required for timing belts.
To increase load-lifting capabilities, gear ratios between driving and driven timing belt pulleys are maximized to the extent allowed by system packaging: a larger gear ratio would call for a larger driven pulley, which in turn would require greater axle distances between driven and driving gears. For the base joint, this axle distance is limited by the size of the base, which should be able to be printed on an approximately 8" Â 8" (200 mm Â 200 mm) baseplate. For the shoulder and elbow joints, axle distances are limited by the positions of the massive NEMA 34 motors that actuate those joints: the motors are placed as close to the base joint's axle as possible to minimize the entire system's moment of inertia. The base joint features a gear reduction of 1:2.7, while the shoulder and elbow joints feature gear reductions of 1:7.5.
For compact packaging and weight savings, PARA's power transmission system shares axles between as many of the required timing belt pulleys as possible, though this is not without accompanying complications. From studying Fig. 10, one can observe how moving the bicep linkage will also move the elbow joint axle -and the 42 tooth timing belt that directly actuates forearm linkage -relative to the rest of the elbow joint's power transmission system. Therefore, actuating the bicep linkage h degrees will actually also actuate the forearm linkage by Àh. The controls for the arm compensate for this effect by applying power to the elbow joint while the shoulder joint is in motion. For example, if the forearm linkage has to remain a constant angle relative to the bicep linkage while the bicep linkage moves h degrees, the control board will send commands to the elbow joint motor to also actuate that joint by h degrees, thus cancelling out the Àh degree motion and resulting in zero net movement of the forearm linkage. Fortunately, this effect is not present the other way around -directly actuating the forearm linkage by itself will not actuate the bicep linkage. Therefore, if both the bicep and forearm linkage now have to move h degrees, the control board would still actuate the shoulder joint by h degrees, but now the elbow joint would be actuated by 2h degrees. Thus PARA still maintains its three independent degrees of freedom.
A number of idler-based belt tensioners ( Fig. 11) can be mounted adjacent to many of the system's belts should those belts lose tension. These tensioners are loosened and tightened by turning and un-turning a bolt in the tensioner mechanism.

Base joint
The arm's central linkage is fixed to a 12" (304.8 mm)-long 5/8" (15.9 mm)-diameter bolt which is secured to two mounted bearings housed in the base (Fig. 12).
PARA features a custom thrust ball bearing-like system which enables motion between the central linkage and the base. 21.5" (12.7 mm) ball bearing balls are placed in a circular track about 1.68" (42.7 mm) away from the central axle (Fig. 12). Two large steel washers sandwich the steel balls, thus all the load carried by the bearings is reacted by the washers rather than bare PLA plastic (which can deform due to the stress concentrations at the contact patch of the balls). 3D printed pieces guide the steel balls to ensure that they stay in their proper positions, however the majority of the load on these balls (vertical gravitational force) is still being reacted by the washers.
These steel balls aid in supporting the central linkage by reacting gravitational forces exerted on the bicep and forearm linkages at a radius relatively far away from the central axle. Actual ball or needle thrust bearings were not used because thrust bearings of a similar diameter are both rare and costly.

Shoulder and elbow joints
PARA's shoulder joint consists of a 9" (228.6 mm) steel axle which passes through the bicep and central linkages. The bicep link is constrained to the axle via #10-32 thread set screws, while motion between the two linkages is enabled by ball bearings press-fit into the central linkage. Retaining rings hold the bearings in place (Fig. 13). Roller thrust bearings between the bicep linkage and timing belt pulley actuating the forearm linkage reduce friction between those parts.
The elbow joint consists of a 6" (152.4 mm) aluminum axle which passes through the bicep and forearm linkages. #10-32 set screws constrain the forearm linkage to the axle, while the bicep linkage is constrained to the axle via mounted bearings with embedded set screws.  The end of the forearm linkage terminates in a mounting plate (Fig. 14) so that custom end effectors providing additional degrees of freedom can attach to PARA.

Motor selection and electronics hardware
Although any NEMA 23 and 34 stepper motors should have the proper shaft and bolt mounting geometry to be compatible with PARA (albeit load-handling capabilities will be affected by using motors of differing holding torques), the version of PARA built by the Creative Machines Lab features Teknic Clearpath servo motors (CPM-SCHP-2341P-ELNB [1] with a max holding torque of 2.9 Nm for the base joint and CPM-SCHP-3441S-ELSB with a max holding torque of 13.0 Nm for the shoulder and elbow joints; see Fig. 15). While expensive, these motors were useful for prototyping due to their various built-in safety features, such as shutdown protocols for excessive current draw and operating temperature.  PARA's motors were first selected via some simplified back-of-the-envelope calculations, assuming a desired capability to lift 1 kg of load at a 1 m reach (though after design iteration and empirical evaluation it surpassed this goal and proved capable of supporting 2 kg). Once the development of the robot progressed, these calculations were then further verified through more in-depth analysis incorporating the rest of the robot's design.
Preliminary calculations assumed two 3 kg motors (the approximate mass of most NEMA 23 and 34 models) housed 100 mm away from a central axle. The length of the arm's bicep (shoulder joint to elbow joint) and forearm linkages (elbow joint to end effector) were both assumed to be 500 mm. The mass of the rest of the robot (which would primarily consist of 3D printed and acrylic parts) was assumed to be negligible for now. Fig. 16 details this rudimentary model. The joints have been denoted with a ''prime" symbol. The moment of inertia about the elbow (h 0 Z ), shoulder (h 0 Y ), and base (h 0 X ) joints (accounting for the payload) can be calculated as follows: To approximate the arm's desired angular accelerations, a desired end effector velocity of 250-1000 mm/s in each translational direction was established. Given the estimated robot dimensions, this range of end effector velocities would resolve to desired joint velocities of 0.25-1.00 rad/s (2.4-9.  .08 Nm at h 0 Y , and 6.18 Nm at h 0 Z . A NEMA 23 motor with a maximum torque of 2.9 Nm was chosen to actuate h 0 X , while a NEMA 34 motor with a maximum torque of 13.0 Nm was chosen to actuate h 0 Z (for a factor of safety of about 2 for both motors). The same NEMA 34 motor was also chosen for h 0 Y . Though the maximum desired torque (11.08 Nm) was close to the maximum operating torque of the NEMA 34 motor (13.0 Nm), any larger motor would've been impractical in terms of mass and cost. A gear ratio would have to be applied to increase the motor's torque output.
After more practical design work was conducted on the arm, the efficacy of the selected motors was once again evaluated. Applying mass properties to various linkages of the arm in CAD yielded the mass and moment of inertia seen in Fig. 18: The moment of inertia about the elbow (h Z ), shoulder (h Y ), and base (h X ) joints for this practical model could then be calculated as follows: Using these actual moment of inertia values and the previously-calculated desired angular acceleration values, the new desired torque ranges would equal 0.13-2.13 Nm for h X , 0.13-2.00 Nm for h Y , and 0.08-1.32 Nm for h Z . Once again combining these values with worst-case gravitational forces yields maximum desired torque values of 2.13 Nm for h X , 11.81 Nm at h Y , and 6.23 Nm at h Z .
Ultimately, end effector speed was sacrificed in favor of payload capacity for PARA, and the design sought to maximize the gear ratio of each joint within allowable packaging. As previously stated, h X features a gear reduction of 1:2.7, while h Y and h Z feature gear reductions of 1:7.5. Therefore, for the initial 1 kg goal, the required output torque for the base joint would be 0.79 Nm, while the required output torques for the shoulder and elbow joints respectively would equal 1.57 Nm and 0.83 Nm. These values fall comfortably into the operating torque ranges for the selected motors -in fact, working through these calculations backwards and solving for the max load which can actuated by each joint with the provided motor torque capabilities yields theoretical maximum payloads of 6.1 kg for the base joint, 8.8 kg for the shoulder joint, and 16.3 kg for the elbow joint. Actual empirical testing, however, demonstrated that these axes could only operate payloads of about 2 kg before encountering other sources of mechanical failure such as belt slippage. Still, this value is greater than the designed payload of 1 kg.
PARA's required power capacity was determined by multiplying by the worst-case motor torques by worst-case angular velocities. The arm's motors are daisy-chained together and powered by a Teknic IPC-5 75 V power supply [3]. Performing the previous calculations once more with a payload of 2 kg yields worst-case motor torques of 1.20 Nm for h X , 3.03 Nm for h Y , and 1.63 Nm for h Z . The maximum joint angular velocities in these events were previously calculated as 1.27 rad/s 2 for h 0  (Fig. 19). Intended for controlling 3D printers, the Smoothieboard was chosen for its on-board motor drivers and ease with interpreting commands. The Smoothieboard can support controlling up to six stepper motors at once for adding additional degrees of freedom to the arm, and its firmware can be easily modified to set motor parameters such as step size. Various free-to-download pieces of software, such as Pronterface from the Printrun suite, can be used to send G-Code commands to the Smoothieboard to control the motors.
Although alternatives for the Teknic motors and the Smoothieboard can be used, this article will focus on supporting these pieces of hardware.
An additional three-tiered electronics housing (Fig. 20) can also be printed and installed on PARA's base to house the arm's Smoothieboard controller and 75 V power supply. This housing also serves as a brace for the various cables linked to the Smoothieboard, which can be zip tied to the housing for strain protection.

Controls and software
As with most robots and robotic arms, the motor commands required to move PARA can be computed in several different ways.
This article presents two. The first method involves loading a URDF file for PARA in a software package with kineticsimulating capabilities such as Pybullet or ROS (Fig. 21). For those who wish to write their own kinematics engine, the second involves directly using matrix operations to manually compute forward and inverse kinematics.
These methods allow for translating Cartesian commands into desired angles and angular velocities for each motor. As the PARA project was primarily a study in hardware, the acceleration profiles for each joint were not extensively developed, and  controls for PARA remain a topic of further study. Clearpath's proprietary software was used to empirically ''tune" each motor based on encountered loads and develop closed-loop control schema for each individual motor. However, much future work can still be performed in this area: rotary encoders and accelerometers mounted in various locations on the arm could allow for the development of more sophisticated PID or PIV control laws for PARA. The mass and moment of inertia information included with PARA's CAD model could also be used to implement gravity compensation in PARA's controls.

URDF
As PARA is an articulated robotic arm with three degrees of freedom (DOF), there are three links: the central link, bicep link, and forearm link, and three revolute joints to connect them: the base joint, shoulder joint, and elbow joint. These links and joints are defined in a provided URDF file.
In the URDF file, the kinematic information is encapsulated in the ''joint" tags. The ''origin" of joint tells where this joint is placed relative to the previous coordinate system.
To aid in visual representation of the arm's movements, also provided are.STL files representing the various robot links referenced by the URDF file.
Also provided is a sample Python script which uses the PyBullet library in order to translate Cartesian directions for end effector movement into motor angles. The script also translates these angles into GCode commands for the Teknic servos used in this article and sends these commands to the Smoothieboard. Due to the simplicity of the 3-DOF PARA, the Cartesian position of the end effector frame as functions of joint angles can be computed using just basic trigonometry. L A ; L B , and L G denote the length of the Central Link, Bicep Link, and Forearm Link. The base joint angle, shoulder joint angle, and elbow joint angle have been represented as ðh X ; h Y ; h Z Þ.
Firstly, as joint X just rotates the arm in the vertical plane, one can simplfiy this 3D problem into a 2D problem by just analyzing the Y, Z joints (Fig. 22).
Consulting Fig. 22, b,c denote the y, z coordinates of the end effector in the 2D space. One can easily generate functions for the coordinates of the end effector: Now, back to the 3D space problem. In this case, parameters a, b, c denote the x, y, z coordinates of the end effector in 3D space.
One can also compute the position of the end effector frame via linear algebra. Using URDF notation: B T ee : The transformation matrix from base-link's coordinate to the end effector's.
Based on the inter-link translatio n and rotation matrices contained in the URDF file:

Inverse kinematics
Simplifying the problem to the 2D plane defined by the Y and Z linkages again, the end effector's position X2 R 2 . Suppose once more X ¼ ðb; cÞ and L B ; L G denote the length of Bicep Link and Forearm Link, as in Fig. 22. The aim is to compute the value of h 2 R 2 which can satisfy the arm to achieve the point X. One can derive the following relations: So, the problem in 2D is solved. Moving to 3D space, where X 2 R 3 ; h 2 R 3 which satisfies the arm to achieve the point . Note: These equations use a function called atan2ðy; xÞ, which returns the angle from the origin to a point (x,y) in the plane. It is similar to the inverse tangent tan À1 ð y x Þ, but whereas tan À1 ð y x ) is equal to tan À1 ð Ày Àx Þ, and therefore tan À1 only returns angles in the range ð Àp 2 ; p

Bill of materials
PARA's components can be split into off-the-shelf purchased components and custom printed components. All components listed total around $3400.

Safety concerns
Before preparing and assembling PARA's components, note the following safety concerns. For concerns pertaining to operating PARA once it is built, see Section 6.1.
Though designed to be minimal, assembling PARA requires some drilling and cutting operations involving hand tools. Wear appropriate personal protective equipment (safety goggles) while performing these operations and ensure that parts are properly secured using clamps or a vice before being cut or drilled. NEMA 34 and 23 stepper motors have relatively high input voltages and operating currents compared to most motors used in the consumer electronics and hobby sectors (for example, the motors suggested in this article draw 4 amps per phase at up to 75 volts), thus appropriate caution should be exercised when handling them. Ensure power supply is off and/or disconnected from AC wall supply before plugging and unplugging cables from steppers. Ensure hands are dry when handling power electronics. The tip of a soldering iron can reach hundreds of degrees Celsius and leave serious burns if in contact with skin. Exercise caution when using a soldering iron to either connect wire leads or install heat-set inserts. Several of PARA's subassemblies, such as the base and central link, are considerably heavy. If dropped, these parts can result in damages to the hardware, user, or both. During assembly and service, take care to prevent fingers and skin from being pinched near the arm's joints. When assembling PARA, tighten all fasteners until a reasonable amount of resistance is encountered to ensure that the arm doesn't fall apart during operation. All nuts used on PARA have thread locking features to ensure that they don't loosen over time, but the arm's set screws do not. Apply Loctite Threadlocker adhesive to these set screws for more secure retention.
Step 4: Use soldering iron to set heat-set inserts into base body.
Step 5: Fasten square mounted bearing to base body. Step 6: Fasten assembled base lid onto assembled base body.
Step 7: Sandwich washer between lower race pieces and fasten assembly onto base lid. Step 8: Insert bolt into mounted bearings and tighten set screws.
Step 9: Drill the indicated hole geometry in a 1" thick base plate. Step 10: Fasten base body and base rim to base plate.
Step 11: Fix rubber feet.75" or longer on underside of base. Step 12: Use soldering iron to set heat-set inserts into side plates.
Step 13: Press-fit ball bearings into side plates. Step 14: Snap retaining rings into grooves adjacent to ball bearings.
Step 15: Fasten motors to side plates. Step 16: Use soldering iron to set heat-set inserts into central strut.
Step 17: Fasten roller bearings to central strut. Take care to install fasteners in correct order. Step 18: Fasten base plates to central strut.
Step 19: Slide nuts into sockets of base timing pulley. Step 20: Press-fit washer onto base timing pulley.
Step 21: Place base timing pulley onto base with steel balls in between grooves. Step 22: Place L series timing belt around timing pulleys and fix 13T steel timing pulley to base motor shaft with set screw.
Step 23: Use soldering iron to set heat-set inserts into base tensioner housing. Step 24: Assemble various components of base tensioner.
Step 25: Mount base tensioner and base tensioner spacer onto base. Turn tensioner bolt to tension timing belt. Step 26: Fasten central link base plates and central strut to base timing pulley. Secure central link to central axle with nut and washer.
Step 27: Use soldering iron to set heat-set inserts into compound elbow timing pulley. Step 28: Use soldering iron to set heat-set inserts into 34T shoulder timing pulley.
Step 29: Press-fit ball bearing into 34T shoulder timing pulley and snap retaining ring into adjacent groove. Step 30: Use soldering iron to set heat-set inserts into bicep link inboard cap.
Step 31: Press-fit ball bearings into bicep link inboard cap. Step 32: Fasten 34T shoulder timing pulley to bicep link inboard cap. Ensure that L series timing belt rests between pulley flange and inboard cap.
Step 33: Pass keyed rotary shaft through bicep link inboard cap, compound elbow timing pulley, and indicated components. Take care to assemble with components in correct order. Step 34: Fix compound elbow timing pulley to rotary shaft with set screws and loop 42T timing belt through bicep link inboard cap.
Step 35: Pass rotary shaft through central link side assemblies. Step 36: Fasten central link side assemblies to central link base plates and central strut.
Step 37: Engage 13T steel timing pulleys with timing belts and pass keyed rotary shafts through central link ball bearings, pulleys, and roller bearings. Fix 13T pulleys to rotary shafts with set screws. Step 38: Use soldering iron to set heat-set inserts into 34T central link timing pulley.
Step 39: Slide 34T central link timing pulley, 13T steel timing pulley, and timing belt onto each side of the central link. Use set screws to fix 13T steel timing pulleys to motor shafts. Step 40: Use set screws to fix 34T central link timing pulleys to rotary shafts.
Step 41: Fasten timing pulley caps to 34T central link timing pulleys. Step 42: Use soldering iron to set heat-set inserts into central link tensioner housing.
Step 43: Assemble various components of central link tensioner. Step 44: Mount central link tensioner onto central link. Turn tensioner bolt to tension timing belt.
Step 45: Saw 3.25" diameter acrylic tube into two 12" segments. Step 46: Align drill jig with edge of acrylic tube and tighten with fasteners.
Step 47: Use hand drill and.25" drill bit to 6x drill holes in the locations indicated by the drill jig. Step 48: Slide drill jig to other end of tube and repeat drilling operation. Ensure that holes are properly aligned and in the correct orientation.
Step 49: Repeat hole drilling process for other tube. Step 50: Use soldering iron to set heat-set inserts into bicep link outboard cap.
Step 51: Use soldering iron to set heat-set inserts into bicep link outboard cap. Step 52: Use soldering iron to set heat-set inserts into 13T elbow timing pulley.
Step 53: Use soldering iron to set heat-set inserts into forearm link inboard cap. Step 54: Use soldering iron to set heat-set inserts into forearm link inboard cap.
Step 55: Use soldering iron to set heat-set inserts into elbow joint couplers. Step 56: Partially fasten mounted bearings to bicep link outboard cap.
Step 57: Slide bicep link outboard cap and acrylic tube onto bicep link inboard cap. Step 58: Fasten acrylic tube to bicep link caps.
Step 59: Loop 13T elbow timing pulley into 42T timing belt and finish fastening mounted bearings to bicep link outboard cap. Step 60: Fasten elbow joint couplers to forearm link inboard cap.
Step 61: Slide keyed rotary shaft through forearm link inboard cap, mounted bearings, and 13T elbow timing pulley. Step 62: Secure forearm link inboard cap to rotary shaft with set screws.
Step 63: Secure 13T elbow timing pulley to rotary shaft with set screws. Step 64: Slide acrylic tube onto forearm link inboard cap.
Step 65: Fasten acrylic tube to forearm link inboard cap. Step 66: Use soldering iron to set heat-set inserts into bicep link tensioner housing.
Step 67: Assemble various components of bicep link tensioner. Step 68: Mount bicep link tensioner onto bicep link. Turn tensioner bolt to tension timing belt.
Step 69: Use soldering iron to set heat-set inserts into mounting plate. Step 70: Slide mounting plate into forearm link acrylic tube.
Step 71: Fasten mounting plate to forearm link acrylic tube. Step 72: Fasten power supply to power supply housing.
Step Step 74: Fasten power supply housing to base.
Step 75: Fasten Smoothieboard housing and electronics tower lid to power supply housing. Step 76: Connect power supply cables between motors, power source, and wall AC power. If using the Teknic Clearpath servo system, follow the instructions provided on the Teknic website [6].
Step 77: Connect motor control signal wires to control board. For the provided software files, the base joint corresponds to the X-axis on the Smoothieboard, the shoulder joint the Y, and the elbow joint the Z. If using Clearpath servos/Teknic control cables and a Smoothieboard, the following wires on the cable correspond to the following pins on the Smoothieboard: 6. Operation instructions

Safety concerns
Before operating PARA, note the following safety concerns. For safety concerns pertaining to assembling PARA prior to operation, see Section 5.1.
PARA is not designed to operate beyond the specifications presented in this article. Exceeding these specifications by, for example, attaching a heavier payload or instructing the arm to move faster than the recommended max speed, will result in PARA not functioning as intended (e.g. exhibiting jerky motions, excessive motor noise, or timing belt slippages). PARA's components may also become permanently damaged through breaking or overheating. If PARA begins to exhibit clearly improper behaviors immediately power down the arm. If PARA's components begin to smell of burnt plastic/metal or even start smoking immediately power down the arm. Even without an attached payload, PARA's various hard plastic linkages can deliver a substantial amount of impact force, especially when moving at high speeds. The version of PARA presented in this paper does not contain obstacle-detection capabilities, thus if the arm encounters an object in its path of motion either PARA or the obstructing object may suffer damages. Note PARA's workspace detailed in Fig. 6 and ensure that when the arm is powered on, any humans or animals (including the operator) are a safe distance away. Remove any unnecessary obstacles in the workspace and take note of those which must remain when controlling the arm. For operation around fragile objects consider wrapping PARA's linkages in protective padding for extra safety. As a continuation of the previous point, PARA's components are not designed to withstand high-energy or repeated impacts. The acrylic tubes used in the arm's linkages can be brittle, while the arm's 3D printed components can be prone to layer separation if impacted with sufficient force. Avoid high-speed collisions with obstacles and dropping PARA or any of its various components. PARA contains many live joints, timing belts, and toothed pulleys which could potentially pinch the user's fingers or skin. Avoid touching or servicing these components while PARA is powered on. PARA's motors utilize a considerable amount of power and can become hot after prolonged use. Exercise caution if touching these motors with bare skin during or right after using PARA. The Teknic Clearpath motors suggested in this article have fail safe measures to ensure that they do not draw power greater than what they -and the accompanying power supply -are rated for. If using substitute motors that do not have these features, ensure that the motors are operating within the recommended electrical specifications. Exceeding these specifications can permanently damage the motors. Also ensure that the selected power source can provide enough power for all motors at worst-case conditions. If the power source cannot supply a sufficient amount of power the arm may fail midway through performing a critical task. As a general safety principle for mobile robotics, when developing a new action for PARA, always test this action several times at a slower speed (the authors recommend an end effector speed of 100 mm/s) before running it at full speed.

Operation instructions
1. If using the proposed Teknic motors, use Teknic ClearPath-SC Series Motor Setup (Clearview) software to tune PARA's motors under the load of the arm itself. The software can be downloaded from the Teknic website [9]. Ensure there is sufficient room around the arm for its various linkages to move without obstruction during the tuning process. PARA's payload-handling capabilities were assessed empirically by hanging progressively heavier weights off of the end of the arm's forearm linkage and actuating each joint independently, noting the maximum amount of weight which could be manipulated until the joints began to behave erratically (Fig. 23).
For the base joint/central linkage axis, past approximately 2 kg of load the base joint motor began to exhibit signs that it was being pushed near its operating limits: it produced excessive vibrations, and began to turn at different rates at different angles throughout each revolution. Such motor issues were possibly exacerbated by the fact that loads on the central axle were being transmitted to the motor axle in the radial direction through the timing belt linking them (theoretically, the ball bearings around the central axle should've reacted any moment exerted on the axle by gravitational forces acting on the tip of the arm, but slop in the arm's construction and deflection of the printed parts under excessive loads could easily result in a portion of these forces shifting to the axle itself). Additionally, while accelerating to high speeds (approx. 1000 mm/s end effector speed) the base joint timing belt would slip due to deformation of the belt's rubber teeth in response to the excessive inertia of the payload. For the shoulder and elbow axes actuating the bicep and forearm linkages, the timing belts would also begin to slip past 2 kg of load, mostly due to excessive gravitational force. Tensioning the timing belts assisted in preventing belt slippage to a certain degree (most prominently in the long 42-tooth timing belt linking the final two pulley gears in the elbow joint timing belt system, as shown in Fig. 24), but excessive belt tensions risked breaking the arm's plastic parts (either through deforming them through excessive bending moments, cracking the parts, or separating the parts' 3D printed layers) and damaging the motors through excessive radial thrust forces on their axles.
Stronger, more robust materials for the structural elements of PARA such as metal or solid injection-molded plastic parts would undoubtedly improve the payload capabilities of the arm by minimizing part deflection and unwanted load paths in the assembly. However, such parts would also prompt much higher material and tooling costs (part-specific injection/casting molds and stamping dies, for example), which is a trade-off PARA makes to drive down cost. Automated means of assembling PARA could also potentially allow for extremely tensioned timing belts (much tighter than what the average person could assemble by hand) to prevent belt slippage, but such means of assembly would also incur higher costs.
When performing these strength assessments for each joint, maximum joint acceleration values which would also allow each degree of freedom to operate reliably at a variety of payloads were chosen. These values were about 3 rad/s 2 for the base and shoulder joints and 6 rad/s 2 for the elbow joint.
Running the theoretical maximum payload calculations from Section 2.6 while assuming operating accelerations of 3 rad/ s 2 for the base and shoulder joints and 6 rad/s 2 for the elbow joint yields values of 2.1 kg for the base joint, 7.7 kg for the shoulder joint, and 15.8 kg for the elbow joint. The theoretical base joint max load aligns with the observations from this study: the corresponding motor was indeed operating at values close to its peak torque while manipulating the 2 kg payload. The large discrepancies in the shoulder and elbow joints' theoretical max payload and actual max payload can be accounted for by the points of mechanical failure discussed throughout this section (there is also more potential for power loss and sources of failure for these axes due to the more elaborate nature of their power transmission mechanisms). Future work with PARA should consist of finding methods to increase the tension in PARA's timing belts while distributing these forces in a mechanically sound way.

Axis
Acceleration ( PARA's repeatability was assessed by mounting a 0.7 mm mechanical pencil to the end effector, repeatedly having the arm dot four corners on a 100 mm by 100 mm square (alternating between different corners of the square), and measuring the range of pencil marks produced at each of those four corners (Figs. [25][26][27]. Four assessments were conducted, each with the end effector traveling at a different cartesian velocity: 250 mm/s, 500 mm/s, 750 mm/s, and 1000 mm/s. For each assessment, 36 points were produced at each corner of the square (meaning 144 data points were collected for each assessment). The end effector's cartesian acceleration for each test was 250 mm/s 2 . The geometric mean of the x and y ranges for each corner in the assessments were as follows:   Using Student's t-distribution and assuming 35 degrees of freedom for each sample set, the standard deviation for each corner was as follows: Note that two assumptions were made in obtaining these values: 1) because the points at each corner were so close to each other, it was impractical to measure the actual distribution of the points from the mean, and it's assumed that all points conform to Student's t-distribution, and 2) the measured ranges at each corner encompass 95% of all points at those corners.
Treating each corner as a sample set from a total population (the population being all points corresponding to a certain end effector velocity), the pooled standard deviation and range with 95% confidence for each assessment are as follows: Interestingly, at this range of end effector speeds, end effector speed and repeatability display a linear relationship, with an R-squared value of 0.94 obtained when plotting the two variables together (Fig. 28).
It must be stressed that these values were obtained with no payload attached to the end effector; repeatability and precision can be assumed to decrease as the arm payload increases.

Human and animal rights
No humans or animals were harmed in this study.  Investigation, Writing -review & editing. Hod Lipson: Conceptualization, Resources, Writing -review & editing, Supervision, Project administration, Funding acquisition.

Declaration of competing interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.