Design

Building with Hot Melt Adhesives

The main factor for building these robots is the usage of a smart material called hot melt adhesive (HMA) for the overall robot structure. A complete functional soft robot with custom shaped limbs and joints can be built by using this material. Due to its adhesiveness, a mix of materials and items can be glued together to make a "hybrid" robot. Therefore instead of giving design outlines on how to build a single robot with HMA, we will provide the material properties and examples of HMA usage in various robot construction. In this approach, we aim to emphasize the limitless potential for building robots and expect the users to come up with their robot designs. hotgluekit_hmatypes
hotgluekit_competitionrobots

Tendon Module Box

We want users to build their robots in a short time and actuate them with a strong yet simple actuation system. Therefore we designed a small (3x4x5 cm) actuator module which can pull a tendon up to 11N load. This module box runs on a Li-Po battery and has a wireless unit that allows communication with a PC. The microcontroller inside the box can receive several commands to drive the DC gear motor which pulls the tendon that reaches out from the box. hotgluekit_module_closeup

Material: HMA

Hot Melt Adhesives (HMA)

HMAs, also known as hot glue, are (co)polymer-based thermoplastic adhesives. They form bonds between any solid surfaces by a thermally induced solidification process. Although this process can sound very technical, it is actually no more complicated than the usage of a glue gun to melt down the supplied HMA material into liquid, and wait for less than a minute in room temperature for the liquid HMA to cool down and become solid again. This simple phase transition process is bidirectional and highly repeatable. That is why we are exploiting this key feature of HMA to build soft robots and add and remove parts from them if necessary with just a couple of HMA sticks and a glue gun. In short, while hot liquid HMA glues parts together, the cold solid HMA becomes the soft elastic robot body.

hotgluekit_glue

A hot glue gun can easily melt down the HMA by heating up the glue stick to 150C. HMA is adhesive in hot liquid phase and a strong elastic in cold phase.

Depending on the temperature, HMAs have three different phases: first, at room temperature (around 25C), the material is a viscoelastic solid and has no adhesiveness. That means HMAs cannot form a new bond between surfaces, while an existing connection can be maintained with a high bonding strength. Second, at a temperature around a softening point (around 82-92C) the material starts to become viscoplastic and adhesive. It is difficult to maintain an established connection since the bond is dramatically weakened by the low shear stress. And third, at a higher temperature than the melting point (generally 170C) the cohesive strength becomes so low that the material transforms into a low-viscosity fluid.

hotgluekit_hmabond

Bonding strength of HMA to copper and aluminum with respect to temperature (adapted from Wang et al. 2012)

In the Biologically Inspired Robotics Laboratory, we have been using HMA extensively in a very large range of robotic applications and projects. From a climbing robot which uses it as a bonding material to attach to different surfaces (Wang et al. 2013), to robots which uses it as a structure material to print tools to carry objects (Wang et al. 2014) and tools to sense different stimuli (Nurzaman et al. 2013). We also have showed that complex robots can be built with this material within the time limits of our previous university lectures (Yu et. al 2014). It is up to the imagination and creativity of the user what else can be done with HMAs!

hotgluekit_climber

Climbing robot which uses HMA to stick to rock walls (adapted from Wang et al. 2013)

hotgluekit_tools

Tools made out of HMA to carry different objects such as water, wooden cubes and grains of rice (adapted from Wang et al. 2014)

Tendon Module Box

hotgluekit_moduleboxlarge
In order to actuate your robots, the Hot Glue Kit provides a wireless actuator module which can be attached on the robot for tetherless applications. The module box can be classified into three main components: the main casing or the "box", the electronics, and the control protocol whose details can be found in the corresponding pages. All of these designs are tested and proved to be functional, and sufficient to actuate your robots with HMA material. However, users are free to change the shape of the box, the components of the electronics and the control protocol if they want to. In this documentation we are providing the design details of our tendon module box.

Box CAD

Main Design

