## Abstract

Omnidirectional mobile robots are widely used in studies and services as they are effective and efficient in moving in any direction regardless of their current orientation. These significant properties are very useful in energy-efficient navigation and obstacle avoidance in dynamic environments. The literature on modeling and control of omni-wheel robots usually relies on the kinematic model or simplified kinematic model. Then developing control laws based on these reduced-effect models. In this article, we developed an efficient full dynamic model of a nonholonomic omni-wheel robot, including roller dynamics. That allows for a proportional–integral–derivative control law to accurately follow arbitrary paths. Kane’s approach was used for the dynamic model derivation. Kinematic modeling is less complex than multibody dynamic modeling. But to have an accurate simulation of the realistic motions of a mechanical system, the multibody dynamic model is required.

## 1 Introduction

The word omnidirectional means being in or involved in all directions. In robotic motion, it describes the ability of a system to move in any direction from any configuration. Omni-directional robot platforms have several advantages over a conventional design in terms of mobility in congested environments. These robots are capable of easily performing tasks in environments congested with static and dynamic obstacles and narrow aisles. These environments are commonly found in factory workshops, warehouses, hospitals, and elderly care facilities [1].

The word “mobile robot” is broad as it includes air-based, water-based, and land-skid locomotion. Skid locomotion can be done using robotic limbs, wheels, steer, and hybrid methods. Wheeled mobile robots are popular as they are relatively easy to design and implement. Widely used wheels are conventional wheels, steering wheels, caster wheels, Mecanum wheels, and universal omni-wheels (see Fig. 1). By using various wheel configurations, omnidirectional mobility can be attained.

Among the mentioned wheel types, Mecanum and universal omni-wheels are most used in designing omnidirectional mobile robots and can be controlled using differential torques. When comparing those wheel types, universal omnidirectional wheels can carry more load and has less complexity in manufacturing [2]. In this study, universal omni-wheels were used with a square-based configuration (Fig. 2(b)) based on the research presented in the work by Shabalina et al. [2] Also, it was noticed that this configuration is the least studied, while the three-wheeled universal omni-wheel robot is the most studied configuration.

In classical mechanics, dynamic systems fall into two categories, namely, holonomic or nonholonomic. A system is holonomic if the number of controllable degrees-of-freedom is equal to the total degrees-of-freedom. To be a nonholonomic system, controllable degrees-of-freedom must be less than the total degrees-of-freedom [3]. In other words, holonomic systems have only geometric constraints, while nonholonomic systems have velocity constraints. In wheeled mobile robots, the property of holonomicity is directly dependent on the type of wheels.

In mobile robots, key issues that need to be addressed are point stabilization, path planning, trajectory tracking, and obstacle avoidance [4,5]. Wang et al. presented the trajectory tracking of a three Mecanum wheeled mobile robot with symmetric configuration. In this study, a model predictive controller was developed along with a kinematic model. Further, the authors have demonstrated receding horizon controllers, potential field concepts, and backstepping techniques as control strategies that can be used for mobile robot navigation.

A pulse width modulation-based odometry control approach has been used for path planning and motion control of a four-wheeled X configured mobile robot [5]. As future work, the authors suggest implementing a proportional–integral–derivative (PID) or fuzzy controller to address the error resulted in actual heading angle and the reference heading angle difference.

Energy optimization in mobile robots is one of the trending areas of the research. Zhao et al. presented an energy optimization method considering motion-induced forces and internal forces for a three-cluster wheeled robot. The results show that controlling those interactive forces caused the energy utilization to be optimized [6].

Li et al.[7] demonstrated how controlling actuator dynamics and actuator saturation leads to a stable motion controller using a kinematic model and motor dynamics of a three-wheel omnidirectional mobile robot.

Soccer is a sport that needs high mobility like stops, turns, and so on. Omni-wheels can be successfully used in such soccer playing applications in contrast with conventional wheels. Samani et al. [8] presented a three-wheel omnidirectional soccer-playing robot without heading direction. A kinematic model with a linear and angular momentum balance for motor dynamics was considered in the research assuming a no-slip condition. Self-localization of the robot was accomplished using odometry.

Path planning and trajectory tracking are two challenges that a mobile robot should overcome. Most studies either addressed path planning or trajectory tracking [9]. Kim et al. suggested a brain limbic system-based controller for motion control of a four-wheeled omni-directional mobile robot while using an A* and fuzzy analytic hierarchical process. The controllers are based on the kinematics and motor dynamics of the robot.

