Quantizing Euclidean Motions via Double-Coset Decomposition

Concepts from mathematical crystallography and group theory are used here to quantize the group of rigid-body motions, resulting in a “motion alphabet” with which robot motion primitives are expressed. From these primitives it is possible to develop a dictionary of physical actions. Equipped with an alphabet of the sort developed here, intelligent actions of robots in the world can be approximated with finite sequences of characters, thereby forming the foundation of a language in which robot motion is articulated. In particular, we use the discrete handedness-preserving symmetries of macromolecular crystals (known in mathematical crystallography as Sohncke space groups) to form a coarse discretization of the space SE(3) of rigid-body motions. This discretization is made finer by subdividing using the concept of double-coset decomposition. More specifically, a very efficient, equivolumetric quantization of spatial motion can be defined using the group-theoretic concept of a double-coset decomposition of the form Γ\SE(3)/Δ, where Γ is a Sohncke space group and Δ is a finite group of rotational symmetries such as those of the icosahedron. The resulting discrete alphabet is based on a very uniform sampling of SE(3) and is a tool for describing the continuous trajectories of robots and humans. An efficient coarse-to-fine search algorithm is presented to round off any motion sampled from the continuous group of motions to the nearest element of our alphabet. It is shown that our alphabet and this efficient rounding algorithm can be used as a geometric data structure to accelerate the performance of other sampling schemes designed for desirable dispersion or discrepancy properties. Moreover, the general “signals to symbols” problem in artificial intelligence is cast in this framework for robots moving continuously in the world.


Introduction
The aim of this paper is to develop a "motion alphabet" with which robot motion primitives are expressed. From these primitives one can develop a dictionary of physical actions. Two main themes from the theory of Lie groups are used to construct this alphabet (or quantization) and to efficiently solve the "signals to symbols" problem in this context: (1) the decomposition of a Lie group into cosets, double cosets, and corresponding fundamental domains; (2) the possibility of constructing such fundamental domains as Voronoi or Voronoi-like cells.
Equipped with an alphabet of the sort developed in this paper and the associated algorithms for efficiently rounding off continuous motions to nearby discrete representatives, intelligent actions of robots in the world can be approximated with finite sequences of characters, thereby forming the foundation of a language in which robot motion is articulated.
At the macroscopic scale, the world can be thought of as continuous. Coarse descriptions of this continuous world are used by intelligent systems (e.g., humans and computers) to classify objects, actions, and scenarios. The classical "signals to symbols" problem in artificial intelligence (AI) seeks to bin everything in the continuous world into countable classes characterized by strings of discrete symbols, such as the letters in an alphabet. In a sense, this is the inverse problem of what the genetic code does, since the finite alphabet {A, C, G, T} encodes the morphology and metabolism of every living creature that moves in the continuous world and processes information with an analog brain.
Discrete alphabets (including the Roman alphabet, the radicals that form characters in Asian languages, sign language, etc.) form the basis for all human languages [1]. All discrete characters can be reduced to a binary code, e.g., ASCII or Morse code in the case of western letters. The efficiency of an alphabet (or a code) depends on how much information can be conveyed with a given number of symbols, and how difficult it is to convey those symbols. For example, since the letter "e" is the most often used symbol in the English language, it is represented by a single "⋅" in Morse code. Perhaps the simplest and most widely occurring motion of a robot is the "nil motion", or identity element of the motion group, describing the "home" pose (position and orientation), which coincidentally can be denoted simply as " ". All other elements of our motion alphabet will be written as a product of the form where ∈ Γ, a crystallographic space group, and ∈ Δ, a finite group of rotational symmetries.
As an example of how discrete symbols classify the world, consider how each of the following sentences describes a class of situations in which there is continuous freedom which becomes more restricted as the number of discrete symbols increases: (1) The cat is on the table.
(2) The black cat is sitting on the table.
(3) The black cat is sitting on the table and looking at you.
In (1), the cat could be of any color and lying down, sitting, or standing in an infinite variety of postures. The color and posture of the cat get somewhat restricted as the sentences get longer, but we still do not know how the cat is sitting, what its tail is doing, how big it is, its weight, the color of its eyes, etc. Indeed, the sentence would need to be quite long to hone in on what is actually going on, hence the old saying "one picture is worth a thousand words." The basic problem that must be reconciled by intelligent robots is to approximate, or round off, continuous objects and actions within a discrete descriptive framework and then truncate the discrete description at some finite level given limitations on computational and sensing resources. This is true in both machine-learning (ML) frameworks such as deep learning and classical AI. A specific kind of rounding off (of Euclidean motions) is the main subject of this paper, which is about making precise the round-off statement discrete description = [continuous description] (1) in the context of motions of objects and intelligent agents in the world.
A real-world problem that can be addressed using this discrete description of motions is robot motion planning, which is one of the fundamental topics in the field of intelligent robotics. It has a wide range of applications such as autonomous vehicles [2][3][4], mechanical parts assembly [5,6], space on-orbit manipulations [7], and protein folding [8]. In general, motion planning seeks to answer the query: "how to plan a path that guides the robot from a given start pose to an end pose subject to some geometric or dynamical constraints". And a popular way that has been applied for decades is to build a "roadmap" [9], which is basically a graph structure consisting of valid vertices and edges. A large number of efficient algorithms have been proposed such as visibility graph [10], Voronoi graph [11], cell decomposition [12], probabilistic roadmap [13], and their variants. For a given environment and constraints (obstacles, nonholonomic constraints, etc.), a roadmap provides information with qualified vertices and connectivity among nearby vertices. And once a query is submitted, graph searching algorithms give a valid optimal sequence of motions from the roadmap. Although a roadmap method is able to answer multiple searching queries, when the environment is changing, those vertices or edges information needs to be updated. To some extent, quantizing a continuous motion of the robot from a predefined motion alphabet is closely related to the roadmap concept. However, the advantage lies in the storage and representation of the motion sequences-once a rich library of alphabets is built a priori, representing different motions in different environment subject to different constraints is just a matter of combinations and ordering of the alphabet indices.
The major contributions of this paper are listed as follows: (1) A "signals to symbols" framework for Euclidean motions based on double-coset decomposition is proposed and its properties are analyzed.
(2) Concrete formulations of the motion alphabet are constructed through crystallographic symmetry.
(3) Fast decoding algorithms via coarse-to-fine doublecoset decomposition are proposed and numerically verified.
(4) Comparisons with existing methods for discretizing the Euclidean group and decoding random motions are performed.
(5) A fast hybrid search method that incorporates some existing sampling methods for rotation group with good dispersion or discrepancy properties has been proposed and verified.
The remainder of this paper is structured as follows: In Section 2, a review of the immense literature on machine intelligence as it applies to intelligent robot action in the world is provided. This is a rapidly changing field and impossible to capture in full detail, but some classical highlights are covered. Section 3 reviews some relevant aspects of abstract group theory. This is made concrete in Section 4 which focuses on the group of rigid-body motions. Section 5 reviews crystallographic symmetry, which is a source of discrete symbols from which a motion alphabet is constructed. In Section 6, we develop a motion alphabet by "dividing up" the group SE(3) of rigid-body motions via fine double-coset decomposition based on a crystallographic Sohncke space group and the subgroup of rotational symmetries of the icosahedron. Section 7 presents other choices for motion alphabets and solves the decoding problem efficiently by introducing a coarse-to-fine search scheme. In Section 8, comparisons with existing methods for sampling rotations and Euclidean motions are performed, and it is shown how our alphabet can be used as a geometric data structure to enhance the speed of these other motion-approximation methods.