The module box is designed to contain all the electronics and mechanical parts of the actuation system of the Hot Glue Kit. The box is composed of three parts: the container box, the motor holder and the lid. In order to increase the user friendliness, the module box is designed to be assembled and disassembled without any screws. This documentation provides the design of these parts which are developed in Autodesk Inventor and the necessary files can be found here. hotgluekit_moduleCAD

Container Box

This box is a rectangular container which will define the main geometry of the tendon module. It has an approximate width of 4 cm, depth of 5 cm and height of 3cm. These values are mainly determined by the LiPo battery size and the stacking of electronic components. Considering the tendon pulley and the tendon wire will require enough space to avoid tangling, this size of the box can be considered small for its intended usage. hotgluekit_container1
The interior configuration aims to have the LiPo battery on the bottom, the electronic parts on its top, and the DC gear motor on the level with the highlighted wall section shown on the right. This section has indents so that the motor holder part can easily slide through while holding the motor hanging on the wall. The tendon cable, which is attached to the pulley at the end of the motor shaft, goes through the hole on the wall which is located next to the motor holder hole. hotgluekit_container2
The remaining important features of the container are the power switch outlet and the lid placing indents. The highlighted rectangular hole on the lower part of the front wall is designed to let the power switch go through while keeping the rest of the electronics hidden behind the container walls. In order to avoid using screws to close the lid, two indents which are placed on the opposite side of a support column are placed as highlighted on the picture. These allow the lid to slide through the indents and stand securely on the support column. hotgluekit_container3

Motor Holder

This part is designed to secure the selected DC gear motor (Pololu microgear motor) to the wall while holding it above the electronics and its pulley shaft in line with the tendon hole on the container box. The highlighted section is carved out so that the motor body can fit. As shown in the container box section, the vertical wall of the motor holder slides through its corresponding section and fixes the motor. The geometry of the motor holder is designed to eliminate the motor's unwanted motions in the box in cases of loads on its shaft. hotgluekit_motorholder

Lid

The lid is a simple design which fits on the top of the container box. The most important feature of the lid is its extensions (highlighted on the image) on its lower front wall which allows it to slide into the necessary indents on the container box. With the spacing left on the opposite wall, these avoid the usage of screws while placing or removing the lid from the box. hotgluekit_lid

Electronics

Overview

hotgluekit_electronicsoverview
We have come up with a functional set of electronic components for the Hot Glue Kit module box so that the users can perform untethered, long lasting, programmable, and strong actuation for their soft robots. The figure above shows the main overview of the electronics and control with the details of the box contents. A single module contains a 3.7V LiPo battery, a power switch, a 5V Step up regulator, a brushed DC gear motor, a pulley, a microcontroller, a motor driver and a wireless receiver unit. In addition to these, another wireless transmitter and a usb adapter are required to establish connection with a PC so that the user can send and receive messages to the actuation module. With such a setup, the user can control multiple actuation modules with a single transmitter. The details of how to control modules are given in the Control section.

Battery and Power Distribution

We wanted our actuation module to be free of power cables so that the user can attach them on their robots and fully explore the interaction between the robot and the environment. Also long lasting operation was a necessity to get the best out of the robots. Therefore we have selected a 3.7V 980mAh rechargeable LiPo battery to power up the entire system. All the electronic components in the box require 3.7V to operate except for the DC motor which requires 5V for full speed operation. That is why 5V step up regulator is required to generate the necessary motor voltage. The figure above shows the logic circuit voltage line with blue and motor voltage line with red dashed lines. Within a continuous active motor operation a single battery can last up to 6 hours with this setup.

Motor and Motor Driver

In order to pull the tendons, we use a brushed DC gear motor with an extended shaft. This motor can pull up to 11N of load without stalling and rotate 320RPM freely. A magnetic encoder is placed on the extended shaft to provide motor shaft position information in order to establish a feedback loop for a motor position control strategy. To control the DC motor within a feedback loop, we selected a sufficient motor driver unit which receives commands from the microcontroller.  This design gives us the ability to control our motor like a servo motor, but with higher torque output and endless revolutions.

Wireless Communication