A simplified Mecanum wheel model has been presented by Dosoftei et al. [10] using a reduced omni-wheel model. Assuming a no-slip condition, a kinematic model and inverse kinematic model are presented in the work. The dynamic model of the four-wheeled mobile robot was developed using Simscape Multibody™, a tool used for 3D virtual prototyping.

In Ref. [11], a generalized n-number of wheels robot model was presented. The final velocities of the robot wheels have been derived by considering traction forces from the motors. The researchers came up with an accurate driving check model by comparing the wheel velocities to identify whether the robot is slipping. A trajectory linearization controller for dynamic control was presented in Ref. [12,13]. The controller has an inner loop for dynamic control and an outer loop for kinematic control based on nonlinear robot motor dynamics. A sensor fusion method has been proposed in combination with onboard sensors and a vision system for the robot to provide accurate reliable position and orientation measurements.

Universal omnidirectional wheels or Mecanum wheeled platform velocities are proportional to the wheel positions/body configurations [14]. Song and Byun presented the work on a steerable universal omni-wheeled platform for squarebase with the wheels located at the corners of the configuration (see Fig. 2(c)). The velocity of the robot is controlled using the steering mechanism by changing the angle of four wheels. Acceleration or deceleration is an important parameter that determines the slipping of wheels and controlability of mobility. Reference [15] shows the use of acceleration and velocity filters to avoid wheel slipping along curved paths. The motor dynamics with kinematics for a four-wheeled mobile robot was discussed. The use of a Kalman filter to overcome slippage in mobile robot navigation is discussed in Ref. [16]. By using the kinematic model, a matlab simulation was performed for four omni-wheels. A dynamic model was derived using Kane’s equations in Ref. [17] considering global linear velocities and angular velocities as independent speeds. The motor dynamics and robot kinematics were used for a four Mecanum wheeled robot. Further, a nonlinear model predictive controller was used to avoid velocity obstacles.

Most researchers have included motor dynamics of the robots and Newton–Euler equations or Lagrangian equations to derive dynamic models or software packages like Simscape Multibody™. But to have an accurate simulation of the mechanical system, a multibody dynamic model is required. The method of Lagrange tends to involve computer algorithms with a large number of unnecessary arithmetic operations due to the differential-algebraic nature of the Lagrangian formulation with nonholonomic constraints. Newton’s method is associated with eliminating reaction forces and torques that arise from the interaction between the mechanical elements of the robot.

Kane’s dynamic equations enable computer algorithms to work fast because the formulation is purely differential in nature [18]. There appears to be no prior work that demonstrated a complete nonholonnomic dynamic model of the system, including barrel dynamics. We address this issue in what follows. We also demonstrate that simpler controllers can be utilized to provide accurate trajectory tracking with a complete dynamic model. A nonholonomic multibody dynamic model is presented using Kane’s equations assuming no-slip omni-wheels. wolfram mathematica [19] was used for the simulation along with symbolic equation processing [20]. In what follows, the model is developed along with a PID controller. Numerical model validation, trajectory tracking, and disturbance rejection are demonstrated.

## 2 Methodology

### 2.1 Forward Kinematic Modeling.

The forward kinematic model describes the work-space of a robot, positional capabilities, and constraints. This is the motion of the robot regardless of the forces and torques. The kinematic model can be used to study the behavior of the positions, velocity, and acceleration [21,22]. The role of kinematics is to ensure the functionality of the mechanism. In the first part of this study, forward kinematic equations are developed. Here, the robot was divided into 13 bodies. The wheel was assumed to have two parts, a torus comprised with all the rollers (radius R) and a solid disk of radius (R-r) (Fig. 3). The passive rollers mounted on the periphery of a wheel add an extra degree-of-freedom to each wheel.^{2}

*b*}, {

*d*}, {

*f*}, and {

*h*}, while rollers 1–4 are {

*c*}, {

*e*}, {

*g*}, and {

*l*}. The global frame is {

*n*}, and the platform has frame {

*a*} The universal omni-wheel velocities (

*ω*

_{1},

*ω*

_{2},

*ω*

_{3},

*ω*

_{4}) are independent, while other velocities (

*q*

_{1}′ [

*t*],

*q*

_{2}′ [

*t*],

*q*

_{3}′[

*t*],

*q*

_{5}′[

*t*],

*q*

_{7}′[

*t*],

*q*

_{9}′[

*t*],

*q*

_{11}′[

*t*]) are dependent. In the case of forward kinematics, for a given set of

