BEN-GURION UNIVERSITY OF THE NEGEV

THE FACULTY OF ENGINEERING SCIENCES

DEPARTMENT OF MECHANICAL ENGINEERING

Reconfigurable (RCTR)

THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE M.Sc. DEGREE

By: Tal Kislassi

Supervised by: Dr. David Zarrouk

September 2019

September 2019

BEN-GURION UNIVERSITY OF THE NEGEV

THE FACULTY OF ENGINEERING SCIENCES

DEPARTMENT OF MECHANICAL ENGINEERING

Reconfigurable Continuous Track Robot (RCTR)

THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE M.Sc. DEGREE

By: Tal Kislassi

Supervised by: Dr. David Zarrouk

Author: Tal Kislassi Date: 26.9.2019

Supervisor: David Zarrouk Date: 26.9.2019

Chairman of graduate studies committee: ______Date: ______23.12.19

September 2019

Abstract

This research presents a minimally actuated Reconfigurable Continuous

Track Robot (RCTR). The RCTR can change its geometry while advancing, thus enabling it to crawl and climb over different terrains and obstacles. The robot is fitted with a regular propulsion motor similar to a regular track and has a locking mechanism located at the front. The links have a unique design which allows them to be locked at a relative orientation of negative 20, 0, and positive 20 degrees to each other as they reach the front of the robot. A release mechanism, located at the back, passively unlocks the links. As a result, all the links in the lower part are locked whereas the top links are unlocked.

First, a review of the crawling and reconfigurable robot will be presented,

Followed by an explanation of the main concept and a description of design demands and requirements. It is important to note there have been several attempts to design this robot, but all failed.

Next, we present the design of the robot and its mechanisms. The links of the closed loop continuous track, its’ main body with its mechanisms and the electronic parts are described. The robot was assembled by 3-D printed parts and additional elements that we ordered to complete the building process. Motors, batteries and a receiver were installed on the main body of the robot. The robot's performance was in line with expectations and all the mechanisms interacted properly with one another.

Then, we created a kinematic and dynamic model of the robot’s movement and simulated the different obstacles that the robot can overcome. A quasistatic

- ii - model of the robot was developed to examine its behavior while climbing over different obstacles and slopes. The model was integrated in a MATLAB simulation which displayed the robot's movement in real time and allowed the user to control the RTCR while examining its behavior. The simulation provided substantial data regarding the robot's ability to overcome various obstacles different in shape and difficulty.

Lastly, we presented multiple experiments showing how this new robot can successfully navigate different obstacles. The experiments showed that the robot is capable of overcoming obstacles as the simulation predicted including climbing a high step, skipping an obstacle without touching it and passing a gap more than half of its length. Also, we have tested the robot in outdoor environments and proved that the robot can successfully crawl on challenging surfaces such as rocks, sand and grass.

Key Words

Robotics; Crawling Robot; Mechanical Design; Reconfigurable Robot; Rolling

Motion; Motion modeling;

- iii - Acknowledgments

First, I would like to express my gratitude to my supervisor, Dr. David Zarrouk, for the guidance and encouragement during my research and thesis writing. I would like to thank him for all the support, patient advice and the trust he placed in me.

A special thanks goes to my dear friends and colleagues, Lior Navon and Bar

Keshet, for their collaboration and brain-storming on a daily basis, which made my work much more productive and a lot more fun than I thought it could ever be.

I would also like to thank my friends and fellow Master's students for their support, the shared meals and laughter during our time on and off campus grounds.

Finally, I would like to thank my family for loving and supporting me and for providing me with continuous encouragement throughout my years of studying and throughout the research process and the thesis writing.

- iv - Table of Contents

Nomenclature ...... vi List of Tables ...... vii List of Figures ...... vii 1 Introduction ...... 1 2 Background ...... 5 3 Design and Manufacturing ...... 9 3.1 Product Design Specifications ...... 10 3.2 Robot Design ...... 10 3.2.1 The Track Links and Locking Mechanism...... 10 3.2.2 The Main Body ...... 14 3.2.3 Advancing Mechanism ...... 15 3.2.4 Lock and Releasing Mechanism ...... 15 3.3 Actuating and Control ...... 18 3.4 Manufacturing ...... 18 4 Kinematics and Dynamic Analysis ...... 20 4.1 Kinematic Analysis ...... 20 4.2 Position and Mobility of the Center of Mass ...... 21 4.3 The Maximum Height that the Robot Can Overcome ...... 22 4.4 Torque Analysis ...... 23 5 Simulations ...... 26 6 Experiments ...... 34 6.1 Horizontal Crawling in Rigid and Flexible Configurations on Curved Surface 34 6.2 Climbing and Descending a step obstacle ...... 35 6.3 Skipping over Obstacles and gaps ...... 37 6.4 Running Over a Variety of Surfaces ...... 38 7 Conclusions ...... 40 8 References ...... 41 9 Appendices ...... 45

- v - Nomenclature

Symbol Units Meaning

FF N Weight of the front component mass

FMB N Weight of the main body

FR N Weight of the rear component mass

FTTL N Weight of the top track links H Cm Hight of the robot

hmax Cm Maximum theoretical height that the robot can climb L Cm Length of the robot Length of the front side of the robot which is not in Lpitch Cm contact with the ground Length from the rear side of the robot to the last joint in Lrear Cm contact with the ground

LSL Cm Length of the track link

LTL Cm Length of the track link m Kg Total mass of the robot

MF Kg Mass of the components at the front of the robot

MR Kg Mass of the components at the rear of the robot

mSL Kg Mass of a support link

mTL Kg Mass of a track link

nTL - Number of track links

nTTL - Number of top track links A matrix containing the vectors of the joint's location at S(k) Cm step k

si Cm Location of the bottom track link joint i

so Cm Location of the last front joint in contact with the ground

Tmotors Ncm Required torque of the robot W Cm Width of the robot

αmax degrees Maximum pitch angle of the robot

θj degrees Angle of joint j

θmax degrees Maximum angle of climbing ρ Kg/cm Mass per length of the links and the support body

- vi - List of Tables

Table 3.1: Specifications...... 19

List of Figures

Figure 1.1: Snake-like robot [23] with one motor on each link...... 1 Figure 1.2: Pine caterpillar at the top left, the model of the robot at the top right and the inchworm robot [27] at the bottom...... 2 Figure 1.3: OUROBOT [32] uses a rolling motion. (a) Shows a close loop of 12 individual links (b). A presentation of one link with a single motor out of the 12 links in the OUROBOT...... 3 Figure 1.4: The RCTR is a newly developed robot that can change its external geometry as it advances. The RCTR is actuated by three motors; two motors provide the thrust and the third controls the shape...... 4 Figure 2.1: The vision of the project...... 5 Figure 2.2: The first attempt of the RCTR design...... 6 Figure 2.3: The second attempt designing the RCTR track link mechanism using a radial cam and follower...... 6 Figure 2.4: The second attempt designing the RCTR track link mechanism using a pin with linear movement direction...... 7 Figure 2.5: The last version of the RCTR model...... 7 Figure 3.1: The mechanical design of the RCTR robot. Side view and isometric views of the robot...... 9 Figure 3.2: The track link with the lockers...... 11 Figure 3.3: Explosion view of the track link and the lockers...... 11 Figure 3.4: The links of the robot and the rotating locking pin. A) The links are locked at positive 20 degrees, B) The links are locked at zero degrees, C) The links are loose...... 13 Figure 3.5: The main body of the robot, with six main body links, that houses the driving and motors, the locking and releasing mechanisms, the battery and electronics...... 14

- vii - Figure 3.6: The locking mechanism...... 15 Figure 3.7: The locking mechanism located at the front of the support body. A) The locking mechanism locks the track links at positive 20º. B) the locking mechanism locks the track links in a straight angle. C) The locking mechanism does not engage the links which remain unlocked...... 16 Figure 3.8: The releasing mechanism located at the rear of the track. Isometric view on the left and back view on the right...... 17 Figure 3.9: The final version of the RCTR...... 19 Figure 4.1: The parameters that describe the shape of the bottom track links...... 20 Figure 4.2: The maximum height that the RCTR can climb as a function of the maximum pitch angle αmax...... 22 Figure 4.3: The force acting on the robot when climbing at maximum angle and the torque of the motors...... 24 Figure 5.1: Flow diagram of the simulation...... 26 Figure 5.2: Simulation of the RCTR climbing over an obstacle...... 27 Figure 5.3: Simulation of the RCTR descending a step while locking its links on straight angle...... 28 Figure 5.4: Simulation of the RCTR descending a step while changing its shape...... 29 Figure 5.5: A simulation of the RCTR skipping over a small obstacle without contacting it...... 30 Figure 5.6: The simulated robot falling into a long gap while advancing straight...... 31 Figure 5.7: The simulated robot seccessfully crossing a long gap by changing its shape and keeps its center of mass above the left high level...... 32 Figure 5.8: The maximum ratio of the height of the obstacle divided by the length of the robot as a function of the maximum climbing angle, compared to the asymptotic values from the analytical model...... 33 Figure 6.1: The RCTR crawling on a sine surface with rigid body at "A" and "B" and flexible body at "C" and "D"...... 34 Figure 6.2: The robot climbing a step by locking its links and pitching upwards.35 Figure 6.3: The RCTR smoothly descending a step...... 36 Figure 6.4: RCTR passing over an object without touching it...... 37 Figure 6.5: The RCTR skipping over a 30 cm long gap...... 38