Literature Review
This section reviews two largely disjoint areas of the literature: (1) the interface between group theory and machine learning and AI; (2) sampling methods and measures of their quality.
Of particular importance in the current context is the relationship between artificial intelligence and machine learning. AI arose as a branch of cybernetics, focusing on artificial aspects of reasoning and cognition, thereby leading to a redefinition of cybernetics to focus on information and control. Machine learning (and particularly deep neural networks) led by Hinton, LeCun, Bengio, and others can be viewed as an alternative to classical AI [41][42][43][44][45]. Recently, geometric and algebraic methods are being explored in some forms of machine learning [46][47][48].
The goal of this paper is to develop an alphabet of basic motions from which discrete words that capture the essence of a continuous motion/action are constructed. Throughout the literature, discretization of motions has attracted significant interest, where the Euclidean group is one of the popular ones [49]. In particular, the uniform sampling of rotations, either random or deterministic, has a wide range of applications [50][51][52][53][54][55][56]. This is also one of the applications that this work will address. The discretization of the continuous motions will generate part of a dictionary. This dictionary will, in the future, serve as the knowledge base for an expert system that will enable the robot to function at first use "right out of the box." 2.2. Measurements of Sample Quality: Discrepancy, Dispersion, Consistency, and Uniformity. Sampling rotations in an efficient way play important roles in several fields including computer graphics [50,57], protein crystallography [58], molecular physics [59], materials science [60], and robot motion planning [53,55].
Several measures of the quality of a finite sampled set of rotations have been proposed in the literature. One is discrepancy as defined and used in [53,61,62]: where R is a collection of measurable subsets of SO(3), is a finite set of sample points in SO(3), and | | is the number of elements in the finite set . This concept was updated recently to include products of motion groups [63]. Natural measures of distance between rotations, or between rigid-body motions, can be computed in a variety of different ways, as reviewed in detail in [64].
Given any such metric, : SO(3) × SO(3) → R ≥0 , the dispersion of the points can be computed as where is a set of the sampled elements in SO(3).
In addition to discrepancy and dispersion, many other measures of sample quality can be defined. For example, a sampling can be called consistent if the distribution of the round-off error for any random rotation is concentrated. Therefore, we define the consistency of a set of samples on SO(3) as where and is the standard deviation of the set of distances between each sample point and its nearest neighbor. Here a low value of C( , ) indicates high consistency. For example, if C( , ) is zero, then every point in the set has nearest neighbors of the same distance. Moreover, if each point in the set has many neighbors that achieve the minimal value of distance, then the set has a high level of uniformity, which can be quantified as follows. For each ∈ compute the subset ⊂ as fl { ∈ : ( , ) = ( )} .
Then the cardinality of this set measures the number of equally close nearest neighbors to , and uniformity weights this by the spread of this number: where a high value indicates high uniformity. The numerator reflects the number of nearest neighbors for the worst sample, and the denominator reflects the spread (with 1 included since the difference between max and min can be zero). For example, an integer lattice in 3D Euclidean space has a high level of uniformity with regard to the Euclidean metric, with each point having six nearest neighbors, each with the same minimized value of distance, and so C( , ) = 0 and U( , ) = 6. A spherical close-packing can have an even higher value of U( , ).