*q*

_{1}′ [

*t*],

*q*

_{2}′ [

*t*], and

*q*

_{3}′[

*t*], the required

*ω*

_{1},

*ω*

_{2},

*ω*

_{3}, and

*ω*

_{4}and resulting

*q*

_{5}′[

*t*],

*q*

_{7}′[

*t*],

*q*

_{9}′[

*t*], and

*q*

_{11}′[

*t*] were derived. Take

*q*

_{1}′ [

*t*] =

*u*

_{1},

*q*

_{2}′ [

*t*] =

*u*

_{2},

*q*

_{3}′ [

*t*] = Ω and the velocity of the robot in the Newtonian frame as

**V**

_{N}(Fig. 2). Then,

**V**

_{N}was projected onto frame {

*a*} as in Eqs. (2) and (3).

*a*} frame is,

**V**and Ω (here,

*L*

_{m}is the magnitude of vector in $a^1$ or $a^2$ (see Fig. 4)) are given by,

**V**are given by,

*a*} to {

*n*} transformation

*R*(

*θ*), where

*θ*=

*q*

_{3}(

*t*) is given by,

**V**in Eqs. (9)–(12).

### 2.2 Inverse Kinematic Modeling.

*ω*

_{1},

*ω*

_{2},

*ω*

_{3}, and

*ω*

_{4}are the independent speeds. All other speeds are dependent on the wheel speeds. The purpose of deriving the inverse kinematic equations is to obtain the responses of dependent velocities as the independent velocities are controlled. To obtain the inverse kinematics of the robot, it is required to invert Eq. (14). But the matrix is nonsquare; therefore, the

*ordinary least square method*

^{3}is utilized giving,

*ω*

_{1},

*ω*

_{2},

*ω*

_{3}, and

*ω*

_{4}are set, the response of the

*q*

_{1}′ [

*t*],

*q*

_{2}′ [

*t*], and

*q*

_{3}′[

*t*] can be investigated using Eq. (15). The angular velocities of rollers are found by solving Eq. (15) with Eqs. (9)– (12) along with

*q*

_{1}′ [

*t*] =

*u*

_{1},

*q*

_{2}′ [

*t*] =

*u*

_{2},

*q*

_{3}′ [

*t*] = Ω,

### 2.3 Dynamic Modeling.

The dynamics of the robot contain its behavior under the applied forces and torques. The equations that represent the dynamics of the robot play an important role in designing and understanding its operation. The dynamic model can be used to understand the performance of the robot under different forces and torques. Kane’s dynamical equations [23] is the approach utilized in this work. Kane’s equations are formulated for nonholonomic systems and are suitable for this model. This is an approach to derive dynamic models systematically by studying the independent variables. There is no necessity to deal with interaction forces and torques. This approach enables computers to work fast with less effort computing the model algorithms [18].

In this work, the wheels are assumed to be composed of a torus (major radius *R*, minor radius *r*), contact roller (radius *r*), and a disk of radius (*R* − *r*) and thickness 2*r*.^{4} The torus is assumed to represent the mass and inertia of the rollers in periphery of the wheel. The roller at the contact point with the floor tracks the inertia of the roller perpendicular to the wheel axis. We assume the rollers not in contact with the ground cease spinning.

*m*

_{n}is the mass of

*n*th body, $Fappn$ is the applied forces on each body,

**I**

_{n}is the inertia force of each body, $Tappn$ is the applied torque on each body,

**J**

_{n}is the inertia torques of each body, $OVBn$ is the velocity of each body referenced to the {

*n*} frame, $N\omega Bn$ is the angular velocity of each body referenced to the {

*n*} frame, $I\xaf\xafBn$ is the inertia of each body about point

*B*

_{n}, and

**L**

_{n}is linear momentum of each body.

To apply Kane’s dynamic equation, it was required to calculate the mass moment of inertia (see Table 1), position vectors, angular velocities, and linear velocities relative to the {*n*} frame for each body. When the dynamic equations are derived, the only unknowns are *q*_{n}, *q*′_{n}, *ω*_{i}, and *T*_{moti}.

### 2.4 Proportional–Integral–Derivative Controller.

*i*th wheel displacement is given by,

*i*th wheel is expressed as follows:

*T*

_{mi}(

*t*) is the motor torque as an additional state variable ignoring the much faster motor electrical dynamics. The linearized model of the system dynamics was developed assuming the dynamics of all other motors and variables to be constants. This resulted in a second-order linear ordinary differential equation (ODE) for the plant dynamics. The PID was designed for this system with input

