• Tidak ada hasil yang ditemukan

Generation of Infinite Rotational Motions

Dalam dokumen Nazarbayev University Repository (Halaman 53-59)

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.

Dalam dokumen Nazarbayev University Repository (Halaman 53-59)