<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>CRABOT: A six-legged platform for environmental exploration and object manipulation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oscar A. Silva</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pascal Sigel</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Warren Eaton</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cristian Osorio</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eduardo Valdivia</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicolás Frois</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Felipe Vera</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Centro de Innovación y Robótica</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Innovación y Robótica Estudiantil, Universidad Técnica Federico Santa María</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The advantage of using legs instead of wheels are several, including better mobility and maximizes energy consumption. Moreover, a leg can be taken into account as a useful arm if the design promotes it. Following this idea, here we describe a six-legged platform called CRABOT, a 3D-printed robot able to be self-sustained by at least four of its legs, leaving other two for robot-object interactions. Integrating a 4D camera, CRABOT has been designed for exploration of environments, while is capable of manipulating objects with any of its legs. This article is focused on the hardware design of the platform and its inverse kinematics required for achieving movement. As possible future extensions, there is still an open issue on the design of different manipulators attachable to the platform.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Legged robotic platforms are well known for being highly useful for displacement on unknown,
complex environments
        <xref ref-type="bibr" rid="ref1">(Bekker, 1960)</xref>
        . While the use of wheels is easier in terms of control dynamics,
the use of legs can improve not only the reachable space, but also it can increase the displacement
velocity, energy use, mobility, among others
        <xref ref-type="bibr" rid="ref7">(Song and Waldron, 1989)</xref>
        . Instead, wheels platforms
are severely limited by the roughness of the terrain, environments commonly present under search
and rescue situations
        <xref ref-type="bibr" rid="ref6">Murphy et al. (2008)</xref>
        . Torres Redondo (2015) has presented a recent analysis
introducing the advantages of using legs in outer-space.
      </p>
      <p>
        Currently, there are several types of legged robotic platforms, usually identified by the number
of legs, commonly ranging between one to eight
        <xref ref-type="bibr" rid="ref8">(Torres Redondo, 2015)</xref>
        . There are, among others,
biped humanoid robots, quadrupeds, hexapods and octopods, insect-like (e.g.,
        <xref ref-type="bibr" rid="ref2">Chen et al. (2018)</xref>
        )
or bigger animals (e.g.,
        <xref ref-type="bibr" rid="ref4">Kalouche (2017)</xref>
        ). Despite the advantages for displacement, we believe that
the legs are also significantly meaningful when a platform has to interact with the environment,
given that the legs by itself can act as manipulators. In that sense, here we propose the design
of a six-legged robotic platform called CRABOT, which has been designed for a later integration
of different tools that can be attached and used on any of its legs, becoming a Leg-Arm Hybrid
robot
        <xref ref-type="bibr" rid="ref3">(Kajita and Espiau, 2008)</xref>
        . Then, the platform would be potentially capable of doing sample
acquisitions or other complex object manipulations, among several other interactions, using tools
contained by each leg. The tools could be either different or equals, which automatically reduces
the problem of positioning the platform in an exact position near the object in use.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Design of the platform</title>
    </sec>
    <sec id="sec-3">
      <title>Structural design and characteristics</title>
      <p>In the seek of developing a multiple-purpose platform which could integrate the benefits using of
legs, as described before, we have built a hexapod robot, which is similar to a crab (shown in figure
1). All the structural parts of the robots are 3D-printed, including its chassis and legs.</p>
      <p>
        This proposal considers a six-legged platform for an easily positioning and supporting of the
robot using generally four legs, leaving at least two of them free for object interaction. Similar to
the MELMANTIS-1 platform
        <xref ref-type="bibr" rid="ref5">(Koyachi et al., 2002)</xref>
        , CRABOT is able to transit in rough terrain while it
can use a manipulator when interactions with objects are necessary. CRABOT is able to stand in
four or five of its legs, which leaves one or two manipulators free of use, only depending on what
are the goals of the manipulation. It can interact with objects with maximum size and weight as the
ones detailed in table 1. All the designs of the platform parts are open, and available at a Github
repository:
https://github.com/osilvam/Crabot
      </p>
      <p>Figure 2 show the rotational points of the designed legs, without including any ending