- viii - Figure 6.6: RCTR crawling over challenging surfaces in unstructured environments...... 39

- ix - 1 Introduction

Many crawling have been developed in recent years for search and rescue operations, pipe inspection, industrial maintenance, defense and other applications. Robots with reconfigurable mechanics that can change their external shape and mechanics using transformable body geometries fitted with legs that can transform into wheels and tracks

[1]- [11] have been suggested as possible solutions to the problem of crawling over obstacles. Continuous track robots and hybrid robots combining legs, wheels and tracks

[12]- [14], have been developed to overcome different obstacles. Simple tracks, however, are constrained by the fact that they cannot substantially change their external configuration. Overly redundant robots driven by a large number of actuators, such as snake robots that can change their external shape and locomotion to mimic crawling gaits have also been suggested [15]- [35].

Robots with a snake-like locomotion have been developed in the past decades. These robots have a highly reconfigurable trait, but the main issue is controlling the motors to reach the desired locomotion. Figure 1.1 [23] shows one of the designs of a snake robot. It has one motor on each link of the robot which consume a large power supply.

Figure 1.1: Snake-like robot [23] with one motor on each link.

- 1 - Researchers also developed robots based on worm and caterpillar movement motion

[26]-[28]. One of them is the inchworm robot [27] that mimics the motion of the pine caterpillar (Figure 1.2).

Figure 1.2: Pine caterpillar at the top left, the model of the robot at the top right and the inchworm robot [27] at the bottom.

Robots using a rolling motion and continuous track to advanced are presented at [29]-

[35]. Most of them are individual robots or links with at least one motor, that interact with each other to achieve the desired motion. One example of it is shown at Figure 1.3.

- 2 -

Figure 1.3: OUROBOT [32] uses a rolling motion. (a) Shows a close loop of 12 individual links (b). A presentation of one link with a single motor out of the 12 links in the OUROBOT.

A simple solution to control the external locomotion is the minimalistic approach [36]-

[39] which entails a small number of motors. However, this approach curtails the geometries available to the robot.

In a previous study implementing the simplistic approach [40], developed a minimalistic design for a serial robot controlled by a single mobile motor that advances over the links and changes the angles of the joints. The reconfigurable continuous track robot (RCTR) robot presented in this thesis (Figure 1.4) extends this work and is a minimally actuated track robot that can adapt its external shape as it advances. Thanks to its reconfigurable geometry, it can climb over a variety of obstacles. It is highly modular and its geometry can be altered quickly and easily. It measures 68 cm in length and weighs

2.6kg.

- 3 -

Figure 1.4: The RCTR is a newly developed robot that can change its external geometry as it advances. The RCTR is actuated by three motors; two motors provide the thrust and the third controls the shape.

This work is organized as follows. The mechanical design of the robot, the kinematic and dynamic analysis of the robot in different scenarios and determine the height of the obstacles it can overcome, experiments in which the robot is made to crawl over different surfaces and climb over a variety of obstacles. This research was published and presented in the 6th Israeli Conference on (ICR 2019) and submitted to International

Conference on Robotics and (ICRA 2020) and is currently under review.

- 4 - 2 Background

This section will review some previous attempts of designing the RCTR and their conclusions. The concept introduced by Dr. David Zarrouk was a "snake" robot that is capable of changing its shape to overcome different obstacles as shown at Figure 2.1:

Figure 2.1: The vision of the project.

Using a minimal amount of motors for less complicated control and low power consumption was the main requirement. From the start, the solution proposed to reach this motion was a continuous track locomotion with track links that contained a mechanical mechanism that was able to lock two adjacent links at a different angle to avoid multiple quantity of motors such as OUROBOT [32]. At the front of the robot the mechanism on the links interacted with another mechanism that locks the links, the robot advanced and the bottom links remain locked. When the rear of the robot reached a link, another mechanism releases the locks.

- 5 - The first attempt was made by Matan Birger. Matan built the first model of the robot including track links containing a locking mechanism and its main body as seen at Figure

2.2.

Figure 2.2: The first attempt of the RCTR design.

The main conclusion of the first attempt was that although two adjacent links can be locked at different angle, there is no way for another mechanism to reach the desired angle.

Second attempt was by Yakir Atias and Refael Hadad as they offered two design solution for the links, the first one was using a radial cam and follower mechanism in the track links

(Figure 2.3) and the second was a linear movement pin solution (Figure 2.4).

Figure 2.3: The second attempt designing the RCTR track link mechanism using a radial cam and follower. - 6 -

Figure 2.4: The second attempt designing the RCTR track link mechanism using a pin with

linear movement direction.

The radial cam and follower solution failed mainly due to the large size of the cam located in the links which led to big links. Secondly, when they tried to interact the cam with a rolling mechanism, it was difficult to rotate it exactly to the desired angle.

Yakir and Refael decided to continue working with the second track link design as they found in it great upside and later designed and produced the main body to fit the design.

Morad Karchmer continued their work as he improved the design of the track links, the main body, the locking and the releasing mechanism on the main body and installed electronics and a controller. The last version of the previous RCTR model is presented by

Figure 2.5.

Figure 2.5: The last version of the RCTR model.

- 7 - When Morad experimented with a rolling and locking design he encountered several difficulties. The first one was the location of the rolling mechanism in the middle of the main body that caused the chain to be separated from the sprocket gear. He thought that it will be more beneficial if the sprocket gear will be located at the front or at the rear of the robot which will lead to more teeth grabbing the chain on the track links. Secondly and more importantly, the locking mechanism that moves the pin to the desired location struggled to do so. The robot must stop at each link to lock it and most of the attempts to lock the links failed and the movement was not continuous.

With this background including the conclusions that were drawn we decided to redesign the robot completely from the foundations. We agreed that the locomotion concepts will stay the same but with a different design and mechanisms.

- 8 - 3 Design and Manufacturing

The RCTR is a reconfigurable track robot actuated by three motors. One motor at the front and one at the back provide thrust and the third servo motor actuates the locking mechanism located at the front of the robot. As the RCTR advances, the locking mechanism can lock the links, at positive 20 degrees or zero degrees, or leave them loose during their engagement with the front wheel. The links remain locked until they reach the unlocking mechanism located at the back wheel of the track. Thus, the bottom links can be rigidly locked to each other and the relative angle between two adjacent links is determined by the locking mechanism located in the front of the robot.

Figure 3.1: The mechanical design of the RCTR robot. Side view and isometric views of the robot.

- 9 - 3.1 Product Design Specifications

We designed the RCTR robot in different fashion from previous versions with the requirements of the design steps as followed:

• The operation and control of the robot should be as simple as possible; therefore, it is

required to have a minimal amount of motors.

• Movement and reconfigurability: the main goal of this robot is to make a track robot

that would be able to change it shape continuously.

• Modularity: the robot must be able to overcome obstacles of different sizes. The change

of the length of the robot was necessary and the robot had to be easily assembled.

• Energy: the cost of transport (COT) of the robot should be low and the robot must be

able to carry its own energy source.

3.2 Robot Design

The robot is composed of a main flexible body which contains two driving motors that provide thrust: one at the front and one at the back, a servo actuated locking mechanism at the front and a non-actuated passive unlocking mechanism at the back. The links of the tracks are specially designed such that the relative angle between adjacent links can be locked at zero or 20 degrees or left loose to rotate from negative 20 degrees to positive 45 degrees.

3.2.1 The Track Links and Locking Mechanism

A very important part of the robot is its track links. As mention throughout the specifications of the design, the robot should be minimally actuated. To do so, there won’t be a motor on each link, therefor, a sophisticated mechanism design as part of the link that interacting with the main body required. This mechanism should also allow a continuous

- 10 - movement of the robot while advancing and changing its shape. The design of the track links is shown in Figure 3.2.

Figure 3.2: The track link with the lockers.

The design of the track link includes 3 parts: the body of the link and 2 lockers, one locker on each side. Both lockers are identical though mirror one another. The link has two holes of 2 mm diameter for a joint that connects the rear and front links. Figure 3.3 shows explosion view of the link and the lockers.