Some Relevant Aspects of Group Theory
The alphabets constructed in this paper consist of carefully chosen elements of the group of rigid-body motions, drawn from fundamental domains of double-coset spaces. Since this terminology might not be familiar to some readers with an interest in the topic, the relevant concepts from group theory are reviewed here. The concept of a group itself is assumed to be known.

Definitions and Properties.
Let a group and a subgroup < be given. For an element ∈ , the corresponding left coset is defined as Analogously, the respective right coset is defined as A subgroup < is called a normal subgroup of if it is conjugated to itself; . ., −1 = for all ∈ . If is both a normal and a proper subgroup of , then it is denoted as ⊲ .
A group can be divided into cosets (left or right), all with the same number of elements, and the set of all these cosets is called a coset space. In general, the left-coset space and the right-coset space are different from each other, except when is normal in G ( ⊲ ), in which case = for all ∈ . In this special case / = \ š / is a factor (or quotient) group.
Given two subgroups , < , it is also possible to define double cosets and the corresponding double-coset space, Given a left-coset decomposition with respect to a subgroup , it is possible to define a (nonunique) fundamental domain consisting of exactly one element per left coset. Since a group can be partitioned into disjoint cosets, it is (and analogously in the right-coset case [65]). It is important to note that we are generally dealing with unions of disjoint sets in this paper. When ⊲ , such fundamental domain is a group with respect to the original group operation modulo , and this group is isomorphic to / . Given two subgroups , < , the corresponding double-coset decomposition is and we further have that where \ / is a fundamental domain for the doublecoset space \ / consisting of exactly one element per double coset. When is a Lie group (i.e., when has the structure of a differentiable manifold, and when further the group operation and inversion are compatible with this smooth structure) and , are discrete subgroups, then such fundamental domains / and \ / will have the same dimensionality as , but smaller volume. When is a Lie group, one way to construct fundamental domains is as Voronoi-like cells: Since is a smooth manifold, a proper distance function (metric) exists, and we can define where is the identity element of , and when ∩ = { }, Above we have defined the interior of fundamental domains. The union of the corresponding shifts of these open sets will not in general completely exhaust G (cf. (16) and (18)). However, a set of measure zero will at most be missing, which is not relevant for our practical purposes.
A unimodular Lie group is one for which there exists an integration measure, , or equivalently a volume element , such that for every integrable function : → R, In the case of a compact Lie group such as = (3), (1) = ( ).
In terms of Euler angles ( , , ), it is well known that the volume element for SO(3) is [64] = sin .
Consequently, sampling uniformly in Euler angles leads to clumping of samples around = 0 and , and under sampling near = /2. Some authors therefore sample nonuniformly, by making a change of coordinates as = cos −1 ( ). Then sin = √ 1 − 2 , and | / | = 1/ √ 1 − 2 . This results in equivolumetric portioning of (3) in the coordinates ( , , ) with volume element = . However, equipartitioning into units of equal volume is not the same as equipartitioning into units of equal shape. One attempt to partition based on shape arose nearly 50 years ago in the context of protein crystallography, where Lattman [58] realized that the metric tensor for SO(3) as expressed in Euler angles ( , , ) could be diagonalized by changing to ( , , ) fl ( + , , − ). This diagonalization Research 5 does not change the volume element, which remains = sin . Group theory has been a cornerstone in all areas of the physical sciences including crystallography, classical mechanics, quantum mechanics, chemistry, and particle physics. Moreover, in classical works on finite automata theory, attempts were made to incorporate the theory of finite groups [26][27][28]. Many roboticists and computer vision researchers know about the special Euclidean group SE(3), which is a Lie group that describes rigid-body motions. This will be discussed later, after first reviewing the group of pure rotations.