*T*

_{mi}and output

*q*

_{i}. The pole placement technique was used to size the gains. The gain values are shown below for the time to peak of 0.25 s and 2% settling time of 0.5 s.

*t*

^{2}+ 3

*t*+ 1)

*π*/180 as shown in Fig. 5. The controller performs reasonable tracking of the given input. The required torques of the motors were reasonable as well and are shown below (see Fig. 5,

*T*

_{mi}versus

*t*).

## 3 Results

### 3.1 Forward Kinematic Model.

The forward kinematic equations in Sec. 2.1 were solved using mathematica [19].^{5} For a given set of *q*′_{1} [*t*], *q*′_{2} [*t*], *q*′_{3} [*t*] the model calculates the *q*′_{k} [*t*] (k = 4 to 11). Figure 7 shows the graphical response of model for given *q*′_{1} [*t*] = 10 in./s, *q*′_{2} [*t*] = 10 in./s, *q*′_{3} [*t*] = 5 rad/s. The model was expected to spin around the *z*-axis and move in a diagonal direction. The model successfully responded to any combination of inputs. Shown in Fig. 7 are *q*_{i} [*t*] (i = 1, 2,…, 11) and *q*_{1} [*t*] versus *q*_{2} [*t*] from top left to bottom right. As shown in the *q*_{1} [*t*] versus *q*_{2} [*t*] parametric plot, the robot is moving on a diagonal track, which is 45 deg to $n^1$. The *q*_{3} [*t*] versus *t* plot shows that the robot is spinning around the *z*-axis with constant angular velocity.

### 3.2 Inverse Kinematic Model.

The inverse kinematics equations in Sec. 2.2 (Eqs. (15)–(19)) were solved. The output response of the global positions and roller velocities for given inputs *ω*_{1}, *ω*_{2}, *ω*_{3}, and *ω*_{4} were simulated for various combinations. Figure 8 shows the response of the model for *ω*_{1} = 10 rad/s, *ω*_{2} = −8 rad/s, *ω*_{3} = 6 rad/s, and *ω*_{4} = −4 rad/s. The robot was expected to move around a circle.

The parametric plot of *q*_{1} [*t*] versus *q*_{2} [*t*] shown in the Fig. 8 shows that the robot inverse kinematic model satisfied the expected outcome. The *q*_{1} [*t*] and *q*_{2} [*t*] plots show that they are in a sinusoidal pattern.

### 3.3 Dynamic Model.

The dynamic equations of the robot (Sec. 2.3 (Eqs. (20)–(23))) simulates the behavior of the robot for given motor torques *T*_{m i}, *i* = 1, 2, 3, 4. Figure 9 shows the responses of *q*_{i} [*t*], *i* = 1, 2, 3, …, 11 for *T*_{m1} = 10 lb-in., *T*_{m2} = −10 lb-in., *T*_{m3} = 10 lb-in., and *T*_{m4} = −10 lb-in. values. The robot was expected to spin around its own *z*-axis. The parametric plot *q*_{1} [*t*] versus *q*_{2} [*t*] shows that the dynamic model was able to spin around its *z*-axis with a slight deviation of 0.01 in. probably due to numerical error buildup. With respect to the dimensions of the robot and 3D animation, the robot is moving as expected. Figure 10 shows the resulting *ω*_{1}, *ω*_{2}, *ω*_{3}, and *ω*_{4} for the given torque values. Wheel 1 and wheel 3 angular velocities were expected to increase, while wheel 2 and wheel 4 angular velocities are monotonically decreasing. The dynamic model successfully simulated any given combination of input torques.

### 3.4 Model Validation via Energy and Momentum Conservation.

Energy conservation of the robot can be used as a test to validate the model. By making all the external forces zero (*T*_{mi} = 0), inputs are given in terms of angular velocity initial conditions. Figure 11 shows the *q*_{1} [*t*] versus *q*_{2} [*t*] parametric plot and energy plot for *ω*_{1} = 10 rad/s, *ω*_{2} = −10 rad/s, *ω*_{3} = 10 rad/s, and *ω*_{4} = −10 rad/s. It is observed that the total energy is a constant. Also, it was expected the model should spin around the *z*-axis for the given inputs, indicating angular momentum conservation.

In Fig. 12, energy conservation of the model was also checked by giving it initial velocity along the $n^1$ direction. It was observed that the model successfully satisfy the energy and linear momentum conservation for any combination of inputs.