Figure 3.3: Explosion view of the track link and the lockers. - 11 - The explosion view of the track link shows how the link mechanism is structured. The lockers are two hollow cylinders that each one has two pins and two followers. The followers interact with a helical cam located on the link and leads to the helical movement of the lockers to the link respectively. When a force is applied on one of the "driving pin" from negative X to positive X, the locker will rotate around Y axis and move linearly along

Y axis. If the force will apply on locker "a" the direction of the movement will be to positive

Y, and for locker "b" the movement will be to negative Y. While one of the lockers rotates as result of a force applied on the driving pin, a "locker pin" enters the "locking pin socket" of the next link. The "locking pin socket" on each side is different by their length, which allows two different angles between two links.

That design limits the relative angle between two adjacent links is from negative 20 degrees to positive 45 degrees as shown at Figure 3.4 case "C". In this case, the lockers are centered and none of the locking pins enter the locking pin socket. When locker "b" rotates and the locking pin enters to the locking pin socket of the next front link, the limits of two adjacent links is from 0 degrees to positive 45 degrees as shown at case "B". Case "C" shows the limit of positive 20 degrees to positive 45 degrees when locker "a" rotates.

- 12 -

Figure 3.4: The links of the robot and the rotating locking pin. A) The links are locked at positive 20 degrees, B) The links are locked at zero degrees, C) The links are loose.

The rotation of the lockers is available only when the relative angle between two links is positive 45 degrees. That occurs only at the front and the rear of the robot when the roller chain of the links aligns with the sprocket gears. At the front of the robot, the "locking mechanism" pushes the correct driving pin (at cases "A" and "B") or allows the links to be loose (at case "C") to reach the desire shape. In cases "A" and "B", the two links remain locked until they reach the "releasing mechanism" situated at the rear wheel of the robot.

This mechanism will be explained at section 3.2.4.

- 13 - 3.2.2 The Main Body

The main body of the robot acts like an internal flexible spine which holds the motors, the locking and releasing mechanisms, the batteries and the electronics of the robot (Figure

3.5). On the one hand, the body must apply an external force in the fore-aft direction to maintain the pressure between the sprocket gears and the roller chain and keep the track.

On the other hand, it must be flexible enough to allow the robot to change the external shape of its body. In the current design the body is composed of nine 6 cm long links connected using simple rotational joints. A 2 mm hollow 50 cm long carbon fiber rod is attached to the body at the different links to provide elastic resistance to bending.

Figure 3.5: The main body of the robot, with six main body links, that houses the driving wheels and motors, the locking and releasing mechanisms, the battery and electronics.

The main body also included a support component at the side of the main body. The support component is necessary to prevent a situation in which the main body on the bottom track links and the loose top track links on the main body collide and in turn stops the rolling motion. Figure 3.5 also shows the clutch located at the front and the rear of the robot.

The purpose of the clutch is to support the connection between the sprocket gear and the roller chain to prevent their separation.

- 14 - 3.2.3 Advancing Mechanism

The advancing mechanism including two motors located at the front and the rear of the main body. These motors flanged on the main body and roll the track links chain around it.

Two brass gears with 16 teeth and pitch of 32P attached to the 4 mm shafts of the motors.

Each gear drives an aluminum gear with 48 teeth that are connected to a sprocket with 32 teeth for a 0.25'' chain. The 0.25'' roller chain, shown at Figure 3.3, is designed as part of the track links and created by a 3D printing process. In this process, the motors roll the track links around the main body and advances the RCTR.

3.2.4 Lock and Releasing Mechanism

The locking mechanism (see Figure 3.7) is located at the front sprocket wheel gear of the track. It is actuated using a Servo Motor. Pinion Gear is attached to the shaft of the servo motor and actuated a rack. This rack is part of the "locking button" which is free to move linearly along two rods rail.

Figure 3.6: The locking mechanism. - 15 - There are 3 angles defined for the servo motor which moves the locking button from the center to either side. If the locking button is in the center, the links move passively through the mechanism and remain unlocked as in "C". If the locking button is on one of the sides, as the links rotate along the front wheel, the "driving pins" of the lockers collide with the "locking button" and lock the links at positive 20 degrees or zero degrees (for "A" and "B" respectively).

Figure 3.7: The locking mechanism located at the front of the support body. A) The locking mechanism locks the track links at positive 20º. B) the locking mechanism locks the track links in a straight angle. C) The locking mechanism does not engage the links which remain unlocked.

- 16 -

The releasing mechanism is attached to the rear wheel and passively unlocks the links as they rotate on the rear wheel by pushing their "releasing pins", located at the bottom of the lockers, to the center (Figure 3.8). Starting in "A" the locked link approaches the releasing mechanism. In "B", the rotating locking pin contacts the releasing mechanism which rotates and as a result unlocks the links. In "C" the links proceed unlocked as the robot continues advancing.

Figure 3.8: The releasing mechanism located at the rear wheel of the track. Isometric view on the left and back view on the right.

What makes the locking and releasing mechanism unique is the utilization of the advancement of the robot and the relative movement between the rolling track links and the main body. This allows a continuous movement with a minimal amount of motors.

- 17 - 3.3 Actuating and Control

The RCTR is driven using 2 motors that rotate the front and rear wheels. Although, kinematically speaking, a single motor should be sufficient, our tests showed that given the flexibility of the main body, a second motor at the back was necessary. The locking mechanism is actuated by a servo motor. All the motors are controlled by a programmable

RadioLink AT9S transmitter and its R9DS receiver. By using the programming feature of the transmitter, the duty cycle of the front and back motors can be tuned to our experimental requirements. The servo motor control operates in 3 states which define the zero, loose and positive 20 degrees configurations. The receiver and 3 motors powered by 4.8V Ni-MH

2000mAh 4 cell battery located in the third body link (the count starts from the front).

Because of the simplicity of the design, operating the RCTR with the transmitter is simple and an operator requires several hours of experience to properly control the robot.

3.4 Manufacturing

The RCTR mechanical parts are mostly manufactured using 3D printing. We used an

Objet Connex 350 3D printer whose accuracy is roughly 0.05 mm (material type VeroWhite

RGD 835) to print the track links and locking pins which require high manufacturing accuracy. The body of the robot, and the locking and unlocking mechanisms were printed using SDM technology. The design is highly modular and replacing the parts or changing the size of the robot is quick and easy (a skilled operator needs about 2 minutes to increase or decrease the length of the robot).

All designed parts were printed and assembled with ordered parts such as joints, gears, bearings, screws, nuts and etc. Motors, batteries, a receiver and electrical components were

- 18 - installed into their designated and pre-determined placements. The final version of the

RCTR with 9 body links and 42 track links is shown in the following Figure 3.9.

Figure 3.9: The final version of the RCTR.

Table 3.1 shows a general specification of the final version of the RCTR.

Table 3.1: Specifications.

Definition Variable value

Total length L 66 cm

Width W 12 cm

Minimum height H 10.4 cm

Total mass m 2.6 kg

Mass of track links mTL 50 grams

Mass of support links mSL 27 grams

Length of track links LTL 3 cm

Length of support links LSL 6 cm

Front mass MF 313 grams

Rear mass MR 217 grams

- 19 - 4 Kinematics and Dynamic Analysis

In this section, we analyze the kinematics and dynamics of the robot and present the multiple configurations within the robot's capabilities.

4.1 Kinematic Analysis

The configuration of the RCTR is a governed by the relative angles between the bottom track links, whereas the top links are loose. Figure 4.1 presents the parameters that describe the shape of the bottom track links.

Figure 4.1: The parameters that describe the shape of the bottom track links.

(k) The vector si presents the location of joint i and the matrix S represents the position of the joints at step (k).

(kk) ( ) s1  xy 1 1  s  xy  S(k ) ==2   2 2  (1)         sn  xy n n 

- 20 - Or

()k xy11  11ii xLyL++cossin  11TLjTLj ijij====1111  22ii (k )  S =++xLyL11TLjTLjcossin (2) ijij====1111     nini−−11  xLyL11++TLjTLjcossin ijij====1111  

where θj is the orientation between two adjacent links "j". As the robot advances, a single link from the back is unlocked and a new link at the front is locked. The configuration of the robot on the next step (k+1) is:

(kk+1) ( ) ss12    ss    S(k +1) ==23    (3)         ssnn  +1 

4.2 Position and Mobility of the Center of Mass

In this section, we determine the position of the center of mass (COM) and analyze the forces acting on the robot. The analysis determines the robot's ability to climb on top and over obstacles (see Figure 4.2). Because the robot can change its shape, it can move its

COM, which can be harnessed to increase the maneuverability of the RCTR. Assuming that the mass per length of the links and the support body is ρ [kg/mm], and that of the front- locking and back-releasing mechanisms have a weight of mF and mR, respectively, then the position of the center of mass xCOM is:

- 21 - n−1 ssii+1 + LmmTLFnR++ss1 i=1 2 xCOM = (4) mRCTR

The density ρ is defined as:

2m m  =+TL SL (5) LLTLSL

4.3 The Maximum Height that the Robot Can Overcome

The maximum height hmax that robot can climb is a function of the length of the robot, its density ρ, its maximum pitch angle αmax, and the weight of the front and rear mechanisms as shown in Figure 4.2.

Figure 4.2: The maximum height that the RCTR can climb as a function of the maximum

pitch angle αmax.

The maximum height can be reached when the COM is just above the last joint contact so with the horizontal surface. In this case, the sum torques around point so is zero:

- 22 - gg F LLFLL+−−= 22coscos0() ( ) (6) RrearrearFpitchpitch22

Where FF and FR are the weight of the masses at the front and rear of the robot. Using the geometric relationship:

hmax Lpitch = (7) s in (max )

and recalling that the total length of the robot is L=Lrear+Lpitch, Eq.(6) can be rewritten as a function of hmax:

2  hhhh gg2 FLLF−+−−−=maxmaxmaxmax 0 RF (8)  sin2sintan2(maxmaxmaxmaxmax) sintan ( ) ( ) ( ) ( )

Solving Eq (8). yields the maximum theoretical height that the robot can climb.

If the masses mF and mR are identical, then:

LLLL=+=+rearpitchpitch 1cos (max ) (9)

Inserting Eq. (7) into (9) we obtain:

hmax sin(max ) max ==tan (10) L 1cos2+ (max ) 

which is the maximum climbing height that the robot can achieve when the size of the links is infinitely small.

4.4 Torque Analysis

A force diagram of the robot at maximum load on the motors is presented in Figure

4.3. The force that the motors must be able to handle is the gravitational force of the links

- 23 - located at the top of the RCTR FTTL and the gravitational force of the main body FMB when there is an angle between them and the ground (θmax).

Figure 4.3: The force acting on the robot when climbing at maximum angle and the torque of the motors.

The required torque by the motor must be higher than

H TFHF  sin() +   sin ( ) (11) motors TTLmax MB 2 max

to be able to drive the RCTR. The number of links at the top of the robot is

n −8 n = TL (12) TTL 2

so, the gravitational force of the top links is:

n −8 F= n  m  g =TL  m  g (13) TTL TTL TL2 TL

- 24 - and the gravitational force of the main body is

FmMMgMBSLFR=++( ) (14)

Substituting (13) and (14) to (11), rearranging the equation and multiplying by outer with ratio of 1:3 to obtain that the torque of the motors must be

1 TgHnmmMM−+++ sin8( ) ( ) (15) motorsTLTLSLFR6 max 

Assuming that the maximum climbing angle of the top links and the main body links is θmax=80°, that there is 42 track links (the mass of the main body in that case is 773 gram) and the height of the robot is H=105mm then the minimum torque that require to drive the

RCTR in that case is 7.57 Ncm. The two selected motors have a 77.5 Ncm stall torque each which allows to roll the RCTR at slope of 80 degrees.

- 25 - 5 Simulations

A Matlab simulation was developed to simulate the robot advancement while changing its shape and facing obstacles of different types and sizes. It can be preprogrammed to advance on a specific path or be controlled by a user in real time. All the parameters, such as robot length, its weight distribution, the size of the links and the environment can be defined by the user. Flow diagram shown at Figure 5.1.

Figure 5.1: Flow diagram of the simulation.

Since the robot advances slowly, the simulation assumes that the motion is quasi-static and neglects inertial effects. Figure 5.2 shows how the RCTR can climb over a step obstacle with a minimal number of links. First, the simulation detects all the contact points with the surface and verifies that the COM is between them. As the robot advances, the simulation continuously calculates the position of the COM. In the simulation, we used the actual values of the parameters of the robot (geometry and weight).

on 11−1 MxxmxxRoTLoiiFnoTLiio−+−+−++−( 111 xMxxmx)  xx ( ++) ( ) ( ) (16) ii==1 o 22

If the COM is not between the contact points, the robot will fall. While the simulated robot falls, the simulation continuously calculates the new contact points with the surface until a new equilibrium is achieved. Figure 5.2 presents an example in which a robot fitted with 42 links climbs over an obstacle that is 26 cm in height. Starting in the horizontal configuration "A", the robot lifts its pitch by 80 degrees by consecutively locking 4 links at positive 20 degrees. Then, the robot locks 6 links at zero degrees "B", to reach the peak of

- 26 - the obstacle. Here, the robot unlocks 4 links at "C" and continues advancing as in "D" to finish climbing at "E".

Figure 5.2: Simulation of the RCTR climbing over an obstacle.

The next examples (Figure 5.3 and Figure 5.4) shows two different ways of descending a step obstacle. In Figure 5.3, the simulated robot keeps locking its links at straight angle.

The RCTR crawled towards the edge of the step "A" and "B". The front of the robot and then the rear side fell off the step aggressively after losing its balance according to (16) as it advanced "C" and "E". This case (Figure 5.3) is similar to any type of continuous track robots without reconfigurable abilities.

- 27 -

Figure 5.3: Simulation of the RCTR descending a step while locking its links on straight angle.

To avoid the aggressive drop, the robot can change its shape as shown at Figure 5.4.

The robot advanced through the edge of the step "A" and "B" and when reaching the edge, the robot loosened 4 links "C" which allowed it to land smoothly onto the low level "D".

- 28 -

Figure 5.4: Simulation of the RCTR descending a step while changing its shape.

In the next example, Figure 5.5, the simulated robot skips over a small obstacle without contacting it. First, the robot locks 3 links at 20 degrees to produce a pitch of 60 degrees.

Next, the robot loosens 6, and then locks 3 links at 20 degrees again and touches the ground.

Then, the robot continues advancing in sequence.

- 29 -

Figure 5.5: A simulation of the RCTR skipping over a small obstacle without contacting it.

The Matlab simulated RCTR examined the attempt to cross a long gap. Figure 5.6 shows the RCTR acting like a regular continuous track with the same dimension and mass distribution. After advancing toward the gap "A" and "B", the robot continues locking the links at straight angles, until falling into the gap "C".

- 30 -

Figure 5.6: The simulated robot falling into a long gap while advancing straight.

To be able to cross the gap, the RCTR must keep the COM above the high level as much as possible while the robot advances. At Figure 5.7 the simulated robot located at the edge of the gap "A", locks 4 links at 20 degrees and then keeps locking the links at straight angles "B". That caused the front side of the robot to pitch at 80 degrees which decreases the momentum of the front of the robot around the last point of contact of the robot with the ground in comparison to the previous case. When the robot is not stable anymore, the robot starts to fall and reaches the other side of the gap "C". The robot keeps locking its links at straight angles until the completion of crossing of the gap process.

- 31 -

Figure 5.7: The simulated robot seccessfully crossing a long gap by changing its shape and keeps its center of mass above the left high level. - 32 - Figure 5.8 plots the ratio of the maximum obstacle height that the robot can reach divided by the length of the robot, as a function of the number of links for four different pitch angles 20, 40, 60 and 80 degrees. The height of the obstacle increases as a function of the number of links, to converge asymptotically to the theoretical expectation as shown in Eq. (8). At 20 degrees, the maximum height ratio is 18% compared to 34% and 52% if the maximum pith is 40 and 60 degrees respectively. At the maximum pitch angle of 80 degrees, the robot can climb over an obstacle that is nearly 73% of its length. We ran our simulation for up to 4000 links and found that the convergence to the asymptotic value occurs at fewer than 100 links for 20 and 40 degrees, and at 200 for 60 degrees pitch, whereas for the case of 80 degrees it was still 11% lower. At 4000 links the error was 3%.

Figure 5.8: The maximum ratio of the height of the obstacle divided by the length of the robot as a function of the maximum climbing angle, compared to the asymptotic values from the analytical model.

- 33 - 6 Experiments

We tested the RCTR experimental prototype when crawling over different surfaces in rigid and flexible configurations, crawling down and up a step, and skipping over obstacles.

In all the experiments, the robot was controlled by a human operator (see video).

6.1 Horizontal Crawling in Rigid and Flexible Configurations on

Curved Surface

This experiment shows how the RCTR can crawl over a horizontal surface using a rigid or a loose configuration (see Figure 6.1 and video). In "A" and "B", the robot advances while the links are locked just like a regular continuous track over a non-straight surface.

In "C" and "D", the robot advances while the links are unlocked which allows the body to penetrate through the pockets of the surface. This type of crawling serves to increase the contact surface and thereby increase the friction and thrust.

