Torsten Kroeger

Stanford Artificial Intelligence Laboratory

Videos and Photos of Sample Applications

Here, a selection of videos and photos of sample applications is shown. The material was obtained by means of implementations of the research fields that have been introduced beforehand.










JediBot — Robot Sword Fighting

This student project was realized at Stanford University within the course CS255A, "Experimental Robotics". A KUKA Light-Weight Robot is controlled through the Fast Research Interface and equipped with a "sword". The same kind of sword is used by a human being, and the purpose of the project is to show how a robot and a human can do sword fighting. Based on a Microsoft Kinect device, image processing algorithms capture human motions and compute data that is used by the Reflexxes Motion Libraries to on-line generate a robot motion trajectory, such that the robot system can react instantaneously to any unforeseen motion of the human.

Videos: JediBot





 










Collision Avoidance

A KUKA Light-Weight Robot is set-up to show different collisions avoidance strategies if robotic arms cooperate and interact with humans. Furthermore, various control modes are used, and the different behaviors that result from these modes are shown. The Reflexxes Motion Libraries provide a set of on-line trajectory generation algorithms, such that deterministic and immediate reactions can be realized. These algorithms are fed by a collision avoidance system that uses the depth images of a Microsoft Kinect device. The system is very robust and highly reactive. Furthermore, jerk-limited continuous robot motions are guaranteed in any case.

Video: Sensor-Based Switching Between State Spaces and Control Behaviors



 










Hybrid Switched-System Control

A KUKA Light-Weight Robot is controlled through the Fast Research Interface. Based on unforeseen sensor-events, controller switchings between (1) joint space control and (2) Cartesian space control and (a) stiff trajectory-following motion control and (b) compliant motion control is shown. The switchings occur abrupt from one control cycle to another (within one millisecond), such that the robot can react instantaneously. Due the use of the Reflexxes Motion Libraries, smooth steady, continuous, and jerk-limited motions can be guaranteed in any situation.

Video: Sensor-Based Switching Between State Spaces and Control Behaviors



 










Robust Visual Servo Control

The motion of a human is captured with a Microsoft Kinect camera. A KUKA Light-Weight Robot is controlled through the Fast Research Interface. Based on a stereo camera system, an image processing alsorithm computes data that is used by the Reflexxes Motion Libraries to on-line compute a robot motion trajectory within each low-level control cycle, such that the robot system can react instantaneously to any unforeseen event. If the image processing generates very noisy data or even if it fails (e.g., because of an obstacle in front of the cameras), a safe, continuous, and jerk-limited robot motion can be generated in any case.

Video: KUKA Light-Weight Robot Combined with MS Kinect



 










Playing Jenga

To demonstrate the potential of multi-sensor integration in industrial manipulation, a robot was programmed to play Jenga. The aim of this game is to find a loosen block in a tower of wooden cuboids, take it out and put it back onto the top of the tower. The manipulator is equipped with two cameras. One PC is dedicated for image processing and calculates the positions in space for all cuboids on-line. For tactile feedback, a six degree of freedom force/torque sensor and a six degree of freedom acceleration sensor are mounted between hand and gripper. For precise position measurements, an optical triangulation distance sensor is mounted on the gripper. Randomly, a block is chosen and the manipulator tries to push it out of the tower. If the counter force gets to high or if the cameras detect a dithering tower, the next cuboid will be chosen. Once a block could be pushed far enough, its contour is precisely surveyed by the distance sensor. Now the block can be gripped exactly centered, such that the tower will not move when closing the gripper. In order not to damage the tower, all transversal forces and torques are eliminated while pulling the brick out. To put a brick back onto the tower, a force guarded manipulation primitive is set up, which lets the manipulator stop, when a certain force is exceeded. The whole application is programmed on the base of manipulation primitives, which constitute atomic motion commands. Once the execution of a single primitive is finished, it depends on the sensor signals, which primitive will be executed next. This way a program can be summarized to a static manipulation primitive net. The path through the net changes dynamically and depends on the situation in the work cell. At the end of each game, the tower collapses. The record height was 28 stages, that is, ten additional stages consisting of 29 blocks were put onto the top of the tower. In the following, two sequences are shown; the first one just shows one complete move in detail, and the second one is a video contribution to the 2006 IEEE International Conference on Robotics and Automation.

Video 1: One move in detail (no sound).



 

Video 2: IEEE ICRA'06 video contribution (with sound).



Some Additional Photos
















Inserting a Battery Into a Mobile Phone

In order to illustrate Manipulation Primitive Nets, this set of three videos show the robust insertion of a battery into a cell phone by only using the tactile feedback of a force/torque sensor. These video clips show the execution of the insertion procedure in two different ways: In the first video, the cell phone is positioned correctly. Here, the manipulator can execute the task purely position controlled. After a significant translational and rotational displacement of the phone (second video of this set), the procedure is repeated, and the same Manipulation Primitive Net is executed (third video). The left part shows the video sequence and the right part contains the corresponding manipulation primitive net.

Video 1: Battery insertion without phone displacement (no sound).



Video 2: Phone displacement (no sound).



Video 3: Same as Video 1, but with phone displacement (no sound).



Some Additional Photos
















Assembly of Light Bulb Into a Bayonet Socket

As an example for a further assembly task, the insertion of a lamp into a bayonet socket is shown in the video. Because the lamp has to fit into the notches of the socket, this application constitutes an advanced peg-in-hole task: First the notches have to be found, secondly the lamp is inserted (peg-in-hole) until a spring is fully compressed, thirdly the lamp is rotated, and finally it is pulled up and the gripper is opened.

Video (no sound)



Some Additional Photos
















Aligning an Object to a Corner

Another simple assembly task is to align a cubical block into a right-angled corner. Again, high stiffness objects are used only.

Video (no sound)



Some Additional Photos
















Placing an Object Onto a Plane Surface

In this video, an aluminium block with two non-parallel planes simulates a not ideally gripped polyhedral object that has to be placed onto a plane surface with high stiffness. As before, the left part shows the video sequence and the right part contains the corresponding manipulation primitive net.

Video (no sound)



Some Additional Photos