Another important design choice was to enable programmable actuation as users will need to change their actuation depending on their robot designs. That is why we used an XBee S2 modules for wireless communication between the actuation modules and the user. With a single XBee transmitter that is connected to a PC with a USB adapter, users can send commands to single or multiple modules which contain an XBee receiver each. This allows the instant control of multiple modules with a single command, however it should be noted that XBees can be interfered with all the radio signals which might slow down the communication speed. A deeper insight is given in the control section about wireless communication with XBees.

Microcontroller

In order to receive commands from the user, collect motor position from the encoders and drive the motors accordingly, we used a 3.3V 8MHz Arduino Pro Mini microcontroller.

Control

Mesh Network Setup

The current selection of XBees allows the establishment of a mesh network which means a communication between multiple devices that are connected to an XBee. In XBee terms, this means that there is a single coordinator (transmitter) which can communicate with all the routers (receivers) within the same wireless network. In the Hot Glue Kit perspective, this means that the user can communicate with multiple actuation modules with a single XBee transmitter connected to a PC. The free software XCTU, allows users to configure their XBee components to define the network ID, router and coordinator roles and many other communication properties. hotgluekit_meshnetwork

There are multiple points that require attention due to the design choice of mesh networks with XBees.

  1. There can be only one coordinator within a single network.
  2. When a coordinator sends a message to the network, all the routers in that network will receive that message. Therefore each module in our kit has two IDs: a team ID and a unit ID (these are specified in their Arduino codes). When the user wants to communicate with all the modules at the same time, he refers to the team ID (which is same for all modules). If he wants to communicate with a single module, he refers to its own unit ID.
  3. XBee is a RF (radio frequency) communication device. This allows the mesh network. However it also might be interfered by other radio signals in the air. The chances that other radio signals will be at the same network and frequency with your network, they can still slow down the communication. Late responses or package losses might occur during the communication. Users are free to change XBees with other methods such as Wi-Fi or Bluetooth however those will require additional communication protocol setup.

Actuation Command Protocol

When the transmitter (coordinator) XBee is connected to a PC via USB, a serial connection needs to be established. Details about this connection can be found in the XBee and Arduino subsection. The communication with the module is very simple: the user sends text commands from the PC, and the module executes and responds. In order to increase the strength of the communication, we established a handshake protocol. This means that for every command user sends from the PC, the module has to answer with a proper respond so that the user can be sure that the command is received.

There are two main types of actuation control for Hot Glue Kit modules: direct mode and alternate mode. In direct mode, the user specifies the amount of turns for the DC motor to turn. As there is a position control implemented, the module will rotate the motor to the desired number of turns and it will stop. The other mode is the alternate mode, where the user specifies to target turn amounts and the motor will continuously alternate between these target values, which generates a oscillatory pull-release behavior. In the current setup users can only define the amplitude of this motion, not the frequency as there is only a motor position control implemented.

Users can also set phase timers if they want to set a phase difference between their modules. They simply command one module to wait a certain time before it starts executing the motor rotation command.

All the necessary commands and the module responses can be found here.

Motor Position Control

We implemented a simple PD controller for the motor position control in the modules, where:

Motorout = Kp (Poscurrent - Postarget) + Kd (Motorvelocity)

The proportional (Kp) and derivative (Kd) gains are manually tuned. The current motor position (Poscurrent) is read from the optical encoders while the target position (Postarget) is defined by the user as the target turn amount. The motor velocity (Motorvelocity) is calculated as the average of position change in the last 10 steps of the microcontroller loop. The output (Motorout ) is mapped to a proper PWM signal to be sent to the motor driver.

Load Control

Currently there are no additional sensors in the circuitry to detect the load on the tendon cable and the motor shaft. As an extensive load might damage the power circuitry, the motor driver and the battery, we implemented a coded load detection mechanism to release the motor when an overload is detected.

The optical encoders provide 12 counts per motor shaft revolution, and as the motor gear reduction rate is 100:1, this means that a complete motor turn should yield 1200 counts. When there is an overload, the motor stalls which means that it will not be able to rotate any more. By looking at the counts, we decide that there is an overload if (1) there is more than half a turn left until the target turn position and (2) the motor velocity is zero.