Figure 6.1: The RCTR crawling on a sine surface with rigid body at "A" and "B" and flexible body at "C" and "D". - 34 - 6.2 Climbing and Descending a step obstacle

The RCTR can reach the tip of the step by pitching its front body upward by locking its links on positive 20 degrees and then locking the next links on zero degrees. As such, the robot builds its own track in the air as it advances. An experiment in which the robot climbs a step is presented in Figure 6.2. The robot starts in a horizontal configuration in

"A" and pitches up by locking 3 links to positive 20 degrees in "B". The robot continues advancing by locking the links at zero degrees to reach the tip of the obstacles in "C", then continues advancing like a regular track to finish climbing the step "D" (see video).

Figure 6.2: The robot climbing a step by locking its links and pitching upwards.

- 35 - One of the unique capabilities of the RCTR is that it can crawl smoothly down a step by unlocking its links while advancing. In the experiment presented in Figure 6.3, the

RCTR simply advances without unlocking its links and smoothly descends the step without any collisions with the ground (see video).

Figure 6.3: The RCTR smoothly descending a step.

- 36 - 6.3 Skipping over Obstacles and gaps

Another unique capability of the RCTR is that it can skip over obstacles without contacting them. In Figure 6.4, the robot starts advancing in "A". In "B", the robot starts pitching up its front links by 40 degrees (2 links in a row). Then the robot continues crawling with its links loose and continues advancing in "C" and "D" without contacting the rod at all.

Figure 6.4: RCTR passing over an object without touching it.

In the next experiment, the robot skips over a 30 cm long gap that is nearly half of its length (the length of the robot is 66 cm). The robot pitches up its links by 40 degrees and continues locking its links straight until it reaches the tip of the other edge and continues advancing.

- 37 -

Figure 6.5: The RCTR skipping over a 30 cm long gap.

6.4 Running Over a Variety of Surfaces

Finally, we tested the robot outdoors on a variety of surfaces as shown at Figure 6.6.

The robot successfully crawled over grass, gravel, sand and rocky inclines. The robot also climbed over stones and concrete obstacles (see video).

- 38 -

Figure 6.6: RCTR crawling over challenging surfaces in unstructured environments.

- 39 - 7 Conclusions

In this research we presented a novel reconfigurable continuous minimally actuated track robot (RCTR). The robot is actuated by 3 motors: two motors for driving the track and a third motor to change the shape. The RCTR changes the relative angle of the lower links in contact with the surface and locks them as it advances. The links are released at the rear as the robot advances. As a result, the RCTR can be used as a regular track or its shape can be changed to overcome different obstacles.

We developed an analytical model and a numerical simulation to analyze the position of the center of mass and the robot's crawling capabilities such as the maximum height for a given robot size and number of links. The numerical simulation showed that by decreasing the number of links, the robot can climb over larger obstacles. The results were implemented in the design the experimental robot.

The experimental robot which we developed is composed of 42 track links and measures 66 cm in length. The robot is capable of climbing over obstacles, skipping over obstacles without contacting them, can softly descend steps by lowering its pitch and climb over large obstacles by lifting its pitch. Although kinematically speaking only a single motor is required for propulsion, we found during the experiments that in order to function properly, a second motor had to be added at the rear to produce propulsion.

The future goals are to develop a locomotion planning algorithm for handling different obstacles and investigate new mechanisms to include .

- 40 - 8 References

[1] J. T. Karras, C. L. Fuller, K. C. Carpenter, A. Buscicchio, D. McKeeby, C. J. Norman,

C.E. Parcheta, I. Davydychev, and R. S. Fearing, Pop-up Mars Rover with Textile-

Enhanced Rigid-Flex PCB Body, IEEE Int. Conf. Robotics and Automation,

Singapore, May 2017.

[2] Y. S. Kim, G. P. Jung, H. Kim, K. J. Cho, and C. N. Chu, “Wheel Transformer: A

Wheel-Leg Hybrid Robot with Passive Transformable Wheels”, IEEE trans. On

Robotics, Vol. 30, N6, pp. 1487-1498, 2014.

[3] M. J. Spenko, G. C. Haynes, J. A. Saunders, M. R. Cutkosky, A. A Rizzi, R. J. Full,

and D. E. Koditschek, “Biologically Inspired Climbing with a Hexapedal Robot,”

Journal of Field Robotics, Vol. 25, No. 4, 2008.

[4] N. Tan, R. E. Mohan, and K. Elangovan, “Scorpio: A Biomimetic Reconfigurable

Rolling-Crawling Robot”, International Journal of Advanced Robotic Systems, DOI:

10.1177/1729881416658180, 2016.

[5] Y. Tian, D. Zhang, Y.A. Yao, X. Kong, and Y. Li, “A reconfigurable multi-mode

mobile parallel robot”, Mechanism and Machine Theory, Vol. 11, pp. 39-652017 –

[6] W. Ding, T. Detert, B. Corves, and Y. A. Yao, Reconbot: A Reconfigurable Rescue

Robot Composed of Serial-Parallel Hybrid Upper Humanoid Body and Track Mobile

Platform, New Advances in Mechanisms, Mechanical Transmissions and Robotics,

Vol. 46 pp. 241-249.

[7] S. C. Chen, K. J. Huang, W. H. Chen, S. Y. Shen, C. H. Li, and P. C. Lin, “Quattroped:

A Leg–Wheel Transformable Robot”, IEEE/ASME trans. On Mechatronics, Vol. 19,

No. 2, 2014.

[8] M. Arai, Y. Tanaka, H. Kuwahara, S. Tsukui, and S. Hirose, “Development of Souryu-

- 41 - IV and Souryu-V: Serially connected crawler for in rubble searching

operations”, Journal of Field Robotics Vol. 25, No. 1, pp. 31-65, 2008

[9] K. Suzuki, A. Nakano, G. Endo, and S. Hirose, “Development of multi-wheeled snake-

like rescue robots with active elastic trunk”, IEEE, IROS, 2012.

[10] Y. Sun, and S. Ma, “Decoupled Kinematic Control of Terrestrial Locomotion for an

ePaddle-Based Reconfigurable Amphibious Robot”, IEEE International Conference

on Robotics and Automation, pp. 1223-1228, 2011.

[11] D. Zarrouk, and L. Yeheskel, “Rising STAR, a highly reconfigurable sprawl tuned

autonomous robot”, IEEE, Robotics and Automation Letters. Vol. 3, No.3, pp. 1888-

1895, 2014. DOI. 10.1109/LRA.2018.2805165.

[12] K. Tadakuma, R. Tadakuma, A. Maruyama, et al. “Mechanical design of the wheel-

leg hybrid to realize a large wheel diameter”, IEEE/RSJ International

Conference on Intelligent Robots and Systems, pp. 3358–3365, 2010.

[13] S. Yokota, K. Kawabata, P. Blazevic, et al. “Control law for rough terrain robot with

leg-type crawler”. IEEE International conference on mechatronics and automation, pp.

417–422, 2006.

[14] F. Michaud, D. Letourneau, M. Arsenault, et al., “Multi-modal locomotion robotic

platform using leg-track-wheel articulations”, Autonomous Robots, 137–156, 2005.

[15] H. Kimura, K. Shimizu, and Shigeo Hirose, "Development of Genbu: Active-Wheel

Passive-Joint Snake-Like Mobile Robot". Journal of Robotics and Mechatronics, Vol.

16, No. 3, 2004.

[16] J. Ostrowski, J. Burdick, "Gait kinematics for a Serpentine Robot", Proceedings of the

IEEE International Conference on Robotics and Automation, 1996.

[17] M. Mori, S. Hirose, "Locomotion of 3D Snake-Like robots – Shifting and rolling

Control of Active Cord Mechanism ACM-R3". Journal of Robotics and Mechatronics.

vol. 18, no. 5. 2006.

- 42 - [18] G. Chirikjian, J.W. Burdick, "The Kinematics of Hyper-Redundant Robot

Locomotion", IEEE Trans. On Robotics and Automation, vol. 11, no. 6, 1995.

[19] J.W. Burdick, J. Radford, and G.S. Chirikjian, "Sidewinding Locomotion Gait for

Hyper redundant robots". Advanced Robotics, vol. 9, no. 3, pp 195-216, 1995.

[20] Z. Lu, S. Ma, B. Li, and Y. Wang, "3D Locomotion of a Snake-Like Robot Controlled

by Cyclic Inhibitory CPG Model". Proceedings of the International Conference on

Intelligent Robots and Systems, 2006.

[21] S. Hirose, and E.F. Fukushima, "Snakes and Strings: New Robotics Components for

Rescue Operations". International Journal of Robotics Research, vol. 23, pp. 341-349,

2004.

[22] A. Wolf, H. Choset, H.B. Brown, R. Casciola, "Design and Control of a Mobile Hyper-

Redundant Urban Search and ", International Journal of Advanced