A Concrete Example: The Rotation Group.
In the following, the abstract definitions are illustrated with a concrete example. The set of 3 × 3 rotation matrices is called the special orthogonal group and is denoted as SO (3). That is, where I is the identity matrix. Here the group operation is simply matrix multiplication. It is not difficult to show that I is the group identity, given any two 1 , 2 ∈ SO(3) that the matrix product 1 2 ∈ SO(3), and that −1 = T is the inverse of ∈ SO(3). Explicitly for SO (3), elements of the associated Lie algebra so (3), which correspond to infinitesimal rotations, are skewsymmetric matrices and the matrix exponential (or exponential) map gives The opposite operation giveŝfl . The parameters 1 , 2 , and 3 can be thought of as Cartesian coordinates in the Lie algebra so (3), and when these coordinates are restricted to the range ‖ ‖ 2 ≤ , they can be used to parameterize all of SO(3) through the exponential map. When ‖ ‖ 2 = the point is at the boundary. In such a case and − describe the same rotation, and so one model for SO(3) is that of a solid ball of radius in Euclidean space, with antipodal points identified as being equivalent, or "glued." The inverse map for each is the matrix logarithm. This degenerates when the rotation angle fl ‖ ‖ 2 is . By restricting the discussion to the case when < , the logarithm is uniquely defined on a subset of SO(3) depleted by the set of measure zero defined by = . This depletion will have no effect on our formulation. Indeed, we can define the metric when T 1 2 is not a rotation by , and otherwise ( 1 , 2 ) fl .
It is interesting to note that the above distance function for SO(3) is bi-invariant; i.e., Using this particular metric it is possible to construct Voronoi cells (in the classical sense) in SO (3) for fundamental domains \SO(3) and \SO(3)/ , because then (19) and (20) become and respectively.
Of particular interest to us are the cases where is one of the finite groups of rotational symmetries of the Platonic solids. This is shown in Figure 1 (see also [54]). In this figure the fundamental domains \SO(3) are depicted in exponential coordinates in so(3) (identified with a ball of radius , as explained above). Note that this is a conceptual plot, since actually the edges and faces of these Voronoi cells are slightly bent. The number | | of elements in is 12 for the group of tetrahedral, 24 for the group of octahedral, and 60 for the group of icosahedral rotational symmetries. By the left (or right) action of on the respective fundamental domain, it is possible to (almost completely) cover SO(3); cf. (16).
The coset spaces resulting from quotienting the rotation group by discrete subgroups have been studied in the pure mathematics literature under the names "spherical space forms" [66] and Poincaré homology 3-spheres [67]. The geometric and topological properties of these manifolds are related to how the opposing faces of our tiles can be glued together.
If is the group of rotational symmetry operations of the icosahedron, then | | = 60 and \SO(3) can be viewed as a dodecahedral cell centered at the origin of the Lie algebra so(3) (see Figure 1, right). If we choose the second subgroup to be a conjugated group of the tetrahedral, octahedral, or icosahedral symmetries (i.e., fl −1 , where is the group of the rotational symmetries of the respective Platonic solid and ∈ SO(3) is chosen such that ∩ = {I}), then the Voronoi cell \SO(3)/ takes a shape as exemplarily shown in Figure 2. On the other hand, if we choose fl , then \SO(3)/ cannot be constructed as a Voronoi cell, but it can be chosen as an irregular tetrahedron (the ruby region in Figure 3), yielding a subdivision of the dodecahedral cell \SO(3) by conjugation of the tetrahedron with the elements in . Note that such conjugation has the effect of rotation in so (3)  represent \SO(3)/ , and \SO(3) can be reconstructed from these pieces, again by conjugation. When choosing to be icosahedral and = or = −1 , this means that we can divide SO(3) into 3600 pieces of equal size. The 3600 respective barycentric or Voronoi centers of these cells can be taken as a discretization of SO(3), and any of these centers can be written in a unique way as = ℎ where (ℎ , ) ∈ × with , ∈ {1, 2, . . . , 60}. This means that any one of the 3600 points corresponds to a two-letter word (ℎ , ).
A natural question to ask is then, for ∈ SO(3), how do we find the closest word (ℎ , ) to approximate it? This decoding or "signals to symbols" problem is addressed in Section 7.1.

Rigid-Body Motions as a Group Used for Framing Robots
Given any rigid object or multi-rigid-body actor (such as a human, robot, self-driving car, or smart house), the behavior and use of this item involve the time evolution of its conformation and its overall position and orientation, or "pose". A common descriptive framework for both the internal (conformational) degrees of freedom and their relative pose (configuration) is to attach reference frames on each rigid component. Let = ( , ) denote a rigid-body motion relative to a reference frame fixed in space, where ∈ SO(3) is a rotation matrix and ∈ R 3 is a translation vector. The set of all such motions forms a six-dimensional Lie group, the special Euclidean group E(3). This is a group because the composition operation satisfies the properties of closure and associativity, the identity exists and is simply = (I, 0) (with zero translation), and the inverse of is −1 = ( T , − T ). Note that SE (3) is not commutative (Abelian). The group operation is the same as multiplying homogeneous transformation matrices; i.e., In the case of planar motions, we deal with the special Euclidean group SE(2), where ∈ SO(2) is parameterized by a single angle , and ∈ R 2 has components ( , ), totalling three degrees of freedom. SO(2) is the group of rotations in R 2 , defined analogously to (23). In general, SE( ) is an example of an outer (or external) semidirect product which combines the two groups (R , +) and SO( ) into the new group The underlying set of this group is the Cartesian product SO( ) × R , but the symbol ⋉ reflects the fact that the group operation is not simply which is also a group (called the direct product), but does not reflect the way that rigid-body motions work. The next section reviews the handedness-preserving (Sohncke) crystallographic space groups, which are discrete subgroups of SE(3) and which form an important component of the motion alphabets developed in this paper.