### 3.5 Proportional–Integral–Derivative Controller.

The implemented PID controller was used to follow a figure eight path (Eq. (26) and Fig. 13). Figure 14 shows the response plots of *ω*_{i} and *T*_{mi}, *i* = 1, 2, 3, 4. It was observed that the motor torques are in a reasonable range, which is from –0.6 lb-in. to 0.6 lb-in. (Fig. 15). Also, as shown in Fig. 16, the *q*_{3} [*t*] versus *t* plot, the model follows the path while spinning around the *z*-axis. This was a 50 s maneuver covering 40 × 40 in.^{2} area.

Figure 13 shows the resulting error of the path for the 50 s simulation. Observe that the error is in the range of $\u22120.01%$ to 0.005% as shown in Fig. 17. The error in the $n^1$ direction is in the range of −0.0008 to 0.0002 in., while that in the $n^2$ direction is in the range of −0.001 in. to 0.0004 in. The tracking error of the spin around $n^3$ axis is −6 × 10^{−6} rad to 6 × 10^{−6} rad (Fig. 18).

### 3.6 Sharp Curves.

Figure 19 shows that the required motor torques to track the path with sharp edges varies from 20 lb-in. to 40 lb-in. It was observed that the controller is able to follow the given path with small error (Fig. 20). Also, the tracking error of wheels varies between 5% and 10% at its peak, but on average, it is negligible (Fig. 21). This is due to sudden changes in the motor torques to satisfy the trajectory tracking. Figure 22(a) shows that the given path and followed path with two sharp curves are almost the same. There is a slight difference at the two sharp curves, which are negligible. At 5 s and 12 s, the robot is moving through two sharp curves. In Fig. 22(b), velocity plots, it is shown that the robot does not stop at curves and is continuously moving.

### 3.7 Behavior Under Disturbances.

As illustrated in Fig. 24, the motor torques varies between −20 lb-in. and 20 lb-in. to track the given path. Here, the tracking error of wheels 1–4 lies between −0.008 and 0.006 rad, and the error along $n^1$ direction is between −0.02 and 0.06 in., while in the $n^2$ direction −0.04 to 0.02 inches. The tracking error of *q*_{3} [*t*] lies between −6 × 10^{−6} rad and 6 × 10^{−6} rad. For a maneuvering time of 50s for the figure eight path with a disturbance forces along $n^1$ direction and $n^2$ direction, the controller demonstrated that it tracks the path with small error (see Figs. 25–27).

## 4 Conclusion

In this study, we have presented a complete nonholonomic multibody dynamic model of a universal omnidirectional mobile robot, including the roller dynamics. We developed the model using Kane’s dynamic equations for a no-slip condition. Also, for the kinematics of the robot, we used vector projection of the heading velocity onto the body frames, which is easy to derive and understand. The kinematic model and the dynamic model of the robot were tested for various combinations of inputs (e.g., driving on a line, driving on a 45 deg line, standing in a place and spinning). The simulation results showed that the model is valid for any combination of inputs. The developed PID controller for trajectory tracking performed quite well with very small error. It was demonstrated that this multibody dynamic model along with the PID controller can track trajectories with either sharp curves or smooth curves. Also, the demonstration showed the controller can reject disturbance forces. The work has demonstrated that by developing a more complete model of the dynamics of the robot, a simpler control law produces very robust tracking.

In the future, it is expected to test the developed PID controller on a physical robot platform and confirm the results. A model with this fidelity can serve to train a reinforcement learning agent to effectively navigate in a dynamic environment.

## Footnotes

$[MATRIX]n\xd7m\u22121=([MATRIX]n\xd7mT\u22c5[MATRIX]n\xd7m)\u22121\u22c5[MATRIX]n\xd7mT.$

Note: The second hub (see Fig. 1(c)) of the wheel is not drawn in graphics, but accounted for the model.

## Conflict of Interest

There are no conflicts of interest.

## Data Availability Statement

The datasets generated and supporting the findings of this article are obtainable from the corresponding author upon reasonable request.

## Nomenclature

*r*=radius of roller (0.4 in.)

*R*=radius of wheel (3 in.)

*q*_{1}=displacement of robot in $n^1$ direction (in.)

*q*_{2}=displacement of robot in $n^2$ direction (in.)

*q*_{3}=angular displacement of robot in $n^3$ direction (rad)

*L*_{m}=length and width of the base (8 in.)