Robotics, vol 19 (8) pp.221-248, 2005.

[23] New Z. Bing, L. Cheng, K. Huang, M. Zhou, and A. Knoll, “CPG-based control of

smooth transition for body shape and locomotion speed of a snake-like robot,” in 2017

IEEE International Conference on Robotics and Automation (ICRA), 2017, pp. 4146-

4153.

[24] M. Yim, D. Duff, and K. Roufas, “PolyBot: A modular reconfigurable robot,”

presented at the IEEE Int. Conf. Robotics and Automation, 2000.

[25] S. Murata, E. Yoshida, A. Kamimura, H. Kurokawa, K. Tomita, and S. Kokaji, “M-

TRAN: Self-reconfigurable modular robotic system,” IEEE/ASME Trans. Mech., vol.

7, no. 4, pp. 431–441. 2002.

[26] J. Koh and K. Cho, “Omegabot: Crawling robot inspired by Ascotis Selenaria,” in Proc.

IEEE Int. Conf. Robot. Autom., May 2010, pp. 109–114.

- 43 - [27] W. Wang, Y. Wang, K. Wang, H. Zhang, and J. Zhang, “Analysis of the kinematics of

module climbing caterpillar robots”, in Proc. IEEE/ASME International conference

Adv. Intelligent Mechatronics, Jul. 2008, pp. 84–89.

[28] Hayato Omori, Takeshi Hayakawa and Taro Nakamura, “Locomotion and Turning

Patterns of a Peristaltic Crawling Earthworm Robot Composed of Flexible Units”, in

Proc. IEEE/RSJ Intl. Conf. Intelligent Robots and Systems, 2008, pp. 1630-1635.

[29] H. Wei, Y. Cai, H. Li, D. Li, and T. Wang, “Sambot: A self-assembly modular robot

for swarm robot,” in Proc. IEEE Int. Conf. Robot. Autom., May 2010, pp. 66–71

[30] J. Sastra, S. Chitta and M. Yim, “Dynamic Rolling for a Modular Loop Robot,” Intl. J.

of Robotics Research, submitted, 2007

[31] J. Paskarbeit, S. Beyer, A. Gucze, J. Schroder, M. Wiltzok, M. Fin- gberg, and A.

Schneider, “Ourobot-a self-propelled continuous-trackrobot for rugged terrain,” in

Robotics and Automation (ICRA), 2016 IEEE International Conference on. IEEE,

2016, pp. 4708–4713.

[32] Jinguo Liu, Yuechao Wang, Shugen Ma, Bin Li, "Analysis of Stairs- Climbing Ability

for a Tracked Reconfigurable Modular Robot" Proc. IEEE International Workshop on

Safety, Security and Rescue Robotics, 2005.

[33] Hitoshi Miyanaka, Fumitoshi Matsuno, et al., "Development of an unit type robot

'KOHGA2' with stuck avoidance ability", Proceedings of the 2007 IEEE International

Conference on Robotics and Automation, pp.3877-3882, 2007.

[34] H. Prahlad, R. Pelrine, S. Stanford, J. Marlow, and R. Kornbluh, “Electroadhesive

robots-wall climbing robots enabled by a novel, robust, and electrically controllable

adhesion technology,” in Proc. IEEE Int. Conf. Robot. Autom., May 19–23, 2008, pp.

3028–3033.

[35] EE 125 Robot Snake, 2012. [Online]. Available:

https://sites.google.com/site/ee125robotsnake/home

- 44 - [36] D. Zarrouk, M. Mann, N. Degani, T. Yehuda, N. Jarbi, and A. Hess, “Single actuator

wave-like robot (SAW): Design, modeling, and experiments,” Bioinspiration and

Biomimetics, vol. 11, no. 4. 2016.

[37] D. Zarrouk, and M. Shoham, "Analysis and design of a one DOF worm robots for

locomotion on rigid and compliant terrain". ASME Journal of Mechanical Design, Vol.

134, No. 2, 021010, 2012.

[38] L. Drori, and D. Zarrouk, “Locomotion dynamics of a miniature wave-like robot,

modeling and experiments”, IEEE Int. Conf. Robotics and Automation, 2019.

[39] D. Shachaf, and D. Zarrouk, "RSAW, A Highly Reconfigurable Wave Robot:

Analysis, Design and Experiments", IEEE Robotics and Automation Letters, 2019,

DOI: 10.1109/LRA.2019.2932583.

[40] M.P. Mann, L. Damti, G. Tirosh, and D. Zarrouk, “Minimally actuated serial robot”,

Robotica, Vol. 36, No. 3, pp. 408-426, 2019.

9 Appendices

[A] Movie Clip of the Simulations and Experiments Performed with the Robot

Please scan the QR code

for a link to the video.

- 45 - [B] Matlab Code of the Simulation

• Main Program

Main.m:

%Main close all, clear F set(0,'DefaultfigureColor',[1 1 1]) groundchoose=input('Which surface would you like to choose? '); if groundchoose==1 groundx=0:0.1:200; groundy=zeros(1,2001); end if groundchoose==2 [groundx,groundy]=lowsin; end if groundchoose==3 [groundx,groundy]=stepanddrop; end if groundchoose==4 [groundx,groundy]=pit; end if groundchoose==5 [groundx,groundy]=highsin; end if groundchoose==6 [groundx,groundy]=ramp; end if groundchoose==7 [groundx,groundy]=invertz; end if groundchoose==8 [groundx,groundy]=long; end if groundchoose==9 [groundx,groundy]=pit2; end if groundchoose==10 [groundx,groundy]=pit3; end if groundchoose==11 [groundx,groundy]=pit4; end if groundchoose==12 [groundx,groundy]=stepstep; end if groundchoose==13 [groundx,groundy]=zzz; end if groundchoose==14 [groundx,groundy]=invertz2; end if groundchoose==15 [groundx,groundy]=invertz3; end if groundchoose==16 [groundx,groundy]=gap1; end

L=3;

- 46 - % L=input('What is the length of the link? '); n=input('How many links in the bottom of the caterpilar? '); shape=zeros(n+1,3); for iii=2:n+1 shape(iii,1)=shape(iii-1,1)+L; end p=plotRCTR(groundx,groundy,shape,n); p; giftime=0.1; gif('RCTR_Simulation.gif','DelayTime',giftime,'frame',gcf) angle=input('Press "8" for plus 20 degree, "5" for 0 degree and "2" for minus 20 degree. Else to quit: '); while angle==2 || angle==5 || angle==8

if angle~=2 && angle~=5 && angle~=8 break; end

shape=stepforward(shape,L,angle);

if crossing(shape,groundx,groundy,n+1)==1 while touching(shape(n+1,1),shape(n+1,2),groundx,groundy)==0 lpt=teftpointouching(shape,groundx,groundy); shape=rotate(shape,lpt,0); end end

rpt=rightpointouching(shape,groundx,groundy); lpt=teftpointouching(shape,groundx,groundy);

gifcount=1; gravitytime=1; gif('DelayTime',0.005) while centerofmassout(shape,rpt,1)==1 shape=rotate(shape,rpt,1); rpt=rightpointouching(shape,groundx,groundy); if gifcount==gravitytime plotRCTR(groundx,groundy,shape,n); p; gif; gifcount=1; gravitytime=gravitytime*2; end gifcount=gifcount+1; end

gifcount=1; gravitytime=1; gif('DelayTime',0.005) while centerofmassout(shape,lpt,0)==0 shape=rotate(shape,lpt,0); lpt=teftpointouching(shape,groundx,groundy); if gifcount==gravitytime plotRCTR(groundx,groundy,shape,n); p; gif; gifcount=1; gravitytime=gravitytime*2; end gifcount=gifcount+1;

- 47 - end

p=plotRCTR(groundx,groundy,shape,n); p; gif; gif('DelayTime',giftime)

angle=input('Press "8" for plus 20 degree, "5" for 0 degree and "2" for minus 20 degree. Else to quit: '); end