Crystallographic Groups
A crystallographic group is a discrete (and also cocompact) subgroup of the Euclidean group E( ) fl O( ) ⋉ R , where O( ) is the orthogonal group consisting of all orthogonal realvalued × matrices (defined as in (23) for = 3, but also allowing det = −1 there). In addition to rotations, the group O( ) also contains reflections and rotoreflections (improper rotations). If = 3, a crystallographic group is commonly called a space group, for = 2, it is referred to as a wallpaper group. The literature on mathematical crystallography is immense and spans many decades. Some notable introductions include [68][69][70][71]. The relationship between torsion-free crystallographic groups (i.e., Bieberbach groups; see below) and flat manifolds has been studied extensively [72][73][74][75][76].
Elements of a crystallographic group Γ can be expressed as pairs where ∈ P (a discrete point group, i.e., a subgroup of O( )), ∈ L (a lattice in R ), and : P → R . In particular, is the translational part of a glide-reflection or screw-displacement lattice motion. In general will satisfy the cocycle identities where fl {I} ⋉ L is the subgroup of pure (or primitive) translations in Γ, which is always normal ( ⊲ Γ). The "mod " removes components in the sum that are in , in analogy with, for example, (1 + 5)mod 4 = 2 in modulo-4 arithmetic.
If an element ∈ Γ\{ } is of finite order (i.e., if there exists an ∈ N such that = ), it is called a torsion element. The group Γ is called torsion-free (or a Bieberbach group) if it is free of torsion elements. This is equivalent to the property that no element ∈ Γ other than the identity has a fixed point (i.e., a point ∈ R with = ). If ≡ 0 in (33), then Γ can be written as the semidirect product Γ = P ⋉ L and the group is called symmorphic. Of the 230 possible types of space groups, 73 can be decomposed in this way. These are the symmorphic space groups. Bieberbach groups are not symmorphic.
In the theory of crystallographic groups, a well-known isomorphism is due to the above-mentioned fact that the translation subgroup of Γ is normal: Moreover, it can be shown that P is not only discrete, but must be finite. In the case = 3 the point group P will belong to one of 32 discrete crystallographic point groups that constitute the so-called crystal classes.
In the context of space groups, we can distinguish between Bieberbach (i.e., torsion-free) groups as one extreme, and groups which contain only the identity and torsion elements (rotations, reflections, and improper rotations) as the other extreme, with all other space groups lying somewhat "in between." For a symmorphic space group Γ, a Bieberbach subgroup Γ B < Γ with minimum index in Γ is the subgroup of primitive translations; for many nonsymmorphic space groups, on the other hand, there is where < Γ is a proper subgroup of P ⋉ {0} < E(3), and thus Γ B ∩ = { }. If Γ B ⊲ Γ, then (36) is an inner (or internal) semidirect product (Γ = Γ B ⋊ ). In this case, the decomposition = B is unique for each ∈ Γ. Another useful property is that each of the 65 Sohncke space groups (i.e., handedness-preserving space groups Γ < SE(3)) can be written as a product where Γ B and Γ S are, respectively, Bieberbach and symmorphic subgroups (see [77,Thm. 3]). If Γ B ∩ Γ S = { } and Γ B or Γ S is normal, then (37) is an inner semidirect product, and for every ∈ Γ there exist unique B ∈ Γ B and S ∈ Γ S such that = B S . If both Γ B and Γ S are normal, then Γ is decomposed into the inner direct product Γ = Γ B × Γ S .

A Motion Alphabet Based on a Fine Double-Coset Decomposition
The essence of language is communicating information about the continuous world using a finite number of symbols, characters, or patterns. In the same spirit, in classical AI, a fundamental goal is to convert perceptual information from the continuous world to strings of symbols drawn from a finite alphabet, so that the machinery of finite-state automata reasoning can be applied. Every action of a robot in the physical world can be described as a sequence of paths in SE(3). Such paths are continuous mathematical trajectories which can be viewed as "signals". A fundamental problem in AI and sensory perception is the so-called "signals to symbols" problem [78][79][80], in which observations in the continuous world are converted to coarsified representations (i.e., symbols), on which AI systems can execute logical reasoning algorithms. A natural way to discretize the space of paths is to first discretize time, thereby reducing the infinite dimensions of the path space to a finite number of dimensions, and then to replace each sampled pose on the path with a rounded-off version in a discrete set (the alphabet of maneuvers). Because SE(3) does not have dense subgroups, a clever discretization needs to be constructed.
In the three-dimensional case, one of the finest space groups is Γ = P432 which has a total of 24 rotational elements corresponding to the rotational symmetry operations of a cube (cf. [69, p. 634f]). Therefore, if we want to quantize rigidbody motions with a resolution that is reasonable for realworld tasks, something finer than rounding off to the nearest element of Γ is necessary.
Building on ideas introduced in the context of proteinpacking models in X-ray crystallography [55,65,77,81,82], we can augment Γ by an auxiliary discrete rotation group. For example, let Δ denote the group of rotational symmetries of the icosahedron (as a discrete subgroup of SE (3)). Δ has 60 elements, and there is no lattice of discrete translations that corresponds to it. In particular, Γ, Δ < SE(3) and Γ ∩ Δ = { }, the identity element. This means that the double-coset space Γ\SE(3)/Δ is a compact Riemannian manifold. It is possible to define a compact fundamental domain Γ\SE(3)/Δ ⊂ SE(3) using (20). Restricting the quotient map from SE(3) to Γ\SE(3)/Δ to the fundamental domain Γ\SE(3)/Δ then gives a bijective (i.e., one-to-one) mapping from Γ\SE (3) Intensive study of the fundamental domains Γ\SE(3) and Γ\SE(3)/Δ has been conducted (ibid.). When the fundamental domain Γ\SE(3)/Δ is constructed using (20), it has the identity element at its center, and so the tiling in (38) has the effect of sampling each center point by moving from to where ∈ Γ and ∈ Δ. In other words, the product Γ × Δ < SE(3) 2 can be used as a quantized version of SE(3). The number of rotational elements will be 24 × 60 = 1440 which is sufficiently fine to capture the essence of any frame along a trajectory during a robot task. The alphabet defined by Γ × Δ is infinite, but by limiting the extent of translations to be contained in a bounded region, it becomes finite. This means that continuous trajectories can be translated into a finite string of alphabet characters (Figure 4). This opens up the possibility of mapping these quantized trajectories into words expressed in a natural language.
An important advantage of the quantization scheme (38) is that the shifted fundamental domains Γ\SE(3)/Δ will all have the same volume; i.e., where is the (left-and right-invariant) Haar measure on the (unimodular) Lie group SE(3). This means that the centers of these shifted fundamental domains used for quantization at the same time also allow for a very uniform sampling of the group SE(3).

