A Quadratic Programming Approach to Manipulation in Real Time

Manipulation tasks usually involve the control of redundant robots to reach large workspaces while avoiding obstacles and satisfying other constraints. This results in motion planning in high-dimensional space. In addition, whole-body manipulation tasks using multi-limbed robots may need the control of more than one manipulators. Modular robots can be used to construct many useful morphologies with multiple chains for manipulation tasks. Multiple chains can behave as a gripper to grasp some objects although their geometry shapes can be very simple. A significant feature for these morphologies built by many modules is that the motion of chains are usually strongly coupled, namely these chains usually share many degrees of freedom. Also a general modeling solution is necessary since the a set of modules can form a large number of morphologies. We present a real-time planner to handle manipulation planning tasks including a kinematics modeling solution for arbitrary morphologies, a real-time controller to handle multiple motion tasks even if they are coupled, and a novel obstacle avoidance strategy based on a obstacle approximation method. This planner is demonstrated on real modular robots.

In a modular robotic system, a module can be modeled as a graph with all kinematics information embedded. For example, a SMORES-EP module is shown below that has four degrees of freedom and four connectors. A module graph can be generated to describe the kinematics model of this module where each vertex is a rigid body in the module (a connector or the module body) and each edge represents how adjacent rigid bodies are connected. A morphology is constructed by several modules and we can obtain the kinematics graph for a given morphology by composing the module graphs through connecting connector vertices. Then a kinematic chain from one frame to another frame is simply derived by following the shortest path between these two frames and a kinematics model for this chain can also be generated easily. More details can be found in the referenced papers.

A SMORES-EP module has four degrees of freedom and four connectors and the kinematics model of this module can be easily described as a graph.

Given a kinematic chain and a control task, a position control law can be built. It is shown that when there are multiple control tasks, e.g. moving multiple rigid bodies at the same time, we can simply stack the control law for each task even if some motion tasks are coupled, namely some kinematic chains can share some degrees of freedom. For a redundant robotic system, this control problem can be formulated as a quadratic program in which the control laws for all motion tasks are linear constraints. The hardware constraints, including position and velocity limits, can also be added as inequality constraints. A hardware demonstration is shown using CKBot modules.

The task is to control a branch morphology constructed by CKBot UBar modules in which the three modules in the middle are shared.

During the task, modules cannot move beyond the workspace boundary and collide with any environment obstacles. Modules are usually in regular shapes, such as spheres or cubes, and we use a sphere to approximate the geometry size of a module. The workspace can be defined as a polyhedron and for each facet of the polyhedron, a linear constraint can be built to keep the module from traversing the boundary. Obstacles can be approximated by a sphere-tree construction algorithm and we can form a virtual plane between the module and every obstacle sphere so that a similar linear constraint can be built to avoid collision. There can be a very large number of obstacle spheres and the constrained manifold makes the optimization problem difficult to solve. However, these obstacle spheres can be pruned significantly as we build these virtual planes, and this process can be executed efficiently by iteratively applying an erase-remove idiom technique for real-time applications.

A module is approximated as a sphere, the workspace boundary can be modeled as a set of polygons, and the environment obstacles can be represented as a set of spheres. Then two linear constraints can be built to guarantee that every module stays inside the workspace and avoids collision with the environment during the task.
After pruning, 5 obstacle spheres out of 373 are left for the module inside the circle at this moment.










The control and motion planning task can be formulated as a sequential optimization process. The control law is embedded as a term in the objective function. In the process, if any module is close to some obstacle sphere, we add a term to the objective function to penalize the motion of this module towards to that obstacle. If any module makes contact with some obstacle sphere, this module will be forced to move away by defining a repulsive velocity as the normal to the corresponding obstacle virtual plane that can be done by adding a hard inequality constraint and remove the previously added penalizing term for this module from the objective function. Several experiments are shown in the following video.