• Functions: plotRCTR.m: function p=plotRCTR(groundx,groundy,shape,n) for iii=1:n+1 toplinks(iii,1)=shape(iii,1)-10*sin(shape(iii,3)); toplinks(iii,2)=shape(iii,2)+10*cos(shape(iii,3)); end halfcount=1; for iii=1:1:n+1 toplinksprint(halfcount,1)=toplinks(iii,1); toplinksprint(halfcount,2)=toplinks(iii,2); halfcount=halfcount+1; end for iii=1:n+1 supportlinks(iii,1)=(toplinks(iii,1)+shape(iii,1))/2; supportlinks(iii,2)=(toplinks(iii,2)+shape(iii,2))/2; end halfcount=1; for iii=1:2:n+1 supportlinksprint(halfcount,1)=supportlinks(iii,1); supportlinksprint(halfcount,2)=supportlinks(iii,2); halfcount=halfcount+1; end frontlinks(1,1)=shape(n,1); frontlinks(1,2)=shape(n,2); frontlinks(2,1)=shape(n+1,1); frontlinks(2,2)=shape(n+1,2); for iii=3:5 frontlinks(iii,1)=frontlinks(iii- 1,1)+(10/(1+(2/sqrt(2))))*cos(shape(n+1,3)+(pi/4)*(iii-2)); frontlinks(iii,2)=frontlinks(iii- 1,2)+(10/(1+(2/sqrt(2))))*sin(shape(n+1,3)+(pi/4)*(iii-2)); end frontlinks(6,1)=(toplinks(n,1)+toplinks(n+1,1))/2; frontlinks(6,2)=(toplinks(n,2)+toplinks(n+1,2))/2; rearlinks(1,1)=(toplinks(2,1)+toplinks(1,1))/2; rearlinks(1,2)=(toplinks(2,2)+toplinks(1,2))/2; rearlinks(2,1)=toplinks(1,1); rearlinks(2,2)=toplinks(1,2); for iii=3:5 rearlinks(iii,1)=rearlinks(iii-1,1)- (10/(1+(2/sqrt(2))))*cos(shape(1,3)+(pi/4)*(iii-2));

- 48 - rearlinks(iii,2)=rearlinks(iii-1,2)- (10/(1+(2/sqrt(2))))*sin(shape(1,3)+(pi/4)*(iii-2)); end rearlinks(6,1)=(shape(2,1)+shape(1,1))/2; rearlinks(6,2)=(shape(2,2)+shape(1,2))/2; mr(1)=(supportlinks(1,1)+2*supportlinks(2,1))/3; mr(2)=(supportlinks(1,2)+2*supportlinks(2,2))/3; mf(1)=(supportlinks(n+1,1)+2*supportlinks(n,1))/3; mf(2)=(supportlinks(n+1,2)+2*supportlinks(n,2))/3; p=plot(groundx,groundy,'r',shape(:,1),shape(:,2),'b',smooth(toplinksprin t(:,1),5),smooth(toplinksprint(:,2),5),'b',supportlinksprint(:,1),suppor tlinksprint(:,2),'k',frontlinks(:,1),frontlinks(:,2),'b',rearlinks(:,1), rearlinks(:,2),'b',mf(1),mf(2),'g.',mr(1),mr(2),'g.'); axis equal; axis([0 200 -50 50]); grid on; xlabel('X cm'); ylabel('Z cm'); %legend('Ground','RCTR'); set(p(1),'linewidth',2); set(p(2),'linewidth',6); set(p(3),'linewidth',6); set(p(4),'linewidth',4); set(p(5),'linewidth',6); set(p(6),'linewidth',6); set(p(7),'MarkerSize',90); set(p(8),'MarkerSize',90); centerofmassout.m: function centerofmass=centerofmassout(shape,pt,r1l0) centerofmass=2; rightr=0; leftr=0; rightl=0; leftl=0; if r1l0==1 for iii=2:size(shape(:,1),1) if iii<=pt leftr=leftr+abs(shape(pt,1)-((shape(iii- 1,1)+shape(iii,1))/2)); else rightr=rightr+abs(shape(pt,1)-((shape(iii- 1,1)+shape(iii,1))/2)); end end leftr=leftr+(abs(shape(pt,1)-(shape(1,1))))*((1/(50+50+13.5))*217); %rear mass = 217g rightr=rightr+(abs(shape(pt,1)- (shape(1,1))))*((1/(50+50+13.5))*313); %front mass = 313g if rightr>=leftr centerofmass=1; end end if r1l0==0 for iii=2:size(shape(:,1),1) if iii<=pt leftl=leftl+abs(shape(pt,1)-((shape(iii- 1,1)+shape(iii,1))/2)); else