More Alphabets and Coarse-to-Fine Decoding Algorithms
As explained above, after wisely designing a pair of discrete subgroups Γ, Δ < SE(3) with Γ ∩ Δ = { }, we can construct a fundamental domain as in (20) and decompose SE(3) as in (38). There are many other ways to choose Γ\SE(3) and Γ\SE(3)/Δ , as explained in [65]. A particularly simple choice is the Cartesian product where P ≅ Γ/ is the point group of Γ and L the lattice of primitive translations. Alternatively, given decomposition (36), another natural choice is Here \SO(3)/Δ and Γ \R 3 are not (double-)coset spaces-because ̸ < SO(3) and Γ B ̸ < R 3 -but are orbit spaces consisting, respectively, of orbits Δ fl { : ∈ , ∈ Δ} and Γ fl { B : B ∈ Γ B } ( ∈ SO(3), ∈ R 3 ). The fundamental domains \SO(3)/Δ and Γ \R 3 above can be constructed by choosing exactly one point per orbit, which is consistent with the definitions in Section 3. Different fundamental domains Γ\SE(3)/Δ such as those above can be used to express different quantizations via (38). ( ) = ( ( ), ( )) in SO(3) × R 3 (as a direct product rather than a semidirect product). This is not merely to make things easier-viewing pose change trajectories in this way has some advantages, as described in [40], where the direct product SO(3) × R 3 is called the pose change group and is denoted as PCG (3). Therefore, below we describe in some detail how the "signals to symbols" problem can be solved efficiently in the purely rotational case.
Since (40) is a set rather than a group, we can view it as a subset of either SE (3)  The question then becomes how to do this. With the crystallographic constraint, in SE(3) it is possible to define such that | | = 24 (octahedral symmetry) and | | = 60 (icosahedral symmetry), leading to 24 × 60 = 1440 combinations. In PCG(3), on the other hand, subgroups need not be restricted to the crystallographic constraint, and we can have more rotational elements (see below). The question is, is there a better way to test for ℎ and than two nested for loops over and resulting in a large number of evaluations to find where ( , ℎ ) is minimized, which is equivalent to solving (42) when the Voronoi choice is made for \SO(3)/ ?
The answer is positive, and we shall now present a technique to achieve this. Consider the double-coset space \SO(3)/ , where is the group of rotational symmetries of the icosahedron and = T is a conjugated group, with being chosen so that ∩ = {I}. It is thus | \SO(3)/ | = | | × | | = 60 2 = 3600. We can construct a fundamental domain \SO(3) for the coset space \SO(3) as a dodecahedral Voronoi cell (cf. (28) and Figure 1, right). Due to the Voronoi property, we can find the shifted tile ℎ \SO(3) containing the rotation of interest by computing the distance ( , ℎ ) of to the 60 tile centers ℎ ∈ . We then know that ℎ T lies in the identity-centered tile \SO(3) . We can construct the fundamental domain \SO(3)/ for the Research double-coset space as a Voronoi cell, too (cf. (29) and Figure 2, right). Since the shifts ℎ \SO(3)/ of this identity-centered fundamental domain will cover SO(3), they will also cover \SO(3) . However, the number of required shifts will be much smaller than 3600. Indeed, we found that approximately 180 shifted fundamental domains ℎ \SO(3)/ are sufficient when the conjugation element is empirically chosen, for example, to minimize the extent sup of \SO(3)/ . We chose in this particular way so as to minimize the round-off error in the quantization scheme. We can now quickly find the shifted fundamental domain ℎ \SO(3)/ containing the above ℎ T by exploiting the Voronoi property of these shifted domains. We then have that ∈ (ℎ ℎ ) \SO(3)/ , and so the decomposition (42) is found. Instead of the 3600 distances on SO(3), in the above technique, we have to compute only about 60 + 180 = 240 distances, resulting in a potential speedup of approximately 3600/240 = 15. We further exploited the fact that ( 1 , 2 ) = arccos((1/2)[tr( T 1 2 ) − 1]), the trace wherein can be computed efficiently as as well as the fact that arccos < arccos if and only if > . An even more efficient decoding algorithm can be obtained when considering the double-coset space \SO(3)/ , where is the group of rotational icosahedral symmetry. Here again we can use the dodecahedral Voronoi fundamental domain \SO(3) for the coset space \SO(3) and find the shifted tile ℎ \SO(3) containing the rotation easily as described above. As a fundamental domain for the double-coset space, we can choose the tetrahedral wedge shown in Figure 3. We can find the conjugated wedge ℎ \SO(3)/ ℎ T containing the "pulledback" rotation ℎ T by using one of the standard query methods. We then know that ∈ (ℎ ℎ ) \SO(3)/ ℎ T , and so (42) is solved.
We note that as is the case in Section 6 (cf. (39)), the shifts of the fundamental domains \SO(3)/ and \SO(3)/ above all have the same volume, which is an important advantage of the double-coset approach presented in this paper.