*T*_{mot}=torque of motors in wheels (lb-in).

- {
*n*} = global frame

- {
*a*} = body frame of robot

- {
*b*}, {*d*}, {*f*}, {*h*} = body frames of wheels

*q*_{4},*q*_{6},*q*_{8},*q*_{10}=angular displacements of wheel 1, 2, 3, and 4 (rad)

*q*_{5},*q*_{7},*q*_{9},*q*_{11}=angular displacements of rollers 1, 2, 3, and 4 (rad)

*ω*_{1},*ω*_{2},*ω*_{3},*ω*_{4}=angular velocities of wheel 1, 2, 3, and 4 (rad/s)

### Appendix

Body | Mass moment of inertia (slug in^{2}) |
---|---|

Base | $I\xaf\xaf11$ = $I\xaf\xaf22$ = 0.710008, $I\xaf\xaf33$ = 1.39817 |

Wheel 1, 2 | $I\xaf\xaf11$ = $I\xaf\xaf22$ = 0.0628245, $I\xaf\xaf33$ = 0.121937 |

Torus 1, 2 | $I\xaf\xaf11$ = $I\xaf\xaf33$ = 0.0781416, $I\xaf\xaf22$ = 0.0946465 |

Roller 1, 2 | $I\xaf\xaf22$ = $I\xaf\xaf33$ = 0.000221784, $I\xaf\xaf11$ = 0.000110892 |

Wheel 3, 4 | $I\xaf\xaf22$ = $I\xaf\xaf33$ = 0.0606622, $I\xaf\xaf11$ = 0.117613 |

Torus 3, 4 | $I\xaf\xaf22$ = $I\xaf\xaf33$ = 0.0781416, $I\xaf\xaf11$ = 0.0946465 |

Roller 3, 4 | $I\xaf\xaf11$ = $I\xaf\xaf33$ = 0.000221784, $I\xaf\xaf22$ = 0.000221784 |

Body | Mass moment of inertia (slug in^{2}) |
---|---|

Base | $I\xaf\xaf11$ = $I\xaf\xaf22$ = 0.710008, $I\xaf\xaf33$ = 1.39817 |

Wheel 1, 2 | $I\xaf\xaf11$ = $I\xaf\xaf22$ = 0.0628245, $I\xaf\xaf33$ = 0.121937 |

Torus 1, 2 | $I\xaf\xaf11$ = $I\xaf\xaf33$ = 0.0781416, $I\xaf\xaf22$ = 0.0946465 |

Roller 1, 2 | $I\xaf\xaf22$ = $I\xaf\xaf33$ = 0.000221784, $I\xaf\xaf11$ = 0.000110892 |

Wheel 3, 4 | $I\xaf\xaf22$ = $I\xaf\xaf33$ = 0.0606622, $I\xaf\xaf11$ = 0.117613 |

Torus 3, 4 | $I\xaf\xaf22$ = $I\xaf\xaf33$ = 0.0781416, $I\xaf\xaf11$ = 0.0946465 |

Roller 3, 4 | $I\xaf\xaf11$ = $I\xaf\xaf33$ = 0.000221784, $I\xaf\xaf22$ = 0.000221784 |

Body | Mass (slug) |
---|---|

Base | 0.0951426 |

Wheel 1, 2, 3, 4 | 0.025257 |

Torus 1, 2, 3, 4 | 0.013697 |

Roller 1, 2, 3, 4 | 0.00100613 |

Body | Mass (slug) |
---|---|

Base | 0.0951426 |

Wheel 1, 2, 3, 4 | 0.025257 |

Torus 1, 2, 3, 4 | 0.013697 |

Roller 1, 2, 3, 4 | 0.00100613 |

Body | Dimensions (in.) |
---|---|

Base | Width = 8, depth = 8, height = 1 |

Wheel 1, 2, 3, 4 | Radius = 3, thickness = 0.8 |

Roller 1, 2, 3, 4 | Radius = 0.4, thickness = 1.2 |

Torus 1, 2, 3, 4 | Major radius = 2.6, minor radius = 0.4 |

Body | Dimensions (in.) |
---|---|

Base | Width = 8, depth = 8, height = 1 |

Wheel 1, 2, 3, 4 | Radius = 3, thickness = 0.8 |

Roller 1, 2, 3, 4 | Radius = 0.4, thickness = 1.2 |

Torus 1, 2, 3, 4 | Major radius = 2.6, minor radius = 0.4 |