RangedIK: An Optimization-based Robot Motion Generation Method for Ranged-Goal Tasks
Yeping Wang, Pragathi Praveena, Daniel Rakita, Michael Gleicher

TL;DR
RangedIK introduces a real-time optimization-based method for robot motion generation that effectively handles tasks with specific goals, ranges, or preferences, enabling smooth and feasible motions in complex scenarios.
Contribution
It presents a unified framework that incorporates range-based tasks using barrier methods within a weighted-sum optimization, improving flexibility and task accommodation.
Findings
Outperforms state-of-the-art methods in simulations
Enables smooth, feasible motions on a physical robot
Effectively handles multiple task categories simultaneously
Abstract
Generating feasible robot motions in real-time requires achieving multiple tasks (i.e., kinematic requirements) simultaneously. These tasks can have a specific goal, a range of equally valid goals, or a range of acceptable goals with a preference toward a specific goal. To satisfy multiple and potentially competing tasks simultaneously, it is important to exploit the flexibility afforded by tasks with a range of goals. In this paper, we propose a real-time motion generation method that accommodates all three categories of tasks within a single, unified framework and leverages the flexibility of tasks with a range of goals to accommodate other tasks. Our method incorporates tasks in a weighted-sum multiple-objective optimization structure and uses barrier methods with novel loss functions to encode the valid range of a task. We demonstrate the effectiveness of our method through a…
| Benchmark | Tolerances | |||||
| /m | /m | /m | rx/rad | ry/rad | rz/rad | |
| Writing | 0 | 0 | 0 | |||
| Spraying | 0 | 0 | 0 | 0 | ||
| Wiping | 0 | 0 | 0 | 0 | 0 | |
| Filling | 0 | 0 | 0 | |||
| Method | Mean Pos. Error (m) | Mean Rot. Error (rad) | Mean Joint Vel. (rad/s) | Mean Joint Acc. (rad/s2) | Mean Joint Jerk (rad/s3) | Mean Mani- pulability | # Exceed Tolerances | Mean Joint Movement (rad) | |
| UR5 | RangedIK | 0.00210.002 | 0.0050.003 | 0.0420.02 | 0.02690.02 | 0.2240.2 | 0.05440.01 | 0 | 16.7478.132 |
| RelaxedIK | 0.00230.002 | 0.0070.005 | 0.0500.02 | 0.02990.02 | 0.3360.3 | 0.05330.01 | 0 | 20.0978.796 | |
| Trac-IK | 1.8e-61.6e-6 | 1.5e-61.6e-6 | 0.0610.04 | 1.93332.48 | 115.536149 | 0.04870.01 | 0 | 24.19515.918 | |
| Sawyer | RangedIK | 0.00140.001 | 0.0030.002 | 0.0340.02 | 0.02650.02 | 0.2900.3 | 0.15390.04 | 0 | 15.8977.934 |
| RelaxedIK | 0.00170.001 | 0.0060.004 | 0.0410.02 | 0.02800.03 | 0.3280.4 | 0.15350.04 | 0 | 19.2479.783 | |
| Trac-IK | 1.3e-61.1e-6 | 2.0e-61.6e-6 | 0.0470.03 | 1.48821.79 | 88.930107 | 0.14400.05 | 0 | 22.05114.029 | |
| The range values are standard deviations. The best value among the three methods for each measure is highlighted in bold. | |||||||||
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Vision and Imaging · Human Motion and Animation · Robotic Mechanisms and Dynamics
RangedIK: An Optimization-based Robot Motion Generation Method for Ranged-Goal Tasks
Yeping Wang1, Pragathi Praveena1, Daniel Rakita2 and Michael Gleicher1 1Yeping Wang, Pragathi Praveena, and Michael Gleicher are with the Department of Computer Sciences, University of Wisconsin-Madison, Madison, WI 53706, USA [yeping|pragathi|gleicher]@cs.wisc.edu2Daniel Rakita is with the Department of Computer Science, Yale University, New Haven, CT 06520, USA [email protected] work was supported by a University of Wisconsin Vilas Associates Award and National Science Foundation award 1830242.
Abstract
Generating feasible robot motions in real-time requires achieving multiple tasks (i.e., kinematic requirements) simultaneously. These tasks can have a specific goal, a range of equally valid goals, or a range of acceptable goals with a preference toward a specific goal. To satisfy multiple and potentially competing tasks simultaneously, it is important to exploit the flexibility afforded by tasks with a range of goals. In this paper, we propose a real-time motion generation method that accommodates all three categories of tasks within a single, unified framework and leverages the flexibility of tasks with a range of goals to accommodate other tasks. Our method incorporates tasks in a weighted-sum multiple-objective optimization structure and uses barrier methods with novel loss functions to encode the valid range of a task. We demonstrate the effectiveness of our method through a simulation experiment that compares it to state-of-the-art alternative approaches, and by demonstrating it on a physical camera-in-hand robot that shows that our method enables the robot to achieve smooth and feasible camera motions.
I INTRODUCTION
In real-time robotics applications, the robot needs to calculate how to move at each update to satisfy multiple kinematic requirements simultaneously. As exemplified in Figure 1, a writing application may have several kinematic requirements, which the robot must fulfill to generate accurate and feasible motions. Following Nakamura et al. [1], we consider the kinematic requirements that the robot must fulfill as tasks. These tasks can be classified into three categories according to their flexibility: (1) A task can have a specific goal with limited flexibility, which may cause the robot to lose the capability to achieve other tasks when attempting to accomplish it; (2) A task can have a range of equally valid goals, which provides broad flexibility for a robot to accommodate other tasks; and (3) A task can have a range of acceptable goals while also showing preference for a specific goal, which offers flexibility when needed for more critical tasks while still targeting a specific goal when possible. We refer to tasks in the last two categories as ranged-goal tasks, in contrast to the specific-goal tasks in the first category.
In this paper, we introduce a real-time robot motion synthesis method that is able to accommodate specific-goal tasks, ranged-goal tasks with equally valid goals, and ranged-goal tasks with preferred goals within a single, unified framework. We address the real-time multiple-task motion generation problem through a generalized Inverse Kinematics solver, called RangedIK, which incorporates a set of specific-goal or ranged-goal tasks in a weighted-sum non-linear optimization structure.
RangedIK supports flexible ranged-goal tasks in joint space or Cartesian space by utilizing barrier methods with novel loss functions to encode the valid range of a task in optimization. The multiple-objective optimization structure enables RangedIK to leverage the flexibility in ranged-goal tasks to improve the accuracy, smoothness, and feasibility of robot motions.
This paper builds on prior work [2, 3], which provides a per-instant pose optimization method known as RelaxedIK that optimizes single poses to achieve certain accuracy objectives without sacrificing motion feasibility. This paper extends the RelaxedIK method by leveraging the flexibility offered by ranged-goal tasks. The contributions of this paper are threefold: (1) a method to incorporate ranged-goal tasks in a multiple-objective optimization-based motion generation structure using novel parametric loss functions (section IV-A and section IV-B); (2) a set of specific-goal or ranged-goal task functions to generate accurate, smooth, and feasible robot motions (section IV-C); and (3) empirical evidence that ranged-goal tasks can create flexibility for improved accomplishment of other tasks (section V). We provide an open-source implementation of our proposed method111https://github.com/uwgraphics/relaxed_ik_core/tree/ranged-ik.
To assess the efficacy of our method, we compare RangedIK to RelaxedIK [2, 3] and Trac-IK [4] on applications with Cartesian tolerances, which create ranged-goal tasks to maintain end-effector poses within the tolerances (section V). Our results suggest that RangedIK generates more accurate, smooth and feasible motions than RelaxedIK, which does not utilize the flexibility offered by ranged-goal tasks. Our evaluation also shows that both RangedIK and Trac-IK generate valid motions within the specified tolerance, but our approach produces smoother and more feasible motions than Trac-IK. To showcase the generality of our method, we also demonstrate that our method enables a camera-in-hand robot to generate stable videos (section VI). Finally, we conclude this paper with a discussion of the limitations and implications of this work (section VII).
II RELATED WORK
Our work builds upon prior works in semi-constrained motion planning, inverse kinematics, and barrier methods.
II-A Semi-Constrained Motion Planning
Motion planning algorithms are widely used to enable end-effector path following. Semi-constrained motion planners have been presented to generate robot motions in applications that have Cartesian tolerances, i.e., where accurate end-effector movements in all six degrees of freedom are not required. Descartes [5, 6] is an open-source search-based semi-constrained motion planner released by the ROS-Industrial community. Recently, Malhan et al. [7] presented an iterative graph construction method to find trajectories that satisfy constraints in Cartesian or joint space. Besides the graph-based methods mentioned above, sampling-based methods have also been used in semi-constrained motion planners [8, 9].
While semi-constrained motion planners can effectively generate motions for path following, they are not appropriate in time-sensitive, real-time scenarios such as teleoperation. In this work, we use single pose optimization for real-time motion generation. Prior works have shown that single pose optimization is effective for generating motions in real-time scenarios such as teleoperation [10] and camera control [11].
II-B Inverse Kinematics
Semi-constrained motion planners often call an Inverse Kinematics (IK) solver repeatedly to get the joint positions that produce desired end-effector poses. Some emerging IK solvers can handle Cartesian tolerances and only need to be called once by the semi-constrained motion planners. Trac-IK [4] handles Cartesian tolerances by redefining Cartesian errors. Such an approach enables Trac-IK to be incorporated with a motion planner [12], but results in choppy motions when generating motion in real-time (more explanations are in section V-B). In this paper, we present a method that generates smooth motions not only for applications with Cartesian tolerances, but also other ranged-goal tasks.
In our work, we use the term “task” from task-priority IK [1, 13, 14, 15], which utilizes joint redundancy to handle a stack of tasks (kinematic requirements). The task priority framework has been extended to incorporate inequality tasks [16, 17]. Task-priority IK solvers can handle multiple tasks simultaneously by projecting a lower-priority task into the null-space of a higher-priority task, but this approach requires the robot to have sufficient kinematic redundancy for the null-space projections. Our method, on the other hand, can manage multiple and potentially competing tasks without the need for such redundancy requirements.
Task-priority IK approaches utilize a strict task hierarchy, which can sometimes be too conservative [18] or challenging to establish [19]. Meanwhile, non-strict task hierarchies are more flexible and are usually handled by weighted-sum strategies in optimization. Rakita et al. [2] demonstrated the benefits of using multiple-objective optimization to combine motion accuracy tasks with feasibility tasks such as self-collision avoidance. Building on this prior work, our approach leverages the flexibility of ranged-goal tasks to generate accurate, smooth, and feasible motions.
II-C Barrier Methods
In non-linear optimization, barrier methods convert an inequality constraint to a positively-weighted “barrier” in the loss function to prevent solutions from leaving feasible regions [20]. Barrier functions have been widely used in robotics for real-time optimization-based controllers [21, 22], model predictive controllers [23, 24] and motion planners [25, 26]. In this work, we apply barrier functions to incorporate ranged-goal tasks in a multiple-objective optimization-based IK structure.
A strict definition of barrier functions requires them to go to infinity when a solution is close to an inequality constraint boundary. However, limitations of such “strict” barrier functions have been noted in prior work [23, 24]; strict barrier functions are only defined over the feasible space and their derivatives go to infinity as one approaches the constraint boundary. Therefore, Feller and Ebenbauer [24] proposed a relaxed logarithmic barrier function that has a suitable penalty term outside of the feasible space to overcome the downsides of strict barrier functions. While this function was designed to possess desired properties for model predictive control, in this paper, we design and utilize relaxed barrier functions to restrict kinematic task values in valid ranges for real-time motion generation.
III TECHNICAL OVERVIEW
In this section, we provide notation for our problem and an overview of the optimization structure in our method.
III-A Problem Formulation
Consider an degree of freedom robot whose configuration is denoted by . A task (kinematic requirement) is described using . The tasks can be classified in three categories according to the type of their goals.
A Specific-Goal Task has a single valid goal, e.g., a pose matching task that requires a robot’s end-effector to match a given goal pose. For such tasks, the value of the task function should match the goal value at time :
[TABLE]
A Ranged-Goal Task with Equally Valid Goals allows for multiple valid goals within an interval. For instance, all joint positions are equally valid as long as they are within the joint limits of a robot.
For such tasks, the value of the task function should fall within an interval defined by the lower bound and the upper bound :
[TABLE]
A Ranged-Goal Task With a Preferred Goal has a range of acceptable goals while showing a preference for a specific goal. For instance, the joint acceleration of a robot should be within its motor’s limits, but we would prefer the acceleration to be as small as possible to minimize energy usage. This type of task is defined by an acceptable interval and a preferred goal .
[TABLE]
The goal of our work is to compute a joint configuration to achieve a set of tasks as best as possible even when competing tasks arise, such as moving a robot to a goal pose while also minimizing energy usage. A task can be defined in joint space (e.g., minimizing joint acceleration), Cartesian space (e.g., matching end-effector poses), or a task-relevant space (e.g., keeping an object in view for a camera-in-hand robot). In real-time applications, future goals or goal ranges are unknown at time , for any .
III-B Non-linear Optimization
We formulate the problem posed above as a constrained non-linear optimization problem:
[TABLE]
where and are the lower and upper bounds of the -th robot joint, and is a set of tasks to be achieved. is the weighted sum of the loss function for each task:
[TABLE]
Here, is the total number of tasks to be achieved and is the weight value for the -th task. is a task function that has a specific goal value or a goal range. is a parametric loss function that calculates the error between a task value and the specific goal value or the goal range. We will describe the parametric loss functions and the task functions that we utilize in section IV.
IV TECHNICAL DETAILS
In this section, we provide details on how we incorporate ranged-goal tasks in a multiple-objective optimization structure. We first introduce three basic loss functions that are used to normalize or regularize task values. Later, we use the basic loss functions as building blocks to design parametric loss functions for specific or ranged-goal tasks. Finally, we detail task functions that are used to generate accurate, smooth and feasible robot motions.
IV-A Basic Loss Functions
IV-A1 Gaussian
To combine multiple tasks, it is important to normalize each task such that their values are over a uniform range [2]. One common normalization method is the negative Gaussian function:
[TABLE]
where is a goal value and is the standard deviation, which determines the spread of the Gaussian (Figure 2-A).
IV-A2 Wall
Another normalization method involves uniformly scaling values based on the lower bound and upper bound : . After scaling, is within the interval . We present a continuous function to impose a large penalty when is close to or outside the boundaries of the interval and a nearly zero penalty when is within the interval:
[TABLE]
As shown in Figure 2-B, the function has “walls” at the boundaries, hence it is named the Wall function. In Equation 7, determines the wall “height”, determines the wall “locations”222We computed by solving to impose 0.95 of the maximum penalty at boundaries. and determines the steepness of the walls.
IV-A3 Polynomial
Neither the Gaussian nor the Wall function provides sufficient derivatives when solutions are far away from their goal or goal range. The non-sufficient derivatives make optimization sensitive to the initial guess, causing it stuck before reaching the optimal point. On the other hand, polynomials provide sufficient gradients everywhere that point towards a goal :
[TABLE]
where is the degree of the polynomial and determines the severity of the penalty when a value is away from the optimal point (Figure 2-C).
IV-B Parametric Loss Functions
Below, we use the basic loss functions in section IV-A as building blocks to design a loss function for each task category. All of these parametric loss functions are continuous and smooth.
IV-B1 Specific-goal tasks
To enable task values to match a specific goal , Rakita et al. [2, 3] combine the Gaussian and polynomial functions to design the Groove loss function:
[TABLE]
Here, the scalar values , , and form the set of parameters . As shown in Figure 2-D, the Groove function has a narrow “groove” around the goal to steer values towards the goal and a more gradual descent away from the goal for better integration with other objectives.
IV-B2 Ranged-goal tasks with equally valid goals
Tasks with a continuous range of equally valid goals require a loss function that imposes nearly zero penalties if task values are within the range and large penalties if task values are close to or outside the boundaries. Moreover, the function should have sufficient gradients outside the boundaries. To satisfy these requirements, we present the Swamp loss function, which is a Wall function surrounded by a polynomial:
[TABLE]
Here, the scalar values , , , , and form the set of parameters . is the scaled task value described in section IV-A. As shown in Figure 2-E, the Swamp function has a flat “swamp” region to ensure that any solution within the range is equally good. There are steep “walls” near the boundaries to restrict solutions within the range. Outside of the walls, the gradual “funnel” provides gradients to drive solutions towards the swamp region.
IV-B3 Ranged-goal tasks with a preferred goal
We combine the Gaussian, Wall, and polynomial functions to design the Swamp Groove loss function that meets the requirements of tasks with acceptable goals within a range and a preferred goal :
[TABLE]
Here, the scalar values , , , , , and form the set of parameters . As shown in Figure 2-F, the Swamp Groove function has a “groove” shape near the preferred goal, steep “walls” at the boundaries, and a gradual “funnel” shape outside the walls. We note that the Swamp Groove function does not require the preferred goal to be at the center of the range but must be within the range.
IV-C Task Functions
In this section, we describe the mathematical details of task functions used in our work to generate accurate, smooth, and feasible motions. Besides these task functions, additional functions can be introduced for more specialized tasks. Task functions are composed with parametric loss functions described in section IV-B and then combined using Equation 5 to form the objective function . The parameters of the parametric loss function can be found in our open-source implementation. We estimated the parameters based on visualizations (e.g., Figure 2) and fine-tuned them according to the robot behaviors. The following task functions were adapted from the objective terms in prior work [2].
IV-C1 End-effector Pose Matching
and indicate the end-effector’s position and rotation error in the -th DoF. We describe and with respect to the goal end-effector pose .
[TABLE]
[TABLE]
where is the robot’s forward kinematics function. and denote the position and orientation of the robot’s end-effector. denotes a conversion from a rotation matrix to a vector (scaled-axis) with the direction of the rotation axis and whose norm is the rotation angle. denotes the -th element of a vector. and can be specific-goal tasks if exact pose matching is desired, but for applications with Cartesian tolerances, e.g., the benchmark applications we evaluate in section V, or can be ranged-goal tasks.
IV-C2 Smooth Motion Generation
We consider the velocity , acceleration , and jerk of each robot joint separately for the smooth motion generation task. We set limits for each joint as follows ( refers to the -th joint of the robot):
[TABLE]
For joint velocities and accelerations, we use ranged-goal tasks with preferred goals. Joint velocities or accelerations are acceptable if they are within the motor limits and their preferred values are zeros. Joint jerks are treated as specific-goal tasks whose goal values are zeros.
IV-C3 Self-Collision Avoidance
We adapt the collision avoidance method from [27] for self-collision avoidance. Each robot link is represented as a convex shape (e.g., a capsule). A task function that represents the shortest straight-line distance between the -th and -th link can be written as:
[TABLE]
where is the shortest straight-line distance between two convex shapes and is computed using Support Mapping [28]. To consider self-collisions between all pairs of non-adjacent robot links, a group of ranged-goal tasks are added to the objective function (Equation 5): , where is the number of robot links. We set 0.02 m as the minimum allowable distance between two non-adjacent robot links.
IV-C4 Kinematic Singularity Avoidance
We use the Yoshikawa manipulability measure [29] to evaluate how close a configuration is to a singularity. The manipulability task is defined as , where is the Jacobian matrix that maps joint speeds to end-effector velocities. is a specific-goal task and is injected into the loss function to maximize manipulability.
V Evaluation
In this section, we compare RangedIK with two alternative approaches, RelaxedIK and TracIK, to generate motions for applications that allow some tolerances in end-effector poses. These Cartesian tolerances create ranged-goal tasks that maintain end-effector pose within the tolerances.
V-A Implementation Details
Our prototype implementation was based on the open-source CollisionIK library333https://github.com/uwgraphics/relaxed_ik_core/tree/collision-ik. Our prototype uses the Proximal Averaged Newton-type Method (PANOC) [30] as the optimization solver. All evaluations were performed on an Intel Core i7-11800H 2.30 GHz CPU with 16 GB RAM.
V-B Comparisons
RelaxedIK [2] is an optimization-based Inverse Kinematics solver that generates feasible motions given multiple objective terms, such as end-effector pose matching, smooth joint motion, and self-collision avoidance. However, all of the objectives have a single goal. We want to show that by considering ranged-goal tasks, RangedIK will generate more accurate, smooth, and feasible motions than RelaxedIK.
Another alternative approach is to generate motions with a widely used Inverse Kinematics solver, Trac-IK [4], which biases the search around the joint space of a given seed value. We provide the seed value as the configuration from the previous update. Trac-IK considers Cartesian pose tolerances by mapping pose errors to a discontinuous function:
[TABLE]
Here, is the pose error in the -th degree of freedom. The discontinuous function makes the robot stop moving when the end-effector pose error is within the interval and leads to a sudden, large movement once the pose error is outside of the range. Consequently, motions generated by Trac-IK can have large joint accelerations and jerks.
V-C Experimental procedure
We compared our method to alternative approaches on the four benchmark applications described in Section V-D. The randomly generated path for each benchmark was discretized to 2,000 end-effector goal poses at 30 Hz. The goal poses, along with the Cartesian tolerances, were provided to RangedIK and Trac-IK, whereas RelaxedIK received only goal poses due to its inability to accommodate Cartesian tolerances. We repeated all benchmarks 10 times using two simulated robots: a 6-DoF Universal Robots UR5 and a 7-DoF Rethink Robotics Sawyer. Our experiment consisted of 480,000 discrete solutions and involved 2 robots, 3 methods, 4 benchmark applications, and 10 randomly generated configurations for each application.
V-D Benchmark
We developed four benchmark applications with Cartesian tolerances (Table I) to compare our method against alternative approaches. The first three benchmarks involve manipulation tasks on a whiteboard positioned in front of the robot. The facing angle of the whiteboard is uniformly sampled from , with 0 and representing a vertical and horizontal whiteboard, respectively.
V-D1 Writing
The robot uses a marker as the end-effector to draw curves on the whiteboard. The writing trajectory includes 5 randomly generated cubic Bezier curves. The application requires the marker tip position to be accurate but allows the marker to tilt (rotational tolerances about the marker’s and axes) or freely rotate about the marker’s principal axis.
V-D2 Spraying
The robot sprays cleaner on the whiteboard. The spraying positions are uniformly sampled to cover the whiteboard. Some position tolerances parallel to the whiteboard plane (the plane) are allowed because the cleaner will be wiped by an eraser in the next application.
V-D3 Wiping
The robot wipes the whiteboard with a round eraser, moving along a predefined, lawnmower path to cover the entire whiteboard. The round eraser’s rotational symmetry allows the robot to rotate freely about the eraser’s principal axis (rotational tolerances about the axis).
V-D4 Filling Water
The robot fills a cup with the water from a faucet and places the cup on a tabletop. The positions of the initial empty cup, the faucet, and the final full cup are uniformly sampled from three mmm domains within the robot’s workspace. A cup can be filled as long as the water flow is within the cup, allowing for some horizontal position tolerances in the plane. The cup’s rotational symmetry allows the robot to rotate freely about the cup’s principal axis.
V-E Metrics
We used 7 metrics to measure the accuracy, smoothness, manipulability and validity of robot motions. Motion accuracy was measured using mean position error (m) and mean rotation error (rad), which were measured only in the degrees of freedom without tolerances. We used mean joint velocity (rad/s), mean joint acceleration (rad/s2), and mean joint jerk (rad/s3) to assess motion smoothness. Motion manipulability was measured by mean Yoshikawa manipulability [29], where a higher value indicates better manipulability. Motion validity was measured by the total number of solutions that exceeded the tolerances. We also measured mean movements in joint space, where larger joint movements result in increased wear and tear on the robot.
V-F Results
As shown in Table II, both the non-redundant UR5 and the redundant Saywer robot benefitted from RangedIK. Compared to RelaxedIK, our method generated more accurate and smoother robot motions with higher manipulability. Specifically, RangedIK could reach better Cartesian accuracy with less joint movement compared to RelaxedIK, and all solutions generated by RangedIK were within the Cartesian tolerances. These results indicate that our method RangedIK could leverage the flexibility offered by ranged-goal tasks to improve the quality of generated robot motions.
Our results also show that RangedIK could satisfy multiple kinematics requirements simultaneously. Compared to Trac-IK, which focuses on generating accurate solutions within joint limits, RangedIK could generate smoother motions with larger manipulability. In particular, due to the discontinuity in Equation 16, Trac-IK generated choppy motions with large accelerations and jerks.
VI Demonstration
The experiment in section V shows that our method can generate feasible motions for applications with Cartesian tolerances. In addition, we demonstrate the effectiveness our method on a camera-in-hand robot that tracks a user’s hand to capture clear hand gestures or movements.
Prior works [11, 31] have presented a series of tasks to generate feasible camera motions (Figure 3-A). One of these tasks is the “look-at task” which steers the robot to look at the user’s hand. While prior works have set a specific goal for this task (Figure 3-B left), our method allows us to set a preferred goal and a range of acceptable goals (Figure 3-B right). By utilizing the flexibility of the ranged-goal task, our method generates smoother motions to prevent shaky videos. The demonstrations are shown in the supplementary video 444https://github.com/uwgraphics/relaxed_ik_core/tree/ranged-ik#supplementary-video.
VII Discussion
In this work, we presented RangedIK, a real-time motion generation method that accommodates specific and ranged-goal tasks and leverages the flexibility offered by ranged-goal tasks to generate higher-quality robot motion. Below, we discuss the limitations and implications of this work.
VII-A Limitations
Our work has some limitations that highlight directions for future research. While our method can generate real-time feasible motions, it can lack foresight because the tasks are defined to find a feasible solution for now. Extension to this work could investigate ways to incorporate future feasibility tasks in our optimization-based structure. Also, our method builds on a non-linear optimization formulation that may get stuck in local minima. Future work should explore methods (e.g., warm-start strategies [32]) to enable our method to escape local minima. Finally, RangedIK treats all tasks as optimization objectives, which may require scenario-specific tuning of parameters and weights. Future work can extend our method to include automatic weight-tuning.
VII-B Implications
Our results demonstrate that RangedIK can utilize the flexibility in ranged-goal tasks to generate feasible motion on-the-fly. We believe that such capability makes our method applicable in complex real-life scenarios where many, and potentially competing, tasks need to be achieved simultaneously, such as teleoperation or active camera control. Furthermore, the parametric loss functions presented in our work could benefit other optimization-based methods, e.g., offline motion planning or model predictive control.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Y. Nakamura, H. Hanafusa, and T. Yoshikawa, “Task-priority based redundancy control of robot manipulators,” The International Journal of Robotics Research , vol. 6, no. 2, pp. 3–15, 1987.
- 2[2] D. Rakita, B. Mutlu, and M. Gleicher, “Relaxedik: Real-time synthesis of accurate and feasible robot arm motion.” in Robotics: Science and Systems . Pittsburgh, PA, 2018, pp. 26–30.
- 3[3] ——, “An analysis of relaxedik: an optimization-based framework for generating accurate and feasible robot arm motions,” Autonomous Robots , vol. 44, no. 7, pp. 1341–1358, 2020.
- 4[4] P. Beeson and B. Ames, “Trac-ik: An open-source library for improved solving of generic inverse kinematics,” in 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids) . IEEE, 2015, pp. 928–935.
- 5[5] ROS-I. (2015) Descartes—a ros-industrial project for performing path-planning on under-defined cartesian trajectories. [Online]. Available: http://wiki.ros.org/descartes
- 6[6] J. De Maeyer, B. Moyaers, and E. Demeester, “Cartesian path planning for arc welding robots: Evaluation of the descartes algorithm,” in 2017 22nd IEEE International conference on emerging technologies and factory automation (ETFA) . IEEE, 2017, pp. 1–8.
- 7[7] R. K. Malhan, S. Thakar, A. M. Kabir, P. Rajendran, P. M. Bhatt, and S. K. Gupta, “Generation of configuration space trajectories over semi-constrained cartesian paths for robotic manipulators,” IEEE Transactions on Automation Science and Engineering , 2022.
- 8[8] M. Cefalo, P. Ferrari, and G. Oriolo, “An opportunistic strategy for motion planning in the presence of soft task constraints,” IEEE Robotics and Automation Letters , vol. 5, no. 4, pp. 6294–6301, 2020.
