Algorithm 2: Obtaining a unique solution of the inverse kinematics problem of a coaxial SPM
Input: vπ,π= 1,2,3, πΌ1, πΌ2, ππ
Output: Input joint positions vector π for πβ1 to 3 do
Calculate Aπ,Bπ, Cπ using (2.10) given vπ; Solve equation (2.8) for Tπ;
Findππ using equation (2.9) and select a solution coming from the root with added or subtracted square root of the discriminant for l-l-l or r-r-r working mode, respectively;
returnππ, π= 1,2,3
For the simplicity of the numerical analysis, a uniform sampling interval of the rotation is used, i.e., πΏπ βππ+1βππ,π = 1,2, ... πβ1, is constant.
The inverse kinematic problem is solved at each instant. Since Algorithm 2 returns results in the closed interval β180β (βπ) to +180β (+π), appropriate adjustments should be implemented to the results to ensure smooth motion of the manipulator.
In case of reaching +180β (+π) side by one of the input joint positions ππ, π= 1,2,3, while its sampled rotation, Algorithm 2 results will start from the
β180β (βπ) side at the next sampling instant. An extra 360β (2π) has to be to the joint having such value jump starting from the sampling instant it happened ππ,π, π = 2,3, ... π, till the end of the rotational motion input trajectory ππ,π. Consequently, the input joints trajectory ππ‘πππ that leads to a full 360β rotation of the mobile platform around the vector n is generated. The infinite rotational motion of the coaxial SPM is achieved by applying the obtained input sequence ππ‘πππ repeatedly. However, each following rotation has to be accounted for by adding an extra 360β (2π) to the input sequence ππ‘πππ at the time when the ongoing rotation is finished, again, to ensure motion continuity.
Before applying the generated motion trajectories on the manipulator itself, it is necessary to verify that none of the input joint positions require any prox- imal links to surpass the neighboring ones by going through them to achieve corresponding orientation. An example of such link surpass is the input joints positions
π =[οΈ
100β,200β,150β ]οΈT
, which will be obtained as π = [οΈ
100β,β160β,150β ]οΈT
by Algorithm 2. In this case, the calculated input joint positions require the proxi- mal link 2 to move in the opposite direction compared to the other two proximal links, resulting in its collision with theproximal link 3 while trying to surpass it.
In general, link surpass happens when one of the input joint positions is greater than the following input joint position in the positive (clockwise) direction of SPM movement, i.e., π3 βπ2, π2 βπ1, or π1 βπ3 is not greater than 120β (the thickness of SPM links is ignored). To solve this issue an extra360β (2π) needs to be added for the entire motion trajectory to the proximal link being the earliest in the positive (clockwise) direction.
The presented approach for the infinite rotational motion generation is summarized in Algorithm 3. It applies to the rotational motions at the desired locations that do not lead to singularities or link collisions. Details on how to check for singularities and link collisions are presented in Chapter 4.
Algorithm 3: Generation of an input joints trajectory for a full-circle rotational motion of a coaxial SPM
Input: vπ,π= 1,2,3, πΌ1, πΌ2, ππ,π Output: Input joints trajectory ππ‘πππ Calculate n using (2.11) givenvπ; for π β1 to π do
Calculate vπ,π,π= 1,2,3, using (2.3) with ππ and n;
Calculate input joint positionsππ for each vπ,π,π= 1,2,3, using Algorithm 2;
ππ‘πππ(π)βππ;
/* check for 360β jumps in ππ‘πππ */
for π β1 to πβ1do if π1,πβπ1,π+1 >0β then
π1,π+1=π1,π+1+ 360β; if π2,πβπ2,π+1 >0β then π2,π+1=π2,π+1+ 360β; if π3,πβπ3,π+1 >0β then π3,π+1=π3,π+1+ 360β;
/* check for link surpass */
if π3,1βπ2,1 >120β then π2,1...π =π2,1...π+ 360β; if π2,1βπ1,1 >120β then
π1,1...π =π1,1...π+ 360β; if π1,1βπ3,1 >120β then
π3,1...π =π3,1...π+ 360β; returnππ‘πππ
Chapter 3
Mechanical Prototype and Simulation Model
To facilitate the experimental studies on robotic manipulators it is often desirable to have a mechanical prototype and a simulation model. Virtual simulations of the experiments can help to discover any flaws i n t he m echanical d esign before its manufactured, or in control algorithms before they are tested on the manu- factured prototype. They can also be used to perform additional studies on the manipulators such as link collision detection while estimating its workspace. A mechanical prototype is necessary to verify that the developed methodology for the analysis and control works in real-world settings.
This chapter describes the mechanical prototype of the coaxial SPM under study designed using SolidWorks CAD software and manufactured using rapid prototyping technologies such as 3D printing. It also reports the methods used to create a simulation model of the coaxial SPM in CoppeliaSim (formerly known as V-REP) [289] robotic simulator software. The simulation model developed here is used inChapter 4to detectthe configurationsleadingtolinkcollisions.
The content presented in this chapter was published in a conference paper titled "Modeling and simulation of spherical parallel manipulators in CoppeliaSim (V-REP) robot simulator software" [290], and presented at the 2020 International Conference Nonlinearity, Informationand Robotics (NIR).
(a) (b) (c)
Figure 3-1: Coaxial SPM: (a) CAD model, (b) simulation model, (c) 3D-printed prototype
3.1 Mechanical Prototype
Before the mechanical design process of a manipulator starts, firstly its geometry parameters have to be selected. It was decided to model the coaxial SPM with πΌ1 = 45β, πΌ2 = 90β, π½ = 90β, similar to the ones from Figs. A-1, A-3, B-1, and B-3. The values for these parameters were selected to approximately match one of the Pareto-optimal SPM design solutions (Table 5, Design ID I: πΌ1 = 47.2β, πΌ2 = 91.7β, π½= 88.4β) presented in [239], where a multi-objective design opti- mization problem was formulated to determine the configuration of a coaxial SPM with minimum mass and increased dexterity. These values also almost match numerically optimized design parameters (Table 2, Design ID I:πΌ1 = 48β, πΌ2 = 90β, π½ = 90β) presented in [235]. The selection of such geometry will allow conducting of future comparison studies with the coaxial SPM prototypes pre- sented in the referenced works, which is outside of the scope of this thesis. It was also desirable to haveπΌ1 ΜΈ=πΌ2 to avoid II and III singularity types discussed later in Section 4.1.
Next, a CAD model with the selected geometric parameters was designed in SolidWorks CAD software and is depicted in Fig. 3-1a. The l-l-l assembly mode was selected for the model. Fig. 3-2 illustrates a cross-sectional view of the de- signed coaxial SPM. The central vertical planes of the proximal links coincide with planes formed between thez-axis and the symmetry axes of the linksβ corre-
base actuator actuator's double helical gear link's double helical gear proximal link distal link mobile platform
joint's ball bearings shaft
3D-printed thrust bearings thrust bearing
base's ball bearings
Figure 3-2: Cross-sectional view of the coaxial SPM CAD model of the manipulator.
Three ball bearings are used in the base to decrease input joints axes play (backlash) and mitigate the effects of a single bearingβs internal radial clearance.
Following a similar reasoning, all intermediate and platform joints were equipped with four ball bearings (two per link). Since the bearing used in the real proto- type were not very expensive, and thus of less precision accuracy, such measures were required to have a stiffer structure. The metal thrust bearing betweenprox- imal link 3βs gear (red-colored on Fig. 3-2) and the base, and two 3D-printed thrust bearings between link gears (bearing washers are integrated into the de- sign of the gears) are included to provide smoother motion with less friction. The double helical gears (herringbone gears) with gear ratio 1:1 are used to transmit the actuatorβs motion to the input joints providing smooth motion with reduced backlash [291].
The parts of the prototype (links, mobile platform, base, gears) were manu- factured using 3D printing technology with PLA plastic filament on Ultimaker Extended 2+ 3D printer. The assembled experimental prototype is shown in (Fig. 3-1c). Its dimensions are L 200 mm x W 200 mm x H 290 mm (bounding box at the home configuration). Actuation of the input joints is performed by three equidistantly located Dynamixel XM540-W150 servomotors from ROBO- TIS. The servomotors are controlled via MATLAB using Dynamixel SDK (Proto- col 2.0) API. They also can be controlled in ROS with the ROBOTIS Dynamixel
SDK package.