- 49 - rightl=rightl+abs(shape(pt,1)-((shape(iii- 1,1)+shape(iii,1))/2)); end end leftl=leftl+(abs(shape(pt,1)-(shape(1,1))))*((1/(50+50+13.5))*217); %rear mass = 217g rightl=rightl+(abs(shape(pt,1)- (shape(1,1))))*((1/(50+50+13.5))*313); %front mass = 313g if leftl>=rightl centerofmass=0; end end crossing.m: function cross=crossing(shape,groundx,groundy,n) cross=0; for iii=1:size(groundx,2) if abs(shape(n,1)-groundx(iii))<0.1 && shape(n,2)-groundy(iii)<-0.1 cross=1; return end if groundx(iii)-shape(n,1)>0.6 return end end rightpointouching.m: function rpt=rightpointouching(shape,groundx,groundy) rows=size(shape,1); for iii=rows:-1:1 for jjj=1:size(groundx,2) if abs(shape(iii,1)-groundx(jjj))<0.1 && abs(shape(iii,2)- groundy(jjj))<0.1 rpt=iii; return end end end rotate.m: function newshape=rotate(shape,tp,r1l0) x_center = shape(tp,1); y_center = shape(tp,2); center = repmat([x_center; y_center], 1, length(shape(:,1))); theta = pi*0.2/180; if r1l0==1 theta=-theta; end R = [cos(theta) -sin(theta); sin(theta) cos(theta)]; newshape = R*(shape(:,1:2)' - center) + center; newshape=newshape'; for iii=1:length(shape(:,1)) newshape(iii,3)=shape(iii,3)+theta; end stepforward.m: function newshape=stepforward(shape,L,angle)

- 50 - rows=size(shape,1); if angle==8 shape(rows+1,3)=shape(rows,3)+20*pi/180; end if angle==5 shape(rows+1,3)=shape(rows,3)+0; end if angle==2 shape(rows+1,3)=shape(rows,3)-20*pi/180; end shape(rows+1,1)=shape(rows,1)+L*cos(shape(rows+1,3)); shape(rows+1,2)=shape(rows,2)+L*sin(shape(rows+1,3)); shape(1,:)=[]; newshape=shape; end teftpointouching.m: function lpt=teftpointouching(shape,groundx,groundy) rows=size(shape,1); for iii=1:rows for jjj=1:size(groundx,2) if abs(shape(iii,1)-groundx(jjj))<0.1 && abs(shape(iii,2)- groundy(jjj))<0.1 lpt=iii; return end end end

touching.m: function touch=touching(x,y,groundx,groundy) touch=0; for iii=1:size(groundx,2) if abs(x-groundx(iii))<0.1 && abs(y-groundy(iii))<0.1 touch=1; return end if groundx(iii)-x>0.6 return end end

• Surfaces and obstacles highsin.m: function [groundx,groundy]=highsin x1=0:0.01:39.99; y1=zeros(1,4000); x2=40:0.01:200; y2=10*sin(x2); groundx=[x1,x2]; groundy=[y1,y2]; - 51 - end invertz.m: function [groundx,groundy]=invertz x1=0:0.1:99.9; y1=zeros(1,1000); x2=100:-0.1:80; y2=100-x2; x3=80:0.1:199.9; y3=20*ones(1,1200); groundx=[x1,x2,x3]; groundy=[y1,y2,y3]; end

invertz2.m: function [groundx,groundy]=invertz2 x1=0:0.1:119.9; y1=zeros(1,1200); x2=120:-0.1:94; y2=120-x2; x3=94:0.1:229.9; y3=26*ones(1,1360); groundx=[x1,x2,x3]; groundy=[y1,y2,y3]; end invertz3.m: function [groundx,groundy]=invertz3 x1=0:0.1:104.9; y1=zeros(1,1050); x2=105:-0.1:79; y2=105-x2; x3=79:0.1:229.9; y3=26*ones(1,1510); groundx=[x1,x2,x3]; groundy=[y1,y2,y3]; end long.m: function [groundx,groundy]=long x1=0:0.1:99.9; y1=zeros(1,1000); x2=0:0.1:2.9; y2=x2*2; x3=0:0.1:2.9; y3=x3*(-2); x4=0:0.1:49.9; y4=zeros(1,500); x5=ones(1,100); y5=0:0.1:9.9; x6=0:0.1:9.9; y6=ones(1,100); x7=ones(1,100); y7=10:-0.1:0.1; x8=0:0.1:79.9; y8=zeros(1,800); x9=20:-0.1:0.1;

- 52 - y9=20-x9; x10=0:0.1:49.9; y10=20*ones(1,500); x11=0:0.1:29.9; y11=zeros(1,300); groundx=[x1,x2+100,x3+103,x4+106,x5*(106+50),x6+(106+50),x7+165,x8+166,x 9+226,x10+226,x11+300]; groundy=[y1,y2,y3+6,y4,y5,y6*10,y7,y8,y9,y10,y11]; end lowsin.m: function [groundx,groundy]=lowsin x1=0:0.01:39.99; y1=zeros(1,4000); x2=40:0.01:200; y2=sin(0.3*x2); groundx=[x1,x2]; groundy=[y1,y2]; end pit.m: function [groundx,groundy]=pit x1=0:0.1:49.9; y1=zeros(1,500); x2=50*ones(1,200); y2=0:-0.1:-19.9; x3=50:0.1:63.9; y3=-20*ones(1,140); x4=64*ones(1,200); y4=-20:0.1:-0.1; x5=64:0.1:110; y5=zeros(1,461); groundx=[x1,x2,x3,x4,x5]; groundy=[y1,y2,y3,y4,y5]; end pit2.m: function [groundx,groundy]=pit2 x1=0:0.1:99.9; y1=zeros(1,1000); x2=100*ones(1,200); y2=0:-0.1:-19.9; x3=100:0.1:121.9; y3=-20*ones(1,220); x4=122*ones(1,200); y4=-20:0.1:-0.1; x5=122:0.1:200; y5=zeros(1,781); groundx=[x1,x2,x3,x4,x5]; groundy=[y1,y2,y3,y4,y5]; end pit3.m: function [groundx,groundy]=pit3 x0=0:0.1:4.9; y0=zeros(1,50); x1=0:0.1:77.9;

- 53 - y1=zeros(1,780); x2=78*ones(1,200); y2=0:-0.1:-19.9; x3=78:0.1:110.9; y3=-20*ones(1,330); x4=111*ones(1,200); y4=-20:0.1:-0.1; x5=111:0.1:186; y5=zeros(1,751); groundx0=[x1,x2,x3,x4,x5]+5; groundy0=[y1,y2,y3,y4,y5]; groundx=[x0,groundx0]; groundy=[y0,groundy0]; end pit4.m: function [groundx,groundy]=pit4 x1=0:0.1:78.9; y1=zeros(1,790); x2=79*ones(1,200); y2=0:-0.1:-19.9; x3=79:0.1:111.9; y3=-20*ones(1,330); x4=112*ones(1,200); y4=-20:0.1:-0.1; x5=112:0.1:212; y5=zeros(1,1001); groundx=[x1,x2,x3,x4,x5]; groundy=[y1,y2,y3,y4,y5]; end ramp.m: function [groundx,groundy]=ramp x1=0:0.01:69.99; y1=zeros(1,7000); x2=70:0.01:220; y2=x2*0.2-14; groundx=[x1,x2]; groundy=[y1,y2]; end stepanddrop.m: function [groundx,groundy]=stepanddrop x1=0:0.1:29.9; y1=zeros(1,300); x2=30*ones(1,40); y2=0:0.1:3.9; x3=30:0.1:34.9; y3=4*ones(1,50); x4=35*ones(1,80); y4=4:-0.1:-3.9; x5=35:0.1:38.9; y5=-4*ones(1,40); x6=39*ones(1,40); y6=-4:0.1:-0.1; x7=39:0.1:60; y7=zeros(1,211); groundx=[x1,x2,x3,x4,x5,x6,x7]; groundy=[y1,y2,y3,y4,y5,y6,y7]; end

- 54 - stepstep.m: function [groundx,groundy]=stepstep x1=0:0.1:79.9; y1=zeros(1,800); x2=80*ones(1,40); y2=0:0.1:3.9; x3=80:0.1:84.9; y3=4*ones(1,50); x4=85*ones(1,40); y4=4:-0.1:0.1; x5=85:0.1:164.9; y5=zeros(1,800); groundx=[x1,x2,x3,x4,x5]; groundy=[y1,y2,y3,y4,y5]; end zzz.m: function [groundx,groundy]=zzz x1=0:0.1:99.9; y1=zeros(1,1000); x2=100:-0.1:80; y2=-100+x2; x3=80:0.1:199.9; y3=-20*ones(1,1200); groundx=[x1,x2,x3]-30; groundy=[y1,y2,y3]; end

[C] Equipment and Materials

Transmitter and Receiver http://www.radiolink.com.cn/doce/product-detail-119.html http://www.radiolink.com.cn/doce/product-detail-120.html

- 55 -

DC Motor https://www.pololu.com/product/3456/specs

- 56 -

Servo Motor https://www.pololu.com/product/2145/specs

- 57 -

Sprocket Wheel Gear https://www.servocity.com/0-770-aluminum-hub-mount-sprockets-0-250-pitch

- 58 -

- 59 - תקציר

מחקר זה עוסק בפיתוח רובוט זחל משנה צורה בהנעה מינימאלית. הרובוט מסוגל לשנות את צורתו הגיאומטרית בעת התקדמותו וזה מאפשר לו לזחול על גבי משטחים שונים ולעבור מכשולים. הרובוט מצויד במנועי הנעה רגילים ונע בצורת זחלן כאשר בקדמתו ממוקם מנגנון נעילה. חוליות הזחל מתוכננות בצורה ייחודית המאפשרת להן להינעל בזווית חיובית של 20 מעלות, זווית של 0 מעלות )זווית שטוחה( או בזווית שלילית של 20 מעלות ביניהן כאשר הן נמצאות בחלקו הקדמי של הרובוט ומגיעות לאינטראקציה עם מנגנון הנעילה. בחלקו האחורי של הרובוט ממוקם מנגנון שחרור פאסיבי שתפקידו לשחרר כל צמד חוליות מהנעילה ביניהן. כתוצאה מכך, כל החוליות בתחתית הזחל נעולות והחוליות העליונות משוחררות מנעילה.

ראשית, מוצגת סקירה ספרותית על רובוטים זוחלים ומשני צורה. בנוסף, מתואר הרעיון המרכזי של תנועת הרובוט והדרישות העיקריות. בעבר היו ניסיונות לתכנון רובוט זה אך אינן נחלו הצלחה. התקבלה ההחלטה להתחיל את המחקר והפיתוח מראשיתו בהתחשב במסקנות הניסיונות הקודמים.

בהמשך, מוצג תכן הרובוט ומנגנוניו. כחלק מחלק זה מתוארים חוליות הזחלן, הגוף הראשי של הרובוט, המנגנונים והרכיבים האלקטרוניים המותקנים בגוף הרובוט. החלקים המתוכננים הודפסו במדפסת תלת ממד והורכבו יחד עם רכיבים נוספים שהוזמנו. מנועים, בטריות ומקלט הותקנו על גבי הגוף הראשי של הרובוט. ביצועי הרובוט היו בהתאם לציפיות והאינטראקציה של המנגנונים אחד עם השני פעלו באופן תקין.

בנוסף, בוצע מידול קינטי ותוכננה סימולציה לבחינת הרובוט במעבר מכשולים בצורות שונות. פותח מודל שאינו כולל אינרציה כדי לבחון את התנהגות הרובוט ברובוט בעת מעבר מכשולים ושיפועים שונים. המודל יושם בתוכנת מטלב אשר מציגה את תנועת הרובוט בזמן אמת ומאפשרת למשתמש לשלוט בו ולבחון אותו. הסימולציה סיפקה נתונים משמעותיים לגבי יכולותיו של הרובוט במעבר מכשולים.

לבסוף, מוצגים מספר ניסויים שמראים כיצד רובוט זה צולח מכשולים שונים. הניסויים מראים שהרובוט מסוגל לעבור מכשולים באופן זהה לזו שסיפקה הסימולציה כדוגמת טיפוס על מדרגה גבוהה, מעבר מעל מכשול מבלי לגעת בו ומעבר מרווח ארוך יותר ממחצית אורכו של הרובוט. בנוסף, הרובוט נבחן בתנאי סביבה שונים מחוץ למעבדה. הרובוט הצליח לזחול במשטחים מאתגרים כגון אבנים, חול ודשא.

אלול תשע"ט ספטמבר 2019

אוניברסיטת בן גוריון בנגב

הפקולטה למדעי ההנדסה

המחלקה להנדסת מכונות

רובוט זחל משנה צורה

חיבור זה מהווה חלק מהדרישות לקבלת תואר מגיסטר בהנדסה

מאת: טל קיסלסי

מנחה: ד"ר דוד זרוק

מחברת: טל קיסלסי תאריך: 26.9.2019

מנחה: דוד זרוק תאריך: 26.9.2019

אישור יו"ר ועדת תואר שני מחלקתית: ______תאריך: 24.12.19______

אלול תשע"ט ספטמבר 2019

אוניברסיטת בן גוריון בנגב

הפקולטה למדעי ההנדסה

המחלקה להנדסת מכונות

רובוט זחל משנה צורה

חיבור זה מהווה חלק מהדרישות לקבלת תואר מגיסטר בהנדסה

מאת: טל קיסלסי

מנחה: ד"ר דוד זרוק

אלול תשע"ט ספטמבר 2019