Cite this ArticleCopy Citation | Download Citations | Reprints and Permissions
Schiller, L., Seibel, A., Schlattmann, J. Manufacturing, Control, and Performance Evaluation of a Gecko-Inspired Soft Robot. J. Vis. Exp. (160), e61422, doi:10.3791/61422 (2020).
This protocol presents a method for manufacturing, control, and evaluation of the performance of a soft robot that can climb inclined flat surfaces with slopes of up to 84°. The manufacturing method is valid for the fast pneunet bending actuators in general and might, therefore, be interesting for newcomers to the field of actuator manufacturing. The control of the robot is achieved by means of a pneumatic control box that can provide arbitrary pressures and can be built by only using purchased components, a laser cutter, and a soldering iron. For the walking performance of the robot, the pressure-angle calibration plays a crucial role. Therefore, a semi-automated method for the pressure-angle calibration is presented. At high inclines (> 70°), the robot can no longer reliably fix itself to the walking plane. Therefore, the gait pattern is modified to ensure that the feet can be fixed on the walking plane.
The interaction between humans and machines is becoming constantly closer. The increasing robot density in companies and households poses new challenges for the robot technology. Frequently, dangers are excluded by separation methods, but in many areas, especially in households, this is not a satisfactory solution. Soft robotics tackles this problem by using properties of soft materials and structures to develop new types of machines that behave like living organisms1, which is why soft robots are often inspired by biological models2. Most soft robots can be classified into two different types: mobile robots and robots designed for gripping and manipulation3. For soft mobile robots, typical locomotion principles are crawling, walking, running, jumping, flying, and swimming4. Another interesting field of application for soft robots is climbing – a combination of locomotion and adhesion5. Soft machines are very robust and cannot damage their surroundings due to their softness. This characteristic predestines this robot class for climbing, as they can easily survive a fall. Consequently, the literature offers several examples of soft robots capable of climbing6,7,8.
The goal of this protocol is to provide a method to manufacture, control, and evaluate the performance of a gecko-inspired, climbing soft robot9. Its design is based on the use of fast pneunet soft bending actuators10 made of elastomer. However, another soft actuator design and/or material could also be used. The literature offers a wide range of different designs of soft actuators11 and suitable materials12. The presented manufacturing method is similar to existing methods13 but includes some modifications that result in increased repeatability and robustness, at least in the case of the soft climbing robot9. The method is valid for fast pneunet bending actuators in general and might, therefore, be interesting for newcomers to the field of actuator manufacturing.
For controlling pneumatic actuated soft robots, the literature provides different solutions. It ranges from low-cost and easy-to-replicate control boards13 to powerful but more complex boards14, which cannot be rebuilt without special tools. Here, a brief description is provided for building a pneumatic control box by only using a laser cutter and a soldering iron. The control box allows the supply of any pressure and offers real-time sensory feedback, which is especially important for robotics applications. However, it can also be used for many other applications.
1. Printing of molds
- Download the *.stl data for molds from the Supplementary Data 1 “CAD/Moulds/”.
- Use the printer-specific slicing software to convert the 3D models into a print job.
- Print the molds using a 3D printer.
- Clean the printed molds by putting them for 15 min in an ultrasonic bath.
- Put the molds for at least 3 h in a UV chamber.
2. Preparing the elastomer
- Gather the following before starting this step: elastomer (part A and part B), spatula, plastic cup, mold, weight scale, plastic syringe, screw clamps (or similar), acrylic glass plate with two corresponding holes, cutter knife.
- Mix part A and part B of the elastomer in a 1:9 ratio in a cup. Place the cup on a weighing machine. First, add 5 g of part B (dark red). Then, using a spatula, add 45 g of part A (white and viscous).
NOTE: Ensure the accuracy of weighing is to 1 g. 50 g is enough for one actuator. The best way for portioning part A is to take a spatula and let it drain. Approximately 6 g per draining operation is possible with the spatula used.
- Keep stirring until no more white or red areas are visible at the edge of the cup.
- Put the cup for 15 min in a vacuum chamber to remove the air that is trapped in the elastomer due to the stirring process.
- Fill the mixed elastomer into a plastic syringe. This allows the elastomer to be positioned much more precisely.
NOTE: Supplementary Figure 1 illustrates the processing steps described in this section.
3. Manufacturing of upper part (base part)
- Clamp an acrylic glass plate with two corresponding holes onto the mold. Insert the syringe into the lower hole and press the elastomer into the mold.
- Apply force to the syringe by pushing the plunger until the mixed elastomer emerges from the upper hole.
- Loosen the screw clamps and pull off the acrylic glass plate sideways.
NOTE: It is important to pull it off to the side and not upwards. Otherwise, the elastomer will be pulled out of the mold.
- Puncture the rising air bubbles with a sharp tool. Do not puncture too deeply as this will create new air bubbles rather than remove the existing ones. It is especially important to pierce the larger bubbles as these will later significantly affect the functionality of the actuator.
NOTE: Optionally, evacuate the filled mold in the vacuum chamber to remove any air still trapped. When doing so, however, it can happen that the rising air bubbles get stuck on the mold on their way to the surface and create holes in the casting at functionally relevant areas. Supplementary Figure 2 illustrates this phenomenon.
- Put the mold into the oven at 65 °C for 30 min.
- Check after 10 min if the level of the elastomer has fallen significantly. This happens if the mold is not completely tight or has bent slightly due to frequent use. If the level has dropped more than 1 mm, refill the elastomer. Then, continue curing.
- After a total of 30 min in the oven, take out the mold and cut off the extruded elastomer with a cutter knife.
- Open the mold by levering apart with a screwdriver. Be careful not to damage surfaces relevant for casting.
- Remove the almost finished actuator from the part of the mold to which it had stuck in the previous step.
NOTE: A first visual check can be made here to see if casting was successful. If irreparable defects are found (see Supplementary Figure 3), the manufacturing process is to be stopped here. Smaller holes can be repaired later. It is also important that the sealing lip is as pronounced as possible over its entire circumference.
- Cut off any protruding burrs with a cutter knife. This is sometimes very laborious, but essential for a good final result.
NOTE: Supplementary Figure 4 illustrates the processing steps described in this section. The described steps are valid for casting the four legs (the mold can be found in Supplementary File 1 “CAD/Moulds/small_leg_schwalbe*.stl”) and the two base parts of the torso (“CAD/Moulds/small_belly*.stl”). To cast the suction cups (feet of the robot, to be found in “CAD/Moulds/suctionCup*.stl”) or the bottom part of the torso (“CAD/Moulds/small_torso_base1*.stl”), carry out the same process steps, with the exception of steps 3.1 and 3.3 as these molds for casting have a built-in port for the syringe and therefore no additional acrylic glass plate is required. In total, build four base parts of the leg, two base parts of the torso, one bottom part of the torso, and four suction cups.
4. Manufacturing of lower part (bottom part)
- Push a silicone tube through the holes provided for this purpose in the mold of the bottom part, see Supplementary Figure 5.
- Fill the mold of the base part with elastomer and distribute it with the small spatula up to the corners.
NOTE: The level of the elastomer should be no higher than 5 mm and no lower than 4 mm and must completely cover the embedded tube. The mold for the bottom part of the legs can be found in Supplementary File 1 “CAD/Moulds/small_base_schwalbe.stl”.
- Put the mold into the oven for 15–20 min for curing. For the following steps, it is necessary that the bottom part remains in the mold for the time being joined with the top part.
5. Joining the base and bottom part
- Fill the mold of the bottom part with elastomer so that the level is 1–1.5 mm above the already hardened elastomer.
- Insert a butterfly cannula into the base part and mark the puncture site so that it can be found more easily later. This step is necessary to allow the expanding air in the oven to escape.
- Place the base part into the bottom mold and press only the sides slightly into the elastomer bath.
- Put the actuator into the oven for 10–15 min and remove the mold afterwards.
NOTE: It should be easy to remove the actuator from the mold. If it fails to do so, either the elastomer is not yet fully cured (in this case, increase the curing time by 10 more min) or the bottom part is stuck in the mold (in this case, it should be pulled harder). But in general, it is a bad sign if the actuator cannot be released easily.
- Connect a pressure source by using the puncture site from step 5.2 and perform the final leakage test, see Supplementary Figure 6.
NOTE: If small leaks are present, they can be repaired. Application of a little elastomer with a small spatula and 10 min in the oven should fix the leak. If all leaks are fixed, the actuator is ready. Supplementary Figure 6 illustrates the processing steps described in this section and Supplementary Figure 7 illustrates the entire process described in Sections 3–5. For joining the base and bottom part of the torso, perform the same steps, with exception of step 5.1, where you do not fill the mold but the bottom part directly.
6. Joining of all limbs
- Fix the parts to be joined with a pin needle on a wooden board so that they can be held together in the following process step.
- Cover the joining surface with elastomer as shown in Supplementary Figure 8A. Make sure that the joining surface is clean and free of fat. Otherwise, the parts will delaminate at this point.
- Put the assembly (see Supplementary Figure 8B) for 10–15 min into the oven.
7. Mounting of supply tube inlets
- Widen the insertion point of the butterfly cannula from step 5.2 further by using a 1 mm Allen key.
- Place the end of a silicone tube with a maximum outer diameter of 3 mm over the hole and press it in with the Allen key.
- Seal the inlet with a little elastomer. This also protects against mechanical stress.
- Put the assembly for 10 min into the oven.
NOTE: Supplementary Figure 9 illustrates the processing steps described in this section.
8. Building the control box
- Download the corresponding *.dxf drawings of the housing from Supplementary Data 1 “CAD/ControlBox/” and cut them out on a laser cutter.
- Assemble the “User Interface Unit” on the front panel according to Supplementary Figure 10A and Supplementary Figure 11.
- Build the six “Valve Units” according to Supplementary Figure 10B and Supplementary Figure 12.
- Assemble the six “Valve Units” and the “User Interface Unit” on the bottom panel according to Supplementary Figure 10C, Supplementary Figure 13, and Supplementary Figure 14. Assemble the two side panels and the back panel. Last, assemble the top panel.
- Configure the two single-board computers embedded in the control box according to Supplementary File 1 and upload the complete folder “Code” (including all subfolders) provided in the Supplementary Data 2 onto both boards.
- Upload the script “Code/arduino_p_ctr.ino” provided in the Supplementary Data 2 onto the six micro-controllers embedded in the control box.
9. Building a test bench with embedded measurement system
- Download the corresponding *.dxf drawing of the camera holder from Supplementary Data 1 “CAD/TestBench/” and cut it out on a laser cutter.
- Download the corresponding *.stl files of the clamps from Supplementary Data 1 “CAD/TestBench” and print them on a 3D-printer.
- Assemble the camera holder with the clamps on a DIN-A1 poster panel according to Supplementary Figure 15 and mount the camera and a single-board computer at the intended location.
- Configure the ethernet interface and the SSH settings of the single-board computer according to Sections 4–5 of Supplementary File 1 and upload the complete folder “Code” (Supplementary Data 2) onto the board.
10. Setting up the entire system
- Create a local network and assign the correct IP address from the script "Code/main.py" to all single-board computers and the computer used for monitoring – or rewrite the script accordingly.
- Insert pin needles into both ends of the torso as shown in Supplementary Figure 16, so that the robot only contacts the walking plane with the pins and its feet (suction cups).
- Print out the visual markers15 provided in Supplementary File 2 on a DIN-A4 sheet and cut them out using a scissor.
- Attach the markers to the robot using pin needles according to Supplementary Figure 17.
- Connect the robot to the control box.
NOTE: Figure 1 illustrates the wiring of the entire system.
11. Running the control box
- Power on the main switch of the control box and wait until everything is booted.
- Log into the main single-board computer as “root” using SSH, browse to the folder “Code”, and start the control box by the command “root@beaglebone:~# python3 main.py”. At the same time, start the monitor on the personal computer by the command “user@pc:~ python2 monitor.py”.
NOTE: Both programs must start more or less at the same time. The program “main.py” running on the single-board computer in the control box tries to connect to the personal computer used for monitoring. If there is no listening port at the personal computer (triggered by the script “monitor.py”), the monitor will not start. Except of “monitor.py”, all programs/scripts used in this protocol are intended to run with python3.
- Connect a pressure source to the control box (max. 1.2 bar).
- Connect a vacuum source to the control box.
12. Calibrating the robot
- Place the robot on the walking plane of the test bench. For steep inclines, attach a string between the robot’s front and the top of the walking plane in order to hold the robot in place.
- On the control box, activate the “pattern reference” mode by pushing the “mode 2” button as shown in Supplementary Figure 18.
- Scroll through the menu displayed on the LCD by using the up and down buttons until you find the entry “clb”. Then, push the enter button.
- Scroll through the next menu up to the entry “mode_4.csv” and push the "enter" button.
- On the monitor, press the “record” button as shown in the Supplementary Figure 19.
NOTE: Pressing the “record” button will automatically create a *.csv file on the monitoring computer at the location specified in “Code/Src/GUI/save.py:save_last_sample_as_csv()”, which is the folder “current_exp” (example measurements are provided in Supplementary Data 3).
- On the control box, press the “function 1” button to start the calibration procedure.
- After calibration, press the “record” button on the monitor to stop recording and the “function 1” button on the control box to stop the pressure controller.
- Rename the automatically created “current_exp/*.csv” file so that it can be uniquely identified later.
- Run the script “Calibration/eval_clb.py” provided in the Supplementary Data 4 and store the output (coefficients of the polynomial fit) in the file “Code/Src/Controller/calibration.py” as an entry with the keyword “[robot version]” within the existing dictionary.
13. Creating a gait pattern
- Run the script “Code/Patterns/create_pattern.py” and store the outputted *.csv file(s) in the folder “Code/Patterns/[robot version]/”.
NOTE: This script converts the predefined gait pattern for straight gait8 (see Supplementary Figure 20A or Supplementary Animation 1) formulated in angle references into robot-specific pressure references. To generate a gait pattern for steep inclines, modify the script by uncommenting line 222. This will generate a pattern according to Supplementary Figure 20B or Supplementary Animation 2. The interface for pattern references provided by the control box consists of *.csv files where each row defines a discrete set point for all actuators. Therein, the first eight columns define the reference pressures, the next four columns define the references for the direct acting valves, and the last column defines the time this set point should be held.
- Synchronize the single-board computer in the control box with the personal computer, i.e., upload the folder “Code/Pattern/*” onto the board. For this purpose, the program “main.py” has to be interrupted (Ctrl+C).
14. Carrying out the climbing experiment
- Perform steps 11–13 for each inclination to be tested.
- Place the robot at the marked point on the walking plane.
- Select a pattern reference as described in steps 12.2–12.4, but select in the first menu the desired “robot version” (instead of “clb”), and in the second menu the pattern reference according to the current inclination (instead of “mode_4.csv”).
- Start recording as described in step 12.5.
- Push the “function 1” button to activate the pressure controller.
- Let the robot walk/climb for at least 6 cycles.
- Stop recording by pushing the “record” button on the monitor (like in step 12.7).
- Make sure the robot will not fall when executing the next step.
- Stop the pressure controller by pushing again the “function 1” button. This will also stop the vacuum supply, and consequently the robot will fall.
- Move the recorded *.csv file into the folder “ExpEvaluation/[robot version]/[pattern type]/[inclination]/”.
NOTE: Repeat each run at least five times in order to have a solid base for the next step.
15. Evaluating the experiment
- Run the script “ExpEvaluation/eval_vS11_adj_ptrn.py” provided in Supplementary Data 5 to automatically mean over all measurement data.
NOTE: This script outputs the track of all feet, the applied pressure over time, the measured bending angle of all limbs over time, the velocity of the robot over time, the orientation of the robot over time, the mean velocity over inclination (cf. Figure 2A), and an approximation of the energy used over inclination (cf. Figure 2B).
The presented protocol results in three things: a soft climbing robot, a universally applicable control box, and a control strategy for the robot's straight motion that increases its ability to climb and at the same time decreases its consumed energy. The control box described in Section 8 enables a continuous supply of any desired pressure level on up to six channels (expandable to eight) and additionally on four channels the supply of vacuum (expandable as required). The "User Interface Unit" enables the user to easily operate the control box at runtime and the interface to the monitor allows the measured data to be directly viewed and saved as a csv-file. The pattern-reference mode of the control box provides the user with an intuitive interface to loop predefined patterns. This can be the gait pattern of the robot, as in this protocol, or it can be used for actuator fatigue testing, or any other application that requires cyclic loading. Figure 1 depicts all hardware components assembled in the control box and the measurement system and how they are connected.
The gait pattern for the robot's straight motion is formulated in angular references8. To operate the robot, those angular references must be converted into pressure references. The control strategy used in this protocol is based on a prior angle-pressure calibration. Each method of calibration results in a different alpha-pressure curve. Therefore, it is necessary to adapt the calibration procedure to the real operating conditions as far as possible. When changing the inclination angle of the walking plane, the operating conditions change as well. Therefore, the angle-pressure curve must be re-calibrated for each inclination. Figure 2A shows the velocity of the robot for various inclines with an unchanged calibration and a re-calibrated angle-pressure curve. The experiment clearly shows the effectiveness of the re-calibration. The re-calibrated robot is not only way faster, it is also able to climb steeper inclines (84° instead of 76°) while consuming less energy9 as depicted in Figure 2B. In Figure 3, a series of photographs of the robot’s motion is shown for an inclination of 48°. The figure clearly illustrates that the climbing performance with re-calibration shown in Figure 3B is much better than with unchanged calibration shown in Figure 3A as the shift in position within the same time interval is almost twice as large. This robot can move very fast compared to other soft robots. Qin et al.7 summarize the forward velocities of various soft robots. Without payload and in the horizontal plane, the robot described in this protocol is five times faster in relation to the body length than the fastest robot in Ref.7.
Figure 1: Diagram of hardware components assembled in the control box. Therein denotes the pressure reference for the i-th channel, ui the control signal of the i-th proportional valve, the vector containing the angular references, α the vector containing the angle measurements, x the vector containing the position measurements, and ƒ the vector containing the control signals for the direct-acting solenoid valves, i.e., the fixation states of the feet. UI is short for “User Interface Unit”, BBB is an abbreviation for BeagleBone Black, i.e., the single-board computer used in the control box, and RPi is short for Raspberry Pi, i.e., the single-board computer used in the measurement system. Please click here to view a larger version of this figure.
Figure 2: Evaluation of the climbing performance. Dashed curves show the values for constant and solid curves for re-calibrated pressure references. (A) Forward velocity of the robot for various inclination angles. (B) Energy consumption for various inclination angles. This figure is adapted from Ref.9. Please click here to view a larger version of this figure.
Figure 3: Series of photos of the robot’s motion at an inclination of 48°. The time elapsed between each photo is 1.2 s. (A) Motion for constant pressure references and (B) the motion for recalibrated pressure references. Please click here to view a larger version of this figure.
Supplementary Figure 1: Preparation of the elastomer. Please click here to download this figure.
Supplementary Figure 2: Comparison of air bubble formation during evacuation before and after casting. (A) Evacuation of the elastomer is performed only before casting. Trapped air bubbles stay in place, but they are more in the area of the bumps, which does not greatly affect the actuator’s functionality. (B) Evacuation is performed before and after casting. Trapped air bubbles rise but get stuck again on the upper side of the struts and create holes in the actuator which can affect the functionality. Please click here to download this figure.
Supplementary Figure 3: Examples of successful and unsuccessful cured castings. Upper row shows successful examples and lower row unsuccessful examples. If the defect is not clearly recognizable, it is marked with a green circle. Please click here to download this figure.
Supplementary Figure 4: Manufacturing of the base part. Please click here to download this figure.
Supplementary Figure 5: Scheme for manufacturing the bottom part. A tube (which is later used as the supply tube for the suction cup) is clamped into the mold before casting. Then, the mold is filled with liquid elastomer. Please click here to download this figure.
Supplementary Figure 6: Joining of base and bottom part. Please click here to download this figure.
Supplementary Figure 7: Lamination casting of a soft bending actuator. Liquid elastomer is represented in red, cured elastomer in light red, and the strain-limiting layer as well as the molds in black. (A) Mixed elastomer is poured into two separate molds – one for the base part and one for the bottom part. Thereby, the bottom part is only half filled. A strain-limiting layer (supply tube) is then inserted into the bottom part mold. (B) The parts are cured and the base part is demolded. (C) The bottom part mold is filled to the top with liquid elastomer. (D) The base part is dipped into this mold. (E) The two parts are cured together. (F) The actuator is demolded. This figure is based on Ref.13. Please click here to download this figure.
Supplementary Figure 8: Joining of all limbs. (A) Covering the surfaces to be joined with fluid elastomer. (B) Rendered view of the complete assembly. Please click here to download this figure.
Supplementary Figure 9: Mounting the supply tube inlets. Please click here to download this figure.
Supplementary Figure 10: Photographs of the control box. (A) Front view of the User Interface Unit for enabling the user to interact with the robot. (B) Detail view of a Valve Unit. (C) Top view of the entire control box. Please click here to download this figure.
Supplementary Figure 11: Circuit diagram of the User Interface Unit. Please click here to download this figure.
Supplementary Figure 12: Circuit diagram of the Valve Unit. Please click here to download this figure.
Supplementary Figure 13: Simplified circuit diagram of the entire control box. Please click here to download this figure.
Supplementary Figure 14: Diagram of used pins of the single-board computers embedded in the control box. (A) Used pins of the board needed for user communication. (B) Used pins of the board needed for robot control. Please click here to download this figure.
Supplementary Figure 15: Rendered view of the walking plane with installed measurement system. Please click here to download this figure.
Supplementary Figure 16: Visualization of the lifting effect. Pin needles with 6 mm heads are inserted into both ends of the torso. This minimizes friction during walking and causes the suction cups to have full contact with the walking plane. Please click here to download this figure.
Supplementary Figure 17: Assembly of the visual markers. The markers are mounted on the robot by using pin needles. Marker 0 is mounted at the front left foot, marker 1 at the torso’s front, marker 2 at the front right foot, marker 3 at the rear left foot, marker 4 at the torso’s back, and marker 5 at the rear right foot. For the assembly of marker 4, three pin needles are used This figure is adapted from Ref.9. Please click here to download this figure.
Supplementary Figure 18: Legend of buttons of the control box. Please click here to download this figure.
Supplementary Figure 19: Legend of buttons of the Graphical User Interface. Please click here to download this figure.
Supplementary Figure 20: Gait patterns for straight movement of the robot. Fixed feet are indicated by filled circles and unfixed feet by unfilled circles. (A) Gait pattern for low and moderate inclination angles (< 70°). (B) Gait pattern for high inclinations (> 70°). Vacuum is applied to red and black filled feet. Black filled feet are fixed to the ground, whereas red feet do not necessarily have to be. In order to secure the fixation, the foot to be fixed is swinged back and forth once. This figure is adapted from Ref.9. Please click here to download this figure.
Supplementary Figure 21: Rendered explosion view of the soft climbing robot. Dovetails are located at the legs and corresponding keyways at the torso’s ends. This makes the joining process much more precise. This figure is adapted from Ref.9. Please click here to download this figure.
Supplementary Figure 22: Different calibration procedures for the determination of the pressure-angle curve. Each subfigure shows the qualitative pressure course and snapshots of the corresponding robot pose. (A) Each actuator is inflated continuously beginning from 0 bar up to 1 bar, while all others remain pressureless. (B) A pressure plateau is applied to a single actuator for 3 s; then, it is deflated completely for 2 s. In the next round, the level of the pressure plateau is increased by the increment until the plateau reaches 1 bar. This is done for each actuator individually. (C) Same procedure as in mode 2, but here, the same plateau is applied to actuators (0,3,4), respectively actuators (1,2,5), at the same time. (D) Same procedure as in mode 3, but plateaus for actuators (0,3) are starting at 0 bar (like before) and ending at 1.2 bar (instead of 1 bar). Basically, the increment for actuators (0,3) is slightly increased, while the increments for the other actuators remain the same. Please click here to download this figure.
Supplementary Figure 23: Angle-pressure curves for different calibration procedures. Please click here to download this figure.
Supplementary Animation 1: Animation of the robot’s straight gait. Please click here to download this file.
Supplementary Animation 2: Animation of the robot’s climbing gait. Please click here to download this file.
Supplementary File 1: Instructions for configuring the single-board computers. Please click here to download this file.
Supplementary File 2: Print template for the visual markers. Please click here to download this file.
Supplementary Data 1: CAD files. This zip-compressed folder contains the *.stl-files for printing the molds, the *.dxf-files for laser cutting the housing of the control box, the *.stl-files for printing the clamps used for the measurement system, and the *.dxf-file for laser cutting the frame of the measurement system. Please click here to download this file.
Supplementary Data 2: Code to run on the single-board computers. This zip-compressed folder contains the programs and their sources running on the board used for the “User Interface Unit”, the board used for robot control, and the board used for image processing. Upload the complete folder to all three boards. Please click here to download this file.
Supplementary Data 3: Exemplary measurement data. This zip-compressed folder contains two *.csv files generated during the calibration procedure. Please click here to download this file.
Supplementary Data 4: Calibration script. This zip-compressed folder contains the python script and its sources for evaluating the measurement data generated during the calibration procedure. Please click here to download this file.
Supplementary Data 5: Evaluation script. This zip-compressed folder contains two python scripts and their sources for evaluating the measurement data generated during the climbing experiment. In addition, it contains all the measurement data used for the generation of Figure 2. Please click here to download this file.
The presented protocol includes many different aspects related to the climbing soft robot from Ref.9, including manufacturing, control, calibration, and performance evaluation. In the following, the pros and cons resulting from the protocol are discussed and structured according to the aspects mentioned above.
The presented manufacturing method is strongly based on the existing literature10,13. A substantial difference is the design of the actuator. To join the individual limbs, dovetail guides are inserted at appropriate points, as shown in Supplementary Figure 21. This results in a much more precise and robust connection between the limbs compared to the previous design of the robot8. Furthermore, the supply tubes are embedded in the bottom part of the actuators. This integrated design allows the suction cups to be supplied with vacuum and at the same time makes the bottom layer no longer stretchable, which significantly increases the performance of the actuator. Another difference to the procedure described in the literature is that the mixed elastomer is evacuated only once (immediately after mixing). Many sources recommend evacuating the elastomer twice: once after mixing and once after it has been filled into the mold. It may happen that air remains trapped in very small spaces. In the vacuum chamber, this air expands and in the best case rises to the surface. Often enough, however, these air bubbles get stuck on their way, creating unpleasant holes in the finished casting. Here, a decision must be made as to what is more important: perfect contours on the bottom side of the base part or as little risk as possible of producing a non-functional actuator (cf. Supplementary Figure 2). In this protocol, no second evacuation is performed. In the procedure presented, the height of the bottom part may vary as it is filled manually, and, unlike for the base part, there is no possibility of cutting it to a uniform height after curing. To ensure that the height of the bottom part is as uniform as possible, it is recommended to use a syringe when filling the mold of the bottom part and to measure the volume poured in. However, depending on how much time has elapsed since mixing, the flow properties of the elastomer change significantly. Therefore, it is recommended to always use freshly mixed elastomer. Joining the base and the bottom part of the actuator involves the largest process uncertainty. If the elastomer bath is too high, the air channel between the chambers will most likely be covered as well. Then, the actuator is no longer usable. If the elastomer bath is too low, the sealing lip may not be covered in its entire circumference and the actuator would leak. Therefore, it takes a certain amount of practice to dose the elastomer bath correctly. Important for joining in general is a fat-free joining surface. If the joining surface is too contaminated, the finished actuator may delaminate. Therefore, it is essential to ensure that the parts are only touched on surfaces that are not to be joined. A major limitation of the manufacturing method is the number of pieces to be realized. The production of a single actuator takes at least two hours in total. Although it is possible to work with several molds in parallel, more than four is not recommendable due to time constraints. The pot life of the elastomer is too short to be able to fill even more molds. In addition, the 3D-printed molds only withstand a limited number of production cycles (approx. 10–20) before they become very deformed or break. A further limitation is the process uncertainties already discussed. Since almost all process steps are performed manually, each actuator is a little different. This can lead to two robots that are identical in construction but show two very different behaviors.
With the control box, a method is provided to control the robot. Nevertheless, for each pneumatic system, the control gains of the script "Code/arduino_p_ctr.ino" must be determined individually. This is not covered in the protocol. However, the "pressure reference mode" of the control box allows a playful handling of the robot, so that controller tuning can be made without writing several scripts. Another limitation of the control box is its cost as the material costs about 7000 US$ in total. The literature11 offers a building instruction for a control box that costs only about 900 US$ and with some upgrades could also be used to operate the robot.
Critical for the calibration of the individual actuators is the choice of the calibration procedure. Supplementary Figure 22 shows the qualitative course of the pressure references over time for four different procedures and Supplementary Figure 23 shows the resulting angle pressure curves. As can be seen in the latter, each method of calibration results in a different angle-pressure curve. This shows that the relationship between pressure and angle is highly dependent on the load acting on the actuator. Therefore, the calibration procedure must reflect the real load case as best as possible. Consequently, it is necessary to adapt the calibration procedure to the real operating conditions as far as possible. The best walking performance is obtained with calibration procedure 4. However, as can be seen in Figure 3B, the subsequent poses in the series are not completely symmetrical, which is an indicator for the potential of improvement in calibration.
Critical to the measuring system is the assembly of the visual markers15 in Section 10. Since they cannot be mounted directly at the desired points (because the tubes interfere), the measured points must be shifted artificially. Special care must be taken when determining this offset vector (in pixel coordinates of the camera); otherwise, the entire measurement will have significant systematic errors. It must also be ensured that the tags do not displace with time. If this happens, e.g., due to a downfall of the robot, the corresponding tag must be remounted in the exact same place. In any case, it should be checked regularly whether the measuring system still produces reliable output.
The limiting factor in the experiment is the fixation of the feet. In order to be able to climb even steeper inclinations, the fixation mechanism must be reconsidered. Currently, the robot is not able to actively push its feet against the walking plane, and for high inclines, the normal force caused by gravity is too small to bring the suction cups close enough to the walking plane to ensure reliable suction.
The presented manufacturing method can be transferred to any fluidic elastomer actuator and could, therefore, be interesting for future applications. The presented control box enables the control of any pneumatic system consisting of six individual actuators (expandable up to eight), including robotic platforms as they require fast sensory feedback. Therefore, it could be used as a universal platform for testing and control future robots. Finally, the presented calibration method can be, in principle, to any feed-forward controlled pneumatic system. In summary, all presented methods are universal within the discussed scope.
The authors declare that they have no competing financial interests.
The authors like to thank Fynn Knudsen, Aravinda Bhari, and Jacob Muchynski for helpful discussions and the inspiration.
|3D Printer||Formlabs||Form 2|
|acrylic glass plate with two holes||-||for casting, see Supplementary|
|acrylic glass back panel||-||see Supplementary|
|acrylic glass bottom panel||-||see Supplementary|
|acrylic glass front panel||-||see Supplementary|
|acrylic glass side panel||-||see Supplementary|
|acrylic glass top panel||-||see Supplementary|
|Allan Key 1mm||available in every workshop|
|butterfly cannula||B. Braun Melsungen AG||5039573|
|clamp 1 for measurement system||-||see Supplementary|
|Clamp 2 for measurement system||-||see Supplementary|
|cutter knife||available in every workshop|
|direct acting solenoid valves||Norgren||EXCEL22 DM/49/MDZ83J/T4|
|elastomer||Wacker Chemie||ELASTOSIL M4601|
|frame measurement system part 1||-||see Supplementary|
|frame measurement system part 2||-||see Supplementary|
|LED||RND COMPONENTS||RND 210-00013|
|mould bottom part leg||-||see Supplementary|
|mould bottom part torso 1||-||see Supplementary|
|mould bottom part torso 2||-||see Supplementary|
|mould leg 1||-||see Supplementary|
|mould leg 2||-||see Supplementary|
|mould torso 1||-||see Supplementary|
|mould torso 2||-||see Supplementary|
|Plastic Cup||available in every supermarket|
|Plastic syringe||available in every pharmacy|
|poster panel||Net-xpress.de (distributor)||10620232||as walking plane|
|Power Supply||Pulse Dimension||CPS20.241-C1|
|Raspberry Pi||RASPBERRY PI||RASPBERRY PI 3B+|
|Raspberry Pi Cam||RASPBERRY PI||RASPBERRY PI CAMERA V2.1|
|resin||formlabs||grey resin 1l|
|silicon tube 2mm||Festo||PUN-H-2X0,4-NT||for connecting robot to control box|
|silicone Tube 2.5mm||Schlauch24||n/a||for supply tube inlet (https://www.ebay.de/itm/281761715815)|
|ultrasonic bath||RND LAB||605-00034|
|UV chamber||formlabs||Form Cure|
|Vacuum chamber + pump||COPALTEC||PURE PERFEKTION|
|weight scale||KERN-SOHN||PCB 2500-2||min. resolution 1g|
- Majidi, C. Soft robotics: a perspective-current trends and prospects for the future. Soft Robotics. 1, (1), 5-11 (2014).
- Kim, S., Laschi, C., Trimmer, B. Soft robotics: a bioinspired evolution in robotics. Trends in Biotechnology. 31, (5), 287-294 (2013).
- Rus, D., Tolley, M. T. Design, fabrication and control of soft robots. Nature. 521, (7553), 467-475 (2015).
- Calisti, M., Picardi, G., Laschi, C. Fundamentals of soft robot locomotion. Journal of the Royal Society Interface. 14, (130), 0101 (2017).
- Chu, B., Jung, K., Han, C. S., Hong, D. A survey of climbing robots: locomotion and adhesion. International Journal of Precision Engineering and Manufacturing. 11, (4), 633-647 (2010).
- Gu, G., Zou, J., Zhao, R., Zhao, X., Zhu, X. Soft wall-climbing robots. Science Robotics. 3, (25), 2874 (2018).
- Qin, L. A versatile soft crawling robot with rapid locomotion. Soft Robotics. 6, (4), 455-467 (2019).
- Seibel, A., Schiller, L. Systematic engineering design helps creating new soft machines. Robotics and Biomimetics. 5, (1), 5 (2018).
- Schiller, L., Seibel, A., Schlattmann, J. Toward a gecko-inspired, climbing soft robot. Frontiers in Neurorobotics. 13, (1), 106 (2019).
- Mosadegh, B., et al. Pneumatic networks for soft robotics that actuate rapidly. Advanced Functional Materials. 24, (15), 2163-2170 (2014).
- Elango, N., Faudzi, A. A. M. A review article: investigations on soft materials for soft robot manipulations. The International Journal of Advanced Manufacturing Technology. 80, (5-8), 1027-1037 (2015).
- Natarajan, E., Razif, M. R., Faudzi, A., Palanikumar, K. Evaluation of a suitable material for soft actuator through experiments and FE simulations. International Journal of Manufacturing, Materials, and Mechanical Engineering. 10, (2), 64-76 (2020).
- Soft Robotics Toolkit [software]. Available from: https://softroboticstoolkit.com (2020).
- PneumaticBox [software]. Available from: https://www.robotics.tu-berlin.de/menue/software_and_tutorials/pneumaticbox/ (2020).
- Wang, J., Olson, E. Apriltag 2: efficient and robust fiducial detection. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Daejeon, South Korea. 4193-4198 (2016).