manipulator. Each leg has four degrees of freedom (DOF), whose last three DOF are used for movements for
displacement, being enough for letting CRABOT move around in almost any kind of environment.
The last DOF, which is attached to the platform center (i.e., the torso) is in charge of increasing the
reaching space for reaching and manipulation purposes, acting as a rotating shoulder for each limb.</p>
      <p>While currently each leg ends into a tip, its internal space is aimed for tool storage and
deployment on later developments to the platform (see figure 2). Following that design, the platform
could incorporate a maximum of six different manipulators, used also as standing points when
needed. Given the radial symmetries of the platform design, the addition of manipulators (e.g., a
platform with eight legs/manipulators) only imply architectural modifications at the torso.</p>
    </sec>
    <sec id="sec-4">
      <title>Hardware components</title>
      <p>Mobile actuators
Each limb of the platform is composed of four Smart Serial Servo from Dynamixel1 (model AX-18a,
with a maximum torque of 1.8 [Nm]). Prior tests using servos from the same series but with 1.2
[Nm] produced an unstable gate lacking the strength for self-sustain the weight of the platform.
These servomotors are easily connected and controlled by their serial capability. Also, as their name
introduces, these servos are smart as they include an internal driver which not only allows them to
reach an exact positioning but also provides to an external controller meaningful information as
internal motor temperature, the level of current consumption, the instant torque being applied,
among others. This motors also include a gearbox necessary for applying the levels of mechanical
torque required for moving a platform as CRABOT.</p>
    </sec>
    <sec id="sec-5">
      <title>Sensors</title>
      <p>CRABOT includes an inertial measurement unit (IMU), which gives information about the absolute
inclination of the robotic torso, computed by estimating pitch, yaw and roll, and its acceleration
on each of the three common coordinate axes. The platform also includes a 4D Kinect sensor,
incorporating an RGB camera and proximity sensing, information that allows the platform to
explore and reconstruct unknown environments. The Kinect is replaceable with any other suitable
4D camera, in terms of the task.</p>
      <p>The platform also includes sensors integrated to its servo motors. These sensors give CRABOT
online information about how each actuator is interacting with the environment, information that
can be used for computing the strength applied in a given task, mean and maximum current
consumption, supported load, among others.</p>
    </sec>
    <sec id="sec-6">
      <title>Drivers and controllers</title>
      <p>For managing all the robot motor signals, the platform includes the CM-700 driver (and its
complementary board CM-700 SUB board), which is developed by ROBOTIS specifically designed for
controlling Dynamixel servo motors. The use of this drivers allows to easily manage and control
several motors in parallel. This board is connected to a central controller unit. As the CM-700
board is connected through TTL/RS485, to be used with any computer an interface to USB has to
be considered, as the USB Downloader LN-101 from ROBOTIS.</p>
      <p>1Dynamixel is a line of actuators from ROBOTIS. More information can be found at http://en.robotis.com/.
Leg section to be
replaced in a
later version with
a dual purpose
ending, leg and
manipulator.</p>
      <p>The central controller unit in charge of the behavior of the platform is a microcomputer that is
placed inside the torso. CRABOT was developed for using the ODROID board from Hardkernel 2,
but any computer unit could be attached to the platform.</p>
    </sec>
    <sec id="sec-7">
      <title>Movement algorithms</title>
      <p>Similar to a person and other animals, a robotic platform has to perform several actions in order
to complete a task. For just displacement, we can think in moving forward, turning, changing the
center of mass for allowing platform inclinations, among others. For any required movement, there
are common descriptions that need to be addressed: the platform forward and inverse kinematics.</p>
    </sec>
    <sec id="sec-8">
      <title>Direct kinematics</title>
      <p>In order to reach any place at the space, the different motors have to act and rotate. To address this