Note: The Obstacle Avoidance model in the published IRC paper from IEEE Xplore is not correct, and the correction is shown in the following provided PDF file.

  • [PDF] [DOI] C. Liu and M. Yim, “A quadratic programming approach to modular robot control and motion planning,” in 2020 fourth ieee international conference on robotic computing (irc), Taichung, Taiwan, 2020, pp. 1-8.
    author = {C. {Liu} and M. {Yim}},
    booktitle = {2020 Fourth IEEE International Conference on Robotic Computing (IRC)},
    title = {A Quadratic Programming Approach to Modular Robot Control and Motion Planning},
    year = {2020},
    volume = {},
    number = {},
    pages = {1-8},
    doi = {10.1109/IRC.2020.00008},
    month = {Nov},
    address = {Taichung, Taiwan},
    pdf = {https://www.modlabupenn.org/wp-content/uploads/2021/07/Liu_irc_2020.pdf}
  • [PDF] [DOI] C. Liu and M. Yim, “A quadratic programming approach to manipulation in real-time using modular robots,” The international journal of robotic computing (invited), vol. 3, iss. 1, pp. 121-145, 2021.
    author = {Chao {Liu} and Mark {Yim}},
    journal = {The International Journal of Robotic Computing (Invited)},
    title = {A Quadratic Programming Approach to Manipulation in Real-Time Using Modular Robots},
    year = 2021,
    volume = 3,
    number = 1,
    pages = {121-145},
    doi = {10.35708/RC1870-126268},
    pdf = {https://www.modlabupenn.org/wp-content/uploads/2021/08/Liu_ijrc_2021.pdf}


  1. Pingback:ModLab UPenn » Archive » CKbot

  2. Pingback:seo keyword planner tool

  3. Pingback:สล็อตวอเลท ไม่มีขั้นต่ำ

  4. Pingback:buy weed online

  5. Pingback:ป้ายโฆษณา

  6. Pingback:ALLBET ค่ายคาสิโน บาคาร่า

  7. Pingback:buy dmt carts

  8. Pingback:alpha88 pc

  9. Pingback:ทินเนอร์คุณภาพสูง

  10. Pingback:20175 Homes for Sale

  11. Pingback:rajadamnern boxing stadium

  12. Pingback:muay thai bangkok

  13. Pingback:patong boxing stadium

  14. Pingback:สล็อต pg เว็บตรง แตกหนัก

  15. Pingback:agen slot

  16. Pingback:betmw168

  17. Pingback:Hunter898

  18. Pingback:luxury pool villas in phuket

  19. Pingback:nagaqq poker

  20. Pingback:yehyeh

  21. Pingback:เพิ่มยอดไลค์

  22. Pingback:situs togel

  23. Pingback:buy psilocybin mushrooms united states​

  24. Pingback:Vape carts for sale

  25. Pingback:muha meds carts

  26. Pingback:mejaqq

  27. Pingback:สายใยลวด

  28. Pingback:เสาเข็มไมโครไพล์

  29. Pingback:https://ccaps.net/

  30. Pingback:bonanza178

  31. Pingback:boom mushroom bars

  32. Pingback:สล็อตเว็บตรงไม่ผ่านเอเย่นต์

  33. Pingback:VMC

  34. Pingback:Juesใช้แล้วทิ้ง

  35. Pingback:Seoul Pod Infinity

  36. Pingback:Relx Pod

  37. Pingback:super kaya88

  38. Pingback:xm ดีไหม

  39. Pingback:Native Smokes

  40. Pingback:ทำความรู้จัก หุ้นดาวโจนส์

  41. Pingback:yehyeh.com

  42. Pingback:Smooth Jazz Music

  43. Pingback:super kaya88

  44. Pingback:ป้ายกรุงเทพ

  45. Pingback:ป้ายโฆษณารถยนต์

  46. Pingback:CKbot – ModLab – UPenn

  47. Pingback:cafe instrumental music

  48. Pingback:deep sleeping

  49. Pingback:sleeping music

  50. Pingback:relaxing

  51. Pingback:relaxing music

  52. Pingback:peaceful music

  53. Pingback:relax

  54. Pingback:cozy beach cafe

  55. Pingback:bossa nova jazz

  56. Pingback:coffee shop jazz

  57. Pingback:winter jazz romance

  58. Pingback:relaxing piano music

  59. Pingback:963 hz

  60. Pingback:sleep music

  61. Pingback:calming music

  62. Pingback:música para treinar

  63. Pingback:nature sounds

  64. Pingback:exquisite jazz

  65. Pingback:winter jazz

  66. Pingback:calm music

  67. Pingback:background music

  68. Pingback:soothing piano music

  69. Pingback:hip hop

  70. Pingback:Study Music

  71. Pingback:jazz cafe

  72. Pingback:meditation music

  73. Pingback:relax music

  74. Pingback:bossa nova music

  75. Pingback:relaxation and renewal

  76. Pingback:water sounds

  77. Pingback:Autumn Morning

  78. Pingback:mafia rap 2022

  79. Pingback:relaxing sleep music

  80. Pingback:soothing relaxation

  81. Pingback:jazz coffee

  82. Pingback:piano relaxing music

  83. Pingback:stress relief

  84. Pingback:jazz relax

  85. Pingback:jazz instrumental

  86. Pingback:jazz and snow

  87. Pingback:cozy

  88. Pingback:trap japanese

  89. Pingback:bird chirping

  90. Pingback:harp background music

  91. Pingback:jazz piano music

  92. Pingback:relaxing jazz instrumental

  93. Pingback:motivation music workout

  94. Pingback:motivational songs

  95. Pingback:coffee shop

  96. Pingback:heavenly music

  97. Pingback:piano jazz instrumental

  98. Pingback:jazz bossa

  99. Pingback:trap workout motivation

  100. Pingback:zen music 24/7

  101. Pingback:relaxing jazz music

  102. Pingback:jazz music

  103. Pingback:sleep meditation

  104. Pingback:bamboo water fountain

  105. Pingback:calm jazz music

  106. Pingback:gangster rap 2023

  107. Pingback:christmas jazz fireplace

  108. Pingback:hiphop

  109. Pingback:bgm

  110. Pingback:trap mix 2023

  111. Pingback:gym

  112. Pingback:christmas jazz instrumental

  113. Pingback:ethereal jazz music

  114. Pingback:peaceful piano music

  115. Pingback:jazz music meaning

  116. Pingback:joyful jazz

  117. Pingback:coffee music

  118. Pingback:healing music

  119. Pingback:Relaxing Jazz

  120. Pingback:musicas de academia

  121. Pingback:smooth jazz

  122. Pingback:yoga music

  123. Pingback:spa music

  124. Pingback:relaxing piano jazz

  125. Pingback:piano music

  126. Pingback:jazz cabin ambience

  127. Pingback:smooth night jazz

  128. Pingback:rainy jazz

  129. Pingback:warm jazz

  130. Pingback:instrumental music relaxing

  131. Pingback:relaxing slow christmas jazz music

  132. Pingback:rainy night

  133. Pingback:soothing music

  134. Pingback:piano

  135. Pingback:jazz for happy xmas day

  136. Pingback:lofi hip hop mix

  137. Pingback:soothing piano

  138. Pingback:calm melody

  139. Pingback:healing meditation

  140. Pingback:musica de treino

  141. Pingback:coffee shop music

  142. Pingback:night jazz

  143. Pingback:music for stress relief

  144. Pingback:cozy jazz

  145. Pingback:piano jazz instrumental music

  146. Pingback:smooth jazz instrumental

  147. Pingback:relax everyday

  148. Pingback:type beat japanese

  149. Pingback:jazz relaxing music

  150. Pingback:smooth piano jazz instrumental music

  151. Pingback:trap bass japanese

  152. Pingback:piano jazz

  153. Pingback:best of jazz

  154. Pingback:coffee shop ambience

  155. Pingback:coffee relaxing jazz

  156. Pingback:jazz

  157. Pingback:jazz bossa nova

  158. Pingback:relaxing bossa nova

  159. Pingback:relaxing outdoor coffee shop

  160. Pingback:bossa nova cafe jazz

  161. Pingback:outdoor coffee

  162. Pingback:positive morning

  163. Pingback:bossa nova cafe