Up:Tutorial    Previous:Collision detection by agents   Next:Control of humanoid agent by BVH file


Grasping Function for Humanoid Agent

This tutorial is valid for later than SIGVerse v2.1.1

This tutorial explains how to let a humanoid agent grasp objects.

Controller

Create a controller for a humanoid agent.

$ cd ~/MyWorld
$ emacs grasp.cpp

grasp.cpp

Using the above controller, the agent will grasp an object if the agent touch on the object.

Operation of the humanoid agent

If you send a message "move", the agent will go forward. The agent change his orientation if a message "rotation" is sent.

A message "[joint name] [angle]", the specified [joint] will be bent to the [angle] ex) "WAIST_JOINT1 45" The definition of each joint is explained at JointDefinition

Grasping

API named graspObj will realize grasping behavior. An argument should be set a target object which should be grasped. The object will be moved along with the agent's hand

Release

If a message "release" is sent to the agent, the agent will release the object.  

Compilation

$ ./sigmake.sh grasp.cpp

World file

The following world file is almost the same as the one which is used in Vision sensor

$ emacs grasp.xml

grasp.xml

Execution

$ sigserver.sh  -w ./grasp.xml

You can control the avator wich messages such as "move", "rotation" and "[joint name] [angle]". Let's make the avator touch on something object by the right hand. If the agent touch on a certain object, the object will be grasped.

ATTENTION: Since collision detection is executed by rough boundaly condition, the object might not be grasped even if the object is touched by the agent.

grasp_1.PNG

You can confirm that the target object is moved along with the hand when you bend or move the hand.

grasp_2.PNG

The a message "release", the robot agent then release the object.

grasp_3.PNG

You can confirm that the target object never move after the release.

Up:Tutorial    Previous:Collision detection by agents   Next:Control of humanoid agent by BVH file

Counter: 2167, today: 1, yesterday: 0

Attach file: filegrasp_3.PNG 916 download [Information] filegrasp_2.PNG 886 download [Information] filegrasp_1.PNG 894 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2016-03-23 (Wed) 17:45:35 (605d)