Planar-Motion Alphabets Based on Wallpaper Groups.
As mentioned in Section 5, crystallographic groups are called wallpaper groups in the two-dimensional setting. Figure 5 shows fundamental domains p \SE(2) constructed using (19) for instances of the well-known wallpaper groups (cf. [69, Chap. 6]) p 1 , p 2 , p 4 , p 3 , and p 6 (see also [55]), all of which are symmorphic. Here SE(2) is identified with R 2 × (− , ) ⊂ R 3 , with the and axes representing translations in and direction and the axis representing the rotation angle . These fundamental domains are generated using the Euclidean metric ‖ ⋅ − ⋅ ‖ 2 on R 3 , adapted so as to take into account the 2 -periodicity in the rotation angle . It is important to note that this metric is left-but not right-invariant (there is no bi-invariant metric on SE(2)). Therefore, the fundamental domains shown in Figure 5 are actually Voronoi rather than Voronoi-like cells (as is the case for SO(3), cf. (28)).
The group p 1 consists solely of translations, constituting a parallelogrammatic lattice in the translational -plane. This results in a box with (irregular) hexagonal shape in theplane and height 2 as the fundamental domain p 1 \SE (2) . In addition to the translations in p 1 , the wallpaper group p 2 also contains a rotation of order two (i.e., with angle ). Therefore, the fundamental domain p 2 \SE(2) also has a hexagonal shape in the translational plane, but the height is only (from − /2 to /2) instead of 2 . The group p 4 is a group with rotations of order four (i.e., with angles /2, , and 3 /2), as well as translations in a square lattice. Thus the fundamental domain p 4 \SE(2) has the shape of a square in the translational plane, with its height being /2 (from − /4 to /4). The groups p 3 and p 6 both have a hexagonal translation lattice. In addition to these translations, p 3 contains rotations of order three (rotation angles 2 /3 and 4 /3), while p 6 contains rotations of order six (rotation angles /3, 2 /3, , 4 /3, and 5 /3). Both fundamental domains p 3 \SE(2) and p 6 \SE(2) have a regular hexagonal shape in the translational plane, with a height of 2 /3 (from − /3 to /3) and /3 (from − /6 to /6), respectively.
As an example of a planar-motion alphabet similar to the one described in Section 6, let us consider the double-coset space Γ\SE (2) is the group of rotations of order 2 −1 ( ∈ N). It is Γ∩Δ = { } and so we can construct a fundamental domain Γ\SE(2)/Δ as a Voronoi-like cell using (20). This is shown in Figure 6 for = 3. In fact, because the left-invariant metric used here is also invariant under purely rotational actions from the right, the fundamental domain Γ\SE(2)/Δ is a classical Voronoi cell here, too (again as in the case of SO(3), cf. (29)). Analogously as in Section 6, we can use the alphabet Γ × Δ < SE(2) 2 for an equivolumetric quantization of SE (2), which at the same time allows for a very uniform sampling of the group. Because the scaling of the translational lattice in the wallpaper groups is arbitrary, we can make the alphabet Γ × Δ arbitrarily fine by reducing the translational scaling in p 4 and increasing the parameter above.
To illustrate the use of the planar-motion alphabets constructed above, let us consider the SE (2)  We may discretize at the five equidistant time points (1 + 2 /5), = −2, . . . , 2. As a motion alphabet for SE(2), let us use Γ × Δ = p 4 × C 5 . We can denote the elements of C 5 by with the index as in (45). Let us denote the elements of p 4 as , where ∈ Z and ∈ Z denote the translation in and direction, respectively, while ∈ {0, 1, 2, 3} indicates a rotation by an angle of /2. The continuous motion trajectory can now be expressed as the sentence To close this section, we shall discuss how such decoding problem can be solved efficiently. We can use the same coarseto-fine search scheme that we used in the purely rotational case in the previous section: In a first step, for a given element ∈ SE(2), we find ∈ p 4 such that ∈ Γ\SE(2) . This step is particularly easy in the case of p 4 when compared with, e.g., the group p 1 (with anisotropic translational lattice). In fact, as implied by Figure 7, in the case of p 4 the above step can be realized by appropriately rounding off (in the decimal sense) the translational components of , as well as the rotation angle. In the case of p 1 , on the other hand, we would have to compute the distances of to the Voronoi centers. In a second step, we search for the shifted fundamental domain Γ\SE(2)/Δ containing the pulled-back element −1 by a purely rotational search. The decomposition of then reads ( ) with = ( ) −1 −1 ∈ Γ\SE(2)/Δ . Of course it is also possible to first treat the translational part of and then, say, the rotational part. With appropriate modifications, the above coarse-to-fine decoding scheme can also be used with the fine alphabet for SE(3) developed in Section 6.

Comparisons and Applications
To clearly demonstrate the advantageous potential of our proposed discretization and decoding algorithms, we provide comparisons of performance with existing methods and introduce a hybrid sampling method to take advantage of the speed and low dispersion properties. that any rotation is located inside an identical Voronoi cell. The uniformity is essential to evaluate how good a sampling method is, and can be measured by dispersion, discrepancy, consistency, etc., as introduced in Section 2.2. For the computations of dispersion and consistency in this work, ( , ) fl ‖log ∨ ( )‖ 2 is the distance metric defined in Section 3.2.
We compare the dispersion (3), consistency (4), and uniformity (7) of our method in sampling from SO(3) with uniform Euler angles and uniform sampling using Hopf fibration [53]. For the dispersion comparison, we randomly generate 10000 rotations and compute the distance with the nearest sample. The maximum value of these 10000 resulting distances approximates the dispersion. For the consistency, on the other hand, for each sample, we compute the distance to its nearest sample and take the standard deviation. And for the uniformity measure, we compute the number of nearest neighbors of each sample.
For our method, we decompose SO (3) We found that the 181 shifted fundamental domains ℎ \SO(3)/ with center ℎ closest to the identity are sufficient to cover \SO(3) . And for the Euler angle, we choose parameterization and uniformly generate and within their range [− , ] and such that cos ∈ [−1, 1].
In terms of the dispersion, our method is higher than the other two methods: the dispersion of ours is 0.4291, Hopf fibration method is 0.2690, and Euler angle method is 0.3401. However, for the consistency, ours can achieve 0 deviation, while Hopf is 0.0264 and Euler angle is 0.0865. This consistency result is a significant advantage of our method in the sense that the sampling grid always has equi-distance edges. Also since the number of nearest neighbors with minimum distance for our method is always 2, the uniformity is 2. This also outperforms the other two methods, where Hopf fibration has a uniformity of 0.25, and Euler angle is only 0.0303. The results show that our method can be used in uniformly sampling rotations from SO(3).

