key: cord-0550687-52rkbx4b authors: Tafrishi, Seyed Amir; Ravankar, Ankit A.; Salazar, Jose; Hirata, Yasuhisa title: A Novel Assistive Controller Based on Differential Geometry for Users of the Differential-Drive Wheeled Mobile Robots date: 2022-02-04 journal: nan DOI: nan sha: 7ce2f0cdf39f6992ed75d223b09cd5413d20c96f doc_id: 550687 cord_uid: 52rkbx4b Certain wheeled mobile robots e.g., electric wheelchairs, can operate through indirect joystick controls from users. Correct steering angle becomes essential when the user should determine the vehicle direction and velocity, in particular for differential wheeled vehicles since the vehicle velocity and direction are controlled with only two actuating wheels. This problem gets more challenging when complex curves should be realized by the user. A novel assistive controller with safety constraints is needed to address these problems. Also, the classic control methods mostly require the desired states beforehand which completely contradicts human's spontaneous decisions on the desired location to go. In this work, we develop a novel assistive control strategy based on differential geometry relying on only joystick inputs and vehicle states where the controller does not require any desired states. We begin with explaining the vehicle kinematics and our designed Darboux frame kinematics on a contact point of a virtual wheel and plane. Next, the geometric controller using the Darboux frame kinematics is designed for having smooth trajectories under certain safety constraints. We experiment our approach with different participants and evaluate its performance in various routes. Recently, different vehicles are increasingly getting involved in human life and activities. The wheeled mobile robot e.g., wheelchairs are the conventional vehicles utilized more often. There have been researches to control these mobile robots considering their desired states. However, the vehicle users are not always fully aware of the exact determined goals (desired configuration/states) or they change their goals continuously. This urges a controller that assists the user input without any external sensors or a priori information about the desired states. For example, the assistive controller can be greatly beneficial in wheelchair patients who do not have full ability to control certain parameters of the moving mobile robot (varying the vehicle velocity). These issues are barely covered in the literature. We can roughly divide the motion control problem for the mobile robot into path planning and trajectory tracking [1] - [4] with some about sensor-based planning algorithms [5] . In the path planning problem, the vehicle's initial and desired configuration consisting of the position and direction of the vehicle are often known [6] , [7] . The goal is to establish a suitable trajectory for the vehicle under certain constraints namely known obstacles. For instance, a nilpotent form of the model was designed to create feedback transformation for different systems including car systems [1] . Laumond Authors are with Department of Robotics, Tohoku University, 6-6-01 Aramaki-Aoba, Aoba-ku, Sendai 980-8579, Japan. {s.a.tafrishi, ankit, j.salazar, hirata}@srd.mech.tohoku.ac.jp et al. developed various geometric control strategies for collision-free path planning of wheeled mobile robots [3] , [7] , [8] . Certain planning techniques were proposed for more challenging cases [9] - [11] , namely, path planning through moving obstacles. Recent studies took a direction in making algorithmic motion planning by combining different sensors e.g., LiDAR and depth camera through navigating crowded environments [5] , [12] . The ultimate goal is to achieve autonomous self-driving cars [12] , [13] that are covered in recent studies. The trajectory tracking problem aims for tracking the already given path or desired states, velocity in particular, on the current time [7] , [14] - [16] . In other words, the objective is to keep the vehicle on the desired trajectory or reference states. This control problem focuses on minimizing the external disturbances and it often uses robot dynamics to minimize the convergence errors. For example, a combined feedforward and feedback control strategy was created for a mobile robot under disturbances [17] . Currently, there have been certain attempts to do reference tracking by linear control methods [18] , [19] or fuzzy logic control [20] . In the control perspective, there have been attempts to develop strategies that make the user travel with the vehicle safely by combining different sensors. The reactive control strategy with the inclusion of LiDAR sensor data is one of the conventional ways [5] , [21] . Based on the covered studies, there is no controller that does not require a priori reference trajectory or desired configuration without using many sensor e.g., LiDAR information. This means, an assistive controller can be highly important to correct the user inputs for safer and better locomotion of the vehicle by using only joystick inputs. Also, this control strategy cannot easily be developed with scaling the inputs since the trajectories can get complex with following continuously changing user inputs and the problem becomes harder. There have been some attempts in developing shared autonomy between user inputs and manipulator robots [22] - [24] outside of the mobile robot research field. S. Javdani et al. used a partially observable Markov decision process (POMDP) to predict the intended object to pick while the autonomy system does not know the goal (without desired configuration) as a priori [24] . The work shed light on control strategies with no desired states but still had challenges since the manipulator mainly ran with an internal controller and did not consider any complex trajectory utilization that the user intended to do with a joystick. This important issue is predominant in mobile robots because user can follow complex and highly dynamic paths with spontaneous decisions on the desired goal. Various control strategies have been considered for wheelchair systems. Park and Kuipers developed a feedback controller in order to drive an electric-powered differentialdrive wheelchair [25] . This controller was correcting the vehicle velocity depending on the path's curvilinear curvatures. There have been studies in smoothing the traversed path by mobile robots [26] . Also, a velocity control to follow a reference trajectory was designed considering jerk limitation and longitudinal acceleration [27] . However, complex curves that have sharp turns/features were not considered in these studies for increasing the level of maneuvers. Next, a predictive controller with a linearized model was proposed for trajectory tracking of an electric wheelchair [28] . Previously proposed control approaches for a wheeled mobile robot are not well suited for wheelchair users since the user/patient cannot determine and communicate with an advanced controller to feed desired states (this can be velocity or position) continuously. This problem multiplies with using discrete joystick controls (easy to jump different values continuously) in wheelchairs rather than an advanced mechanical shaft to the steering wheel that cars normally encompass. In our previous study, we developed a simple geometric controller for a mobile robot with steering wheel and evaluated the motion in simulation [29] . In this work, we introduce a new assistive controller for differential-drive mobile robot [see Fig. 1 for the framework], with motivation from existing challenges, that does not use any priori desired configuration/states. The established new geometric controller u c relies on the curvature variation of the traversing trajectory using the Darboux frame kinematics of a virtual wheel [30] , [31] . Also, we design this controller with arc-length-based time-invariant functions that rely only on user joystick inputs u u and feed on current states of the vehicle {x(t),ẋ(t)} with using inertial measurement unit (IMU) and shaft encoders, under defined safety constraints. In this paper, we begin by describing the vehicle and Darboux frame kinematics in Section II. Next, based on our defined control problem in Section III, we derive our geometric controller on the Darboux frame kinematics in Section IV. Finally, we experiment and check the controller behavior and performance with different participants by using a differential-drive wheelchair in Section V. To the best of our knowledge, this is the first assistive controller approach that does not require any priori desired states and relies on user joystick input and vehicle current states only without utilizing external sensors such as LiDAR or camera. The new controller tries to develop smooth trajectories while it is decreasing the user effort. Thus, it can be extensively suitable for mobile robot applications. In this section, we demonstrate the kinematic model for differential wheel mobile robots. Next, a Darboux frame with a virtual wheel is introduced at the vehicle center since it will be used for designing an assistive control with geometric functions in the arc-length domain. Fig. 2 illustrates the frames of the differential wheeled mobile robot. We have simplified the model for generality to a moving vehicle where the robot is actuated with two wheels in the back and passive omnidirectional wheels at the front without steering. The frame Σ V is fixed to the vehicle center where it is aligned with the actuating back wheels center with a frame of Σ W . Additionally, Σ I is the inertia frame. The vehicle axis Σ V has a spin angle of ψ with respect to the inertia frame. In addition to classic frames, we introduce a new frame on the vehicle Σ V located at the contact point of wheels with the plane as a virtual wheel frame Σ p . Next, we assume that L v with C ∞ smoothness in continuous-time domain is a path that the wheeled mobile robot follows on the plane. Also, the back driving wheels with a radius of R are rotating. Note that there is a no-sliding constraint between the wheel and the ground. Based on the frame definitions, the kinematics of the moving differential wheeled vehicle Σ V in time t > 0 on the plane can be presented as followṡ where (x, y) and ψ are the plane states and the rotation angle between the vehicle and the plane and also the control inputs u = [u v , u ω ] T in system (1) are the vehicle linear velocity u v and angular velocity u ω inputs which is given as where u r and u l are the angular velocity inputs of the left and right wheels. Because we want to develop a geometric controller based on the traversing path's curvature, we use the Darboux frame definition [30] - [32] . In our early study [31] , we illustrated that how the Darboux frame can be used in parameterizing the motion kinematics with arc-length-based inputs for a spin-rolling sphere on the plane. The simpler case of this system as the rolling disc (wheel in our case) was also shortly discussed [30] , [31] . The Darboux-frame kinematics brings different advantages such as producing velocities based on the projected curvature of the interacting surfaces. This is not possible with Frenet frame [14] kinematics which studies the moving particle on curves. In our case, the interacting surfaces are a rolling object (virtual wheel here), the plane surface, and sandwiched virtual surface on the Darboux frame. The virtual surface is then designed as arc-lengthbased inputs. In addition, the Darboux-frame-based kinematics is time-and coordinate-invariant and can be parametrized with extra control inputs that help to increase accessibility [31] which we utilize in this study. Darboux frame kinematics is derived on Σ p frame. It is assumed that the Darboux frame Σ p is at the center of the vehicle where a virtual wheel with radius R v rotates at P. Every contacted point P on Σ p has a unit-based Darboux frame (e 1 , e 2 , e 3 ) [33] which follows the path L v where e 1 is a tangent vector to the path L v , e 3 is a normal vector to the plane, and e 2 is perpendicular to the plane, e 3 × e 1 . Then, the general angular velocity of the wheel (rolling disc) ω p on the contact point of the Darboux frame is obtained [30] , [31] where where k w g = 0, τ w g = 0 and k w n = 1/R v are virtual wheel's geodesic curvature, geodesic torsion and normal curvature, and the fixed surface is considered as a plane with k s g = τ s g = k s n = 0 curvatures. Note that here radius of virtual wheel R v is equal to our considered wheels radius R. Also, {α s , γ s } are arc-length-based inputs as a sandwiched virtual surface [31] and δ is defined as the rolling rate input in the time domain. We will utilize the extended control inputs {α s , γ s , δ} in developing our controller. In a previous study, we determined how an underactuated ball-plate system is transformed to a fully-actuated model with extra arbitrary inputs [31] . We take similar and simplified computation to derive the rolling virtual wheel to transform the system (1) to 3×3. The extra inputs help us to define extra functions in constraining the traveled path and vehicle velocity dependent on our safety constraints (derived functions). By substituting the curvatures into Eqs. (3)-(4), we have the angular ω p and linear v p velocities on P as follows We can see that the curvature variation is projected onto unit frames which varies the linear and angular velocities. The virtual wheel travels on the plane along e 1 with corresponding kinematics (5) . Additionally, the kinematics can be represented in the classic velocity formulation on the Cartesian coordinate {p − ijk} system by following expressions where θ represents angular rotation of the virtual wheel. We explain the control problem that we have established for the wheeled mobile robot. Also, the safety conditions as constraints are described. Fig. 3 presents an example statement that we have chosen. The assistive controller aims to correct the moving vehicle velocities v(t) = [v v ,ψ] T under safety constraints without knowing any priori goal where v v is the linear velocity of the vehicle. Also this controller allows the user to have more freedom in assigning travel velocity u v,u and angular direction u ψ,u by the joystick inputs. Next, the inputs u = [u v , u ω ] T of the kinematic model (1) are defined with the following shared control formulation where u ω,c ] T and n ∈ N are the raw inputs by the user, the inputs of the controller, and the level of reliance on the controller. The higher shared control variable n ∈ [1, ∞] becomes the less the user inputs u u will be effective in directing the vehicle, and vehicle will be assisted by only the controller inputs u c . In our designed controller, we do not have a desired state/configuration. As shown in Fig. 1 , only the user's raw inputs u u = (u v,u , u ψ,u ) and vehicle current states {x,ẋ} are used for the controller functions. Also, the vehicle states, velocity v and current orientation of the vehicle ψ(t) are obtained by measurements from inertial measurement unit and motor shaft encoders. Please note that in the case of mobile robot without controller u u = cu u , where c is a linear ratio to transform user joystick inputs to velocity. However, in our case, our nonlinear geometric controller utilizes the raw inputs of user u u to develop a proper strategy in updating u c . We assume, only the user knows the temporary desired configuration The controller velocity input and steering angle u c are updated from an intended curvature of trajectory L v and introduced objectives based on the user/driver inputs u u = [u v,u , u ψ,u ] T . Next, the following safety and control objectives are established: (i) Only the user knows the approximate desired configuration x f and our shared controller u is assisted by including the user inputs u u without any priori knowledge of x f . (ii) The controller corrects the trajectory for having smooth curvature on path L v while the motion safety is satisfied under geometric motion constraints on input u. The assistive controller is based on the defined geometric constraints through the virtual wheel model (5) on the Darboux frame that uses the user inputs u u . (iii) The first safety constraint is on the input velocity u v,u that changes under is the corrected mobile robot velocity that uses the steering angle of the user u ψ,u with the respect to the changes of smooth path curvature of L v . (iv) The sensitivity of the vehicle orientation ψ is considered as the second safety constraint. The input u ω,u has a safety constraint that varies based on the vehicle velocity v(t) and the difference between the current intended steering angle of the user steering input u ψ,u and vehicle orientation ψ(t) as |´t 0 [(1/n)[u ω,u + (n − 1)u ω,c (u u , v, ψ)]] dt| ≤ |ψ|. In this section, we design our assistive geometric controller by utilizing differential geometry. The geometric functions of the controller in the arc-length domain are designed under the explained objectives in our problem statement. We want to construct our geometric controller based on the introduced Darboux frame kinematics of the virtual wheel. We want to develop a relationship between the system inputs (1) and our proposed Darboux-frame-based kinematics [31] . The idea is first to transform an underactuated (3x2) system (1) to a fully-actuated one using the introduced Darbouxframe kinematic (5) on Σ p where it is time-and coordinateinvariant. This helps the system to be more accessible as indicated in our previous work [31] where a generic ballplate system was considered. Then, The induced geometric surface as the virtual surface {α s , γ s } on Σ p can be designed as a controller for system (1) in an arc-length domain where rolling rate δ variable separates time domain from the controller. Proposition 1 Let's assume there is a no-sliding constraint. The Darboux-frame-based kinematics (3) with the relationship between rolling virtual wheel, the plane and virtual surface is considered in separated arc-length domain [31] . Then, the geometric controller as the sandwiched virtual surface on Σ p with aligned {e 1 , e 3 } unit vectors with vehicle frame Σ V is defined as follows where (α s , γ s ) are the virtual surface inputs and δ is the rolling rate input. Proof: The velocity input u v corresponds to the vehicle velocity that is always aligned to unit vector e 1 of the Darboux frame. Since there is a no-sliding constraint between the wheel and ground, one can find one of the geometric controller inputs u v,c e 1 in the function of the arc-lengthbased input γ s with the Darboux frame linear velocity v p (5) and (1) as follows For the next control input, Based on the properties of the Darboux frame Σ p definition that is located on the center of vehicle Σ V , the angular velocity in differential equation from (1) is equal to the geodesic torsion input α s of ω p in (5) by δα s ψ (t), because the rotation of the vehicle is always around e 3 vector. Now, by re-ordering Eq. (10) and knowingψ = u ω,c from (1) give u ω,c (δ, α s ) = δα s . Eqs. (9) and (11) give us the geometric controller u c in Eq. Fig. 4 : Radius curvature R i is calculated by incircle of u ψ,u angle that determines the control inputs {α s , γ s }. with C ∞ smoothness under safety constraints in Section III as follows 1 where R i , ζ, λ s and λ t are the changing imaginary sphere's radius, the angle of projected area due to steering difference, the arc-length and time step differences based on vehicle velocity, respectively. Additionally, the stable motion convergence of the shared control u is achieved under bounded inputs of assistive controller by where m = 1/n, u b is the user's intended exponentially convergent safe velocities that is expected by the robot to follow and · is the Euclidean norm of the vector space. Proof: We have to design proper geometric functions to prescribe our new corresponding inputs {δ, α s , γ s } depending on the expressed objectives. The arc-length-based input γ s in (4) is the induced normal curvature of the virtual surface. We design γ s with the normal curvature of the rolling disc as γ s = 1/R i where R i is the varying curvature radius. From Fig. 4 , the radius R i (u ψ,u ) is designed with the change of the incircle radius that is dependent on the steering angle of the user u ψ,u as follows , 0 ≤ |u ψ,u | < π 2 (16) where S i = (2r i + l i )/2 is the area of encompassed triangle of the incircle, µ r is the small value scaler to avoid singular point by the minimum curvature radius of R i , and also r i = R v / cos u ψ,u and l i = 2R v tan u ψ,u are adjacent and hypotenuse sides of isosceles triangle as shown in Fig. 4) . To design the arc-length-based input α s in (11) orientation velocityψ. This means we have to develop the steering input u ψ,u with a constraining function to avoid any dangerous spinning. The wheeled mobile robot's rotation can easily become a danger for the user/patient who controls the vehicle. For example, the vehicle can topple in high-velocity maneuver if the direction does not get assigned correctly. The arc-length-based input α s stands for the geodesic curvature of the virtual surface with radius R v of virtual wheel in (4) [31] , then, we use the geodesic curvature of an imaginary spherical surface in this controller as follows where ζ is the projection angle (see Fig. 5 for the main idea). A trigonometric relation as shown in Fig. 5 is computed between the project angle ζ and steering angle u ψ,u that is given from user's the joystick. Next, it is assumed that the angle ζ is the projection angle of constructed under-cap area S c that is found from where a c is base diameter of under-cap area. We calculate the base diameter a c of the cap with the following formulation where S t and h c are the total area of the cap-shaped region (blue region in Fig. 5 ) and the height of the cap area. Next, we construct a relation between the steering angle and undercap area S c . We utilize the Gauss-Bonnet theorem [32] while the imaginary sphere touches the circular closed blue path L v in Fig. 5 as follows where κ o = 1/R 2 v is the Gaussian curvature and ψ(t) ∈ 2π is the current spin angle. The Gauss-Bonnet equation (20) gives us the ability to built a sphere under-cap area based on the steering angle given by raw steering input u ψ,u and the current orientation of the vehicle ψ(t). With re-ordering (20) , our under-cap area becomes The derived Eq. (21) is substituted back to Eq. (19) . It can be seen that the spherical curvature helps to track the angular difference with a smoother function and transform it to angular velocity by δα since the under-cap area would have some values with respect to virtual wheel radius R v . Finally, we design the rolling rate δ function with the objectives from the problem statements. In high vehicle velocities, the geometric functions should not create a large level of deviations depending on the inputs e.g., the steering angle input. This can make the vehicle unstable. Note that this issue is much more challenging as the distance between the main actuating wheel and steering wheel l becomes smaller; hence, we define rolling rate δ by where λ s and λ t are the arc-length and time step differences. We design the arc-length difference λ s in function of vehicle velocity ( Fig. 6 shows the example output of the function) as follows σ) and T are the critical velocity of the vehicle and the time scale, where σ is critical velocity ratio with 38% value, in here. These v c and T values can change depending on the vehicle properties, or user preference. We check the controller stability by the assumption that the resultant control u is always bounded with respect to user inputs under safety conditions. Let us consider the following constraint for stability of the controller where a ρ > 0, b ρ > 0 are constants and τ = t n − t m is a certain time interval. Then, by substituting Eq. (7) into (24) and doing a transformation, we get where m = 1/n ∈ (0, 1]. With knowing always n > 1, the first two terms will always be smaller that third term (1 − m) 2 u c ; hence, the geometric controller determines whether the system is stable. Then, substituting the controller (12)-(13) into (25) gives We know always lim vv→∞ δ 2 = 0 which grants this term is bounded. Also, based on the controller function in (12)-(13) the controller velocity is bounded by the given angle by user steering angle u ψ,u ∈ [−π/2, π/2] which results Fig. 6 : The rolling rate δ design based on the arc-length differences on the vehicle velocity. where max {ζ} < π/2 based on the constraint on the difference between vehicle and user's angles, |u ψ,u − ψ| < π/2. This similarly grants the second term of (25) is bounded that results to have a stable system with the bounded geometric controller by (15) . Remark 1 If we check Eq. (9) and Eq. (16), we can see that when the user gives large steering angles u ψ,u , the curvature radius R i becomes larger that makes the arc-length-based input γ s smaller (to decrease the overall vehicle velocity input u v ) that satisfies our safety constraint at (iii) in Section III. The arc-length-based input α in (17) together with Eqs. (19) - (21) shows that u ω is constrained by under safety constraints. This function gives our second safety constraint, for condition (iv) in Section III, that the further we have large differences between vehicle angle ψ(t) and user-assigned angle u ψ,u , the larger α s can be while rolling rate limits the angular steering velocity by δ. The rolling rate δ(u v,u , v v (t), v m ) of the virtual wheel that work as the controller is constraining both virtual surface inputs (α s , γ s ) dependent on the maximum velocity allowance v m for the safety. The inequality (25) shows that larger shared control variable n grants bounded inputs u for a stable motion but very large values of n will remove the user direct control/dominance from the shared control which tells there should be an upper limit for n. In this section, we experiment with our proposed assistive geometric controller. We consider our controller with different subjects extensively with different routes. In this experimental study, we consider two routes as projected Viviana's (infinity) curve and sharp spiral curve. In each experimental route, we have done the study by six participants with minimum knowledge of the wheelchair system shown in Fig. 1 . However, note that to clarify more interesting results for the lateral route i.e., sharp spiral curve, half of the participants were those who already took part in the Viviani's curve route. Note that due to the COVID-19 pandemic, we did follow all the disinfection and safety rules for the participant 2 . The participants were healthy with an average age of 26. The participants were expected to handle wheelchair with different velocities from low to high in these challenging curves. We used an electric wheelchair system that is commercially available as Whill Model C. The actuating wheels are located in l = 0.5 m distance in this wheelchair. Also, our controller has the virtual wheel with a radius equal to the wheelchair wheel R = R v = 0.133 m. As the ground truth for accurate tracking of the wheelchair robot, we are using the HTC Vive Motion Tracker but none of the data is utilized by the controller. In these experiments, we change our vehicle maximum velocity between following range v m ∈ [1-3.5] m/s. In this work, the time scale T and the amplitude of time step difference λ t for (14) are chosen 2 and 25, respectively. Each route was experimented by 6 participants where they tried 5 different maximum velocities between the following v m = {1, 2, 2.5, 3, 3.5} ranges with and without controller (refer to video for example result). We have asked each participant to take the NASA task load index (TLX) test after each run [34] . The NASA-TLX is a multidimensional assessment tool that can help participants to rate their mental and physical experience. This test has 6 different scales: mental demand, frustration, effort, performance, physical demand and temporal demands. Please refer to the Youtube video for the example experiment done by using the proposed controller [35] . In the first experiment, we choose Viviani's curve as the route. Fig. 7 illustrates example results of a participant for different maximum velocities with and without the controller. We can see that the user has many deviations with sharp and unnatural maneuvers on the traversed path when there is no controller. This issue is clearer when the velocity is higher, 3 m/s. However, our proposed assistive controller can keep the person in a smooth trajectory along the path. In order to understand how effective is the proposed controller, we can check the vehicle velocities v = [v v ,ψ], and user inputs for example high velocity (3 m/s) shown in Fig. 8 . The vehicle velocity with the controller is very smooth in contrast to without any controller. As it is clear from user inputs by the joystick (u v,u , u ψ,u ), the users have lots of fluctuations in their input controls since the vehicle increases the velocity very fast and it becomes challenging to assign proper steering angle by the joystick. Thus, the user should put lots of effort to keep the wheelchair in the desired trajectory. If we quantify the user effort by the number of times that joystick goes from high value to as low as zero (in particular the input velocity u v,u ), then, the user is at least 7-8 times more prone to put higher effort without any control. Another challenging route as the sharp spiral curve is chosen for evaluating the performance of the controller. Fig. 9 illustrates the ground truth that is recorded for one of the participants. Similar to the trajectories of Viviani's curve, the vehicle follows smooth and non-fluctuating trajectories when the users are using an assistive controller, in particular 2 Before the experiment, our research purpose, method and data handling were fully explained for participants, and we obtained their informed consent. user's inputs in a much smoother maneuver as shown in Fig. 9 -b. It is important to note that this difference is more visible when velocity is higher v m > 2 m/s. The vehicle velocities v = [v v ,ψ] as shown in Fig. 10 are smoother with minimum fluctuations by utilizing the controller where it is followed by the user inputs properly. Similarly, the user effort to make the wheelchair follow the proper path is about 8 times easier based on the number of times, he/she should go from maximum to minimum input [see Fig. 10 Finally, to generalize our findings and understand how participants experience the run with and without the controller, we analyze the answered NASA-TLX questionnaire. At first, Fig. 11 demonstrates the users' raw rating without weights. In this plot, the ratings are the mean of different velocities (v m ∈ [1-3.5] m/s) that participants have undergone the trials. It is clear from the graph that our proposed controller has a great satisfaction level (note that the lower value for each scale, the better it is) with an average difference of 21% for both trajectories. Although the success of the proposed assistive controller can be verified, there are indications that users feel some challenges with respect to the mental demand and effort. We hypothesize that the source of high mental demand is the initial learning curve that should be followed to achieve better results by the controller. Thus, the participants feel more responsible in deciding the trajectory. This means there are certain limitations of the current controller. For example, the following questions arise: how we can decrease the burden of high sensitivity to user inputs while a) following safe and smooth trajectories. Also, how we can sense user intention by extra sensors to minimize her/his mental demand. We plan to develop proper strategies to answer these questions. Another advantage of the controller can be seen with the weighted score rating in different maximum velocities as indicated in Fig. 12 . It can be interpreted that the trend of the evaluation is similar to both of the routes. For the Viviani's curve, the rating score of the participants is around 29% with the controller while the rating increase over 65 % for the case of high velocities (v m = 3.5 m/s) without the controller. With a similar pattern for sharp spiral curves, the participants are approximately 20% more satisfied with the use of the controller. It is clear that the satisfaction level gets higher as the controller mean score stays around 40%. Also, the standard deviation of the scores is lesser which implies most of the evaluated participants give approximately similar score ratings for the experimented assistive controller. In this paper, we proposed a novel geometric controller for assisting the users of differential-drive wheeled mobile robots, without having any priori desired goal. The assistive controller was using a virtual wheel formulation based on the Darboux frame kinematics to correct the vehicle motion. At first, the kinematics of the differential-drive vehicle together with Darboux frame kinematics for the controller is described. Next, the motion control problem with considering the safety constraints is explained. Then, we developed our geometric assistive controller with defining the proper functions. Finally, the controller performance at different routes was evaluated. The experiment took place with different participants using a differential-drive wheelchair robot. We were able to confirm that the controller outperforms with great level satisfaction from collected questionnaire (NASA-TLX) responses besides the motion behaviors. The results also show that users using the assistive controller put less effort in directing wheelchairs in complex paths with userassigned vehicle velocities while the realized trajectories are smooth. Note that the experiments done with the wheelchair were in the maximum velocity of 3.5 m/s. This shows how assistive controller is essential since most vehicles have even higher velocities in which emphasize the importance of assistive controllers. In the future, we plan to develop more advanced shared autonomy by combining the assistive controller with path planning methods. Also, we will extend the problem to more complex 3-dimensional trajectories to create a more generic assistive controller that can be applied to other robot platforms namely, manipulators, drones, and so on. We would like to thank Prof. Jean-Paul Laumond and anonymous reviewers for their valuable comments regarding the paper. This work was partially supported by JSPS KAKENHI grant number JP21K20391 and Japan Science and Technology Agency (JST) [Moonshot R&D Program] under Grant JPMJMS2034. Steering nonholonomic systems in chained form Fuzzy-tuned state-feedback control of a non-holonomic mobile robot A motion planner for nonholonomic mobile robots Exponential Stabilization of a Wheeled Mobile Robot Via Discontinuous Control Path planning and trajectory planning algorithms: A general overview Recent trends in mobile robots Robot motion planning and control Nonholonomic distance to polygonal obstacles for a car-like robot of polygonal shape Randomized kinodynamic motion planning with moving obstacles Planning algorithms Motion planning and obstacle avoidance A survey of motion planning and control techniques for self-driving urban vehicles Selfdriving cars: A survey Control of chained systems application to path following and time-varying point-stabilization of mobile robots Motion control of wheeled mobile robots Mobile robot control and navigation: A global overview Mobile robot control on a reference path Trajectory tracking control of a nonholonomic mobile robot with differential drive Reference tracking of a nonholonomic mobile robot using sensor fusion techniques and linear control Trajectory tracking of wheeled mobile robots using znumber based fuzzy logic A robotics wheelchair for crowded public environment A policy-blending formalism for shared control Shared autonomy via hindsight optimization Shared autonomy via hindsight optimization for teleoperation and teaming A smooth control law for graceful motion of differential wheeled mobile robots in 2d environment Path smoothing techniques in robot navigation: State-of-theart, current and future challenges Velocity pattern generation for power assisted wheelchair based on jerk and acceleration limitation Path following controller for electric power wheelchair using model predictive control and transverse feedback linearization A geometric assistive controller for the users of wheeled mobile robots without desired states A darboux-frame-based formulation of spinrolling motion of rigid objects with point contact Darboux-frame-based parametrization for a spin-rolling sphere on a plane: A nonlinear transformation of underactuated system to fully-actuated model Differential Geometry of Curves and Surfaces Riemannian Geometry in an Orthogonal Frame Development of NASA-TLX (Task Load Index): Results of empirical and theoretical research an assistive controller based on differential geometry for mobile robots (experiment)