problem, which has infinite possibilities and is solved by inverse kinematics, we will start describing
a representational framework to acquire the direct kinematics of the platform. Figure 3 shows a
representation of each link and a different coordinate axes at each joint. Then, at each coordinate
axes, each joint has to rotate with respect of its own coordinates. Then, the movement of the tip
of each leg can be thought as a function f that depends on a set of angles corresponding to the
different DOF of a limb, and which gives as a result a point in the space with coordinates .x; y; z/, as
f. / = X
(1)
where  = . 1; 2; :::; n/ is the set of angles and X = .x; y; z/. Moreover, f. / can be expressed as
a matrix multiplication, using a transform matrix considering rotation and translation for each
coordinate axis.</p>
      <p>Then, from the base to the tip of each limb, the ending point can be computed as
f. /R1. 1/R2. 2/T1.d1/R3. 3/T2.d2/R4. 4/T3.d3/
(2)
where the R. / and T .d/ correspond to a matrix rotation by a given angle and a matrix translation
given a distance d, respectively, as shown in Box 1.</p>
      <p>Then, by using the representation in equation (1), the position of the tip of any leg of the platform
can be obtained just knowing the rotational angles of each of motor of that leg.</p>
      <p>Now, with this information, we are not capable of computing angles when we need to reach a
point, but rather we are able to now the position of the tip given certain rotational angles. In order
to know how to reach any point, we need the inverse of equation (1), finding the inverse kinematics
of the platform.</p>
      <p>2Specifications and more information about the ODROID board can be found at https://www.hardkernel.com.</p>
    </sec>
    <sec id="sec-9">
      <title>Box 1. Example of rotation and translation matrices</title>
      <p>Here, examples of rotational
matrices are shown for
each coordinate: Rot.x; /,
Rot.y; / and Rot.z; /.
Also, a translation matrix
T rans.x0; y0; z0/ is presented.
These matrices are the
bases for representing the
position of the tip of a leg by
the relative coordinates of
the robot.
b1
f
Rot.x; /=ff1
ff1
f
f0
d
0 0 0c
g
cos. / *sin. / 0g
g
sin. / cos. / 0gg
0 0 1gge
Rot.y; /=ffffffdfb*csois00n.. // 0010 csoins00.. // 0010gggggggec
bcos. / *sin. / 0 0c
Rot.z; /=fffsin. / cos. / 0 0ggg
fdfff 00 00 10 01egggg
b1 0 0 x0c
f g
T rans.x0;y0;z0/=ff0 1 0 y0gg
fdfff00 00 01 z10egggg</p>
    </sec>
    <sec id="sec-10">
      <title>Inverse kinematics</title>
      <p>In order to find rotational angles that would position the tip of a leg in a certain position in the
space, we can express equation (1) using Taylor’s series. Then, each coordinate can be expressed as
x = f . 0/ + ))f .1/ óóó 0 . 1 * 01 / + 5 +
)f . / ó
) n óó 0 . n * 01 / + error .  * theta0/2
Now, if we express all the coordinates following equation (3), we can use the matrix form
bxc bf1. 0/c b ))f11 5 ))fn1 c b 1 * 01 c
ffdfzyggeg = fdffff32.. 00//gegg + ffdf ))))ff1132 55 ))))ffnn32 ggeg 0 fdff n *4 0n ggge (4)</p>
      <p>There, we have removed the error as its value is not meaningful on the results. Then, equation
(4) can be rewritten as</p>
      <p>X = F. 0/ + JF . / ð 0 .  * 0/
where JF . / is the Jacobian matrix of the spatial coordinates of the direct kinematics. Then, it is
possible to inverse this equation, obtaining :</p>
      <p> = J*1F . /óóó 0 X * F. 0/ + 0 (6)</p>
      <p>Moreover, we can take the first derivative of equation (6) to obtain the angular velocity necessary
for optimal movement, considering a desired (known) linear velocity:</p>
      <p>))t = J*1F . /óóó 0 ))Xt (7)</p>
      <p>Using equations (6) and(7), we are able to calculate angles for reaching a certain point, and to
control the movement velocity in order to not produce wrong, possible harmful, movements of
each leg.</p>
      <p>In order to keep all the movements smooth, for any given point, the algorithm that reach a place
takes into consideration the initial point and the final point. Using this two points, a trajectory is
constructed (which depends on the given task, but could be linear), from which a closer point to
the initial position is extracted. The ending point for computing the new motor angles, following
equations (6) and (7), is the closer one extracted from the constructed trajectory. Once that the new
angles are obtained, the movement of a leg is triggered and performed.</p>
      <p>The developed software for controlling the platform, including a program that runs in a server
for remote control using a web-based application usable in mobile devices, are also available at the
online repository ( https://github.com/osilvam/Crabot).
(3)
(5)</p>
    </sec>
    <sec id="sec-11">
      <title>Conclusions</title>
      <p>CRABOT is a multipurpose platform developed for remote exploration and object manipulation.
The current advances allows to control the platform, with described mathematical descriptions of
its direct and inverse kinematics. The platform is capable to sustain up to two legs in the air for
object interaction, which makes it a very versatile legged robot.</p>
      <p>While the necessary hardware and mathematical approaches for controlling the platform are
here described, there is still an open problem about the specific design of different
manipulators that could be attached to its legs. Extending the platform with an analysis and design of
manipulators can contribute, as explained here, to the development of robots with lower energy
consumption ratios while exploiting the mobility advantages of using legs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>Bekker</given-names>
            <surname>MG</surname>
          </string-name>
          .
          <article-title>Off-the-road locomotion: research and development in terramechanics</article-title>
          . University of Michigan Press;
          <year>1960</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Chen</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Doshi</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goldberg</surname>
            <given-names>B</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wood</surname>
            <given-names>RJ</given-names>
          </string-name>
          .
          <article-title>Controllable water surface to underwater transition through electrowetting in a hybrid terrestrial-aquatic microrobot</article-title>
          .
          <source>Nature communications</source>
          .
          <year>2018</year>
          ;
          <volume>9</volume>
          (
          <issue>1</issue>
          ):
          <fpage>2495</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Kajita</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Espiau</surname>
            <given-names>B</given-names>
          </string-name>
          .
          <article-title>Legged robots</article-title>
          . In: Springer handbook of robotics Springer;
          <year>2008</year>
          .p.
          <fpage>361</fpage>
          -
          <lpage>389</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Kalouche S. GOAT:</surname>
          </string-name>
          <article-title>A legged robot with 3D agility and virtual compliance</article-title>
          .
          <source>In: Intelligent Robots and Systems (IROS)</source>
          ,
          <year>2017</year>
          IEEE/RSJ International Conference on IEEE;
          <year>2017</year>
          . p.
          <fpage>4110</fpage>
          -
          <lpage>4117</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Koyachi</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adachi</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Izumi</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hirose</surname>
            <given-names>T</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Senjo</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murata</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arai</surname>
            <given-names>T.</given-names>
          </string-name>
          <article-title>Multimodal control of hexapod mobile manipulator MELMANTIS-1</article-title>
          . In: Proceedings of 5th International Conference on Climbing Walking Robots;
          <year>2002</year>
          . p.
          <fpage>471</fpage>
          -
          <lpage>478</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Murphy</surname>
            <given-names>RR</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tadokoro</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacoff</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fiorini</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Choset</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Erkmen</surname>
            <given-names>AM</given-names>
          </string-name>
          .
          <article-title>Search and rescue robotics</article-title>
          . In: Springer handbook of robotics Springer;
          <year>2008</year>
          .p.
          <fpage>1151</fpage>
          -
          <lpage>1173</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Song</surname>
            <given-names>SM</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Waldron</surname>
            <given-names>KJ</given-names>
          </string-name>
          .
          <article-title>Machines that walk: the adaptive suspension vehicle</article-title>
          . MIT press;
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Torres Redondo</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <article-title>Analysis and optimization for a hexapod walking robot for planetary missions</article-title>
          .
          <source>PhD thesis</source>
          , Industriales;
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>