Computational Time of SO(3) Nearest Neighbor Search.
Another key factor for performance evaluation is the running time when searching for the nearest sample for a random rotation. A common and efficient way is using the Euler angle parameterization. Suppose we are given a set of sample points constructed using Euler angles (either with or without cos −1 sampling, or Lattman's diagonalization of the metric tensor, as discussed in the Introduction). Then given an arbitrary rotation, , one can compute its Euler angles ( , , ) and attempt to round off to the nearest Euler angles in the sample set as ([ ], [ ], [ ]). This is simple and fast to compute, but because Euler angles are not an equi-metric spacing, the resulting rounded rotation matrix may not be the closest of the sampled rotations to . In contrast, our method is both fast and accurate in the sense of metric round-off.
To illustrate this, we perform a comparison here at an Intel Core i7-4790 CPU at 3.60 GHz × 8 and with Matlab R2018b. For our method, we use the double-coset space \SO(3)/ , where we have a faster version of the decoding algorithm. Comparisons are performed with the Euler angle searching method (described above). 1000 random rotations are generated and localized to the nearest sample from the sampling list. The accuracy of computing the nearest neighbor is evaluated using the brute-force nearest neighbor search (i.e., minimization of the distance ( , ℎ ℎ ) with respect to both and ).
The result shows that the proposed decoding algorithm yields an average runtime for each search at around 55.9 in our method, while the Euler angle method runs 53.6 per rotation. Both methods are at the same level of efficiency, but ours outperforms in terms of round-off accuracy. Figure 8 shows the minimum distance between the queried rotations (50 of all the testing rotations are shown for a clearer plot) to the set of samples. Ours can always find the true nearest neighbor, while Euler angle sometimes returns the sample which is not the nearest to the queried rotation.

Combining the Benefits of Speed and Good Dispersion
Properties. Sampling methods such as those based on the Hopf fibration were designed for good performance in terms of minimal dispersion and consequently outperform both Euler angles and our sampling scheme in terms of minimizing dispersion. Ours was designed for rapid query. However, if one wants both, it is possible to simply combine them in a natural way as follows: (1) Partition any given set of sample rotations with desirable properties (such as dispersion and discrepancy) by determining in which shard each sample point belongs. (2) Given an arbitrary rotation, determine to which double-coset fundamental domain it belongs.
(3) Compute the distance between the arbitrary given rotation and all sample points in the same shard, and those in the nearest surrounding shards.
In this scheme the number of sample points could be in the same order or even much higher than the number of shards.
We perform a numerical experiment to verify this proposed hybrid searching method using the \SO(3)/ decomposition. As a preprocessing step, we first compute the nearest neighbors for each of the 60 elements in , and we find that each rotation is surrounded by 12 neighbors. This step is to construct a connectivity map for the singlecoset space or, in other words, for each icosahedron cell. Then we uniformly sample 10000 rotations using Hopf fibration, which is known to have low dispersion and discrepancy. For each sample, we decompose the rotation group via our proposed fast decoding algorithm and precompute a list of index pair, which locates the cell and shard of those samples. Afterwards, we randomly generate 1000 rotations and the goal is to find their closest sampling rotations. For each of the random rotations, we decompose it, locate the cell (determined by the first index), and then calculate the minimum distance with all the samples located in the same cell and the 12 neighboring cells. By using this hybrid method, the running time is around 5 times faster than the brute-force searching method, and the resulting minimum distance is verified to be 100% correct.
Another experiment has also been performed using the \SO(3)/ decomposition. The difference with the previous test is the preprocess, where here we precompute the nearest neighbors for the 3600 elements, . ., ℎ ∈ × where , = 1, 2, . . . , 60. This is equivalent to finding the neighbors of each shard in the double-coset space. The same sampling and testing sets are input into the hybrid algorithm and we achieve a speedup of around 20 times than the brute-force method. Also, the resulting minimum distance is verified as 100% accurate.

Conclusion
Robot tasks involve continuous motions in space. The quantization of these motions by introducing a class of motion alphabets has been established in this paper. With such an alphabet, continuous motion trajectories can be captured with finite words/sentences. It was demonstrated in some examples how the possibility of constructing fundamental domains for coset and double-coset spaces as Voronoi or Voronoi-like cells can be used to solve this decoding or "signals to symbols" problem efficiently via a coarse-to-fine search scheme. The performance, such as uniformity, of the proposed group discretization method and the fast decoding algorithms are compared with other existing methods. The alphabets developed here will be used in the future to facilitate the connection between advances in artificial intelligence (such as the use of artificial neural networks) and physical robots acting in the world.

Disclosure
The findings and opinions expressed here are only those of the authors, and not of the funding agencies.