#include <binpickingtask.h>
構成 | |
struct | DetectedObject |
struct | PointCloudObstacle |
struct | ResultAABB |
struct | ResultBase |
struct | ResultGetBinpickingState |
struct | ResultGetInstObjectAndSensorInfo |
struct | ResultGetJointValues |
struct | ResultGetPickedPositions |
struct | ResultHeartBeat |
struct | ResultIsRobotOccludingBody |
struct | ResultMoveJoints |
struct | ResultOBB |
struct | ResultTransform |
struct | SensorOcclusionCheck |
Public 型 | |
typedef boost::shared_ptr < ResultBase > | ResultBasePtr |
Public メソッド | |
BinPickingTaskResource (ControllerClientPtr controller, const std::string &pk, const std::string &scenepk, const std::string &tasktype="binpicking") | |
virtual | ~BinPickingTaskResource () |
virtual void | Initialize (const std::string &defaultTaskParameters, const double commandtimeout=0, const std::string &userinfo="{}", const std::string &slaverequestid="") |
Initializes binpicking task. | |
virtual boost::property_tree::ptree | ExecuteCommand (const std::string &command, const double timeout=0.0, const bool getresult=true) |
virtual void | GetJointValues (ResultGetJointValues &result, const double timeout=0) |
virtual void | MoveJoints (const std::vector< Real > &jointvalues, const std::vector< int > &jointindices, const Real envclearance, const Real speed, ResultMoveJoints &result, const double timeout=0) |
virtual void | GetTransform (const std::string &targetname, Transform &result, const std::string &unit="mm", const double timeout=0) |
virtual void | SetTransform (const std::string &targetname, const Transform &transform, const std::string &unit="mm", const double timeout=0) |
virtual void | GetManipTransformToRobot (Transform &result, const std::string &unit="mm", const double timeout=0) |
virtual void | GetManipTransform (Transform &result, const std::string &unit="mm", const double timeout=0) |
virtual void | GetAABB (const std::string &targetname, ResultAABB &result, const std::string &unit="mm", const double timeout=0) |
virtual void | GetOBB (ResultOBB &result, const std::string &targetname, const std::string &linkname="", const std::string &unit="mm", const double timeout=0) |
virtual void | GetInnerEmptyRegionOBB (ResultOBB &result, const std::string &targetname, const std::string &linkname="", const std::string &unit="mm", const double timeout=0) |
virtual void | UpdateObjects (const std::string &basename, const std::vector< Transform > &transformsworld, const std::vector< std::string > &confidence, const std::string &state, const std::string &unit="mm", const double timeout=0) |
Update objects in the scene. | |
virtual void | InitializeZMQ (const double reinitializetimeout=0, const double timeout=0) |
Establish ZMQ connection to the task. | |
virtual void | AddPointCloudObstacle (const std::vector< Real > &vpoints, const Real pointsize, const std::string &name, const unsigned long long starttimestamp=0, const unsigned long long endtimestamp=0, const bool executionverification=false, const std::string &unit="mm", int isoccluded=-1, const double timeout=0) |
Add a point cloud collision obstacle with name to the environment. | |
virtual void | UpdateEnvironmentState (const std::string &objectname, const std::vector< DetectedObject > &detectedobjects, const std::vector< Real > &vpoints, const std::string &resultstate, const Real pointsize, const std::string &pointcloudobstaclename, const std::string &unit="mm", const double timeout=0) |
virtual void | VisualizePointCloud (const std::vector< std::vector< Real > > &pointslist, const Real pointsize, const std::vector< std::string > &names, const std::string &unit="m", const double timeout=0) |
Visualize point cloud on controller. | |
virtual void | ClearVisualization (const double timeout=0) |
Clear visualization made by VisualizePointCloud. | |
virtual void | IsRobotOccludingBody (const std::string &bodyname, const std::string &sensorname, const unsigned long long starttime, const unsigned long long endtime, bool &result, const double timeout=0) |
Check if robot is occluding the object in the view of sensor between starttime and endtime. | |
virtual void | GetPickedPositions (ResultGetPickedPositions &result, const std::string &unit="m", const double timeout=0) |
Get the picked positions with corresponding timestamps. | |
virtual PlanningResultResourcePtr | GetResult () |
gets the result of the task execution. If no result has been computed yet, will return a NULL pointer. | |
virtual void | GetInstObjectAndSensorInfo (const std::vector< std::string > &instobjectnames, const std::vector< std::string > &sensornames, ResultGetInstObjectAndSensorInfo &result, const std::string &unit="m", const double timeout=0) |
Gets inst object. | |
virtual void | GetBinpickingState (ResultGetBinpickingState &result, const std::string &robotname, const std::string &unit="m", const double timeout=0) |
Get state of bin picking. | |
virtual void | GetPublishedTaskState (ResultGetBinpickingState &result, const std::string &robotname, const std::string &unit="m", const double timeout=0) |
Get published state of bin picking except for initial call, this returns cached value. | |
virtual void | SetJogModeVelocities (const std::string &jogtype, const std::vector< int > &movejointsigns, const std::string &robotname="", const std::string &toolname="", const double robotspeed=-1, const double robotaccelmult=-1.0, const double timeout=1) |
Jogs robot in joint or tool space. | |
virtual void | MoveToolLinear (const std::string &goaltype, const std::vector< double > &goals, const std::string &robotname="", const std::string &toolname="", const double robotspeed=-1, const double timeout=10) |
Moves hand to specified posistion linearly. | |
virtual void | MoveToHandPosition (const std::string &goaltype, const std::vector< double > &goals, const std::string &robotname="", const std::string &toolname="", const double robotspeed=-1, const double timeout=10) |
Moves hand to specified posistion. | |
virtual void | _HeartbeatMonitorThread (const double reinitializetimeout, const double commandtimeout) |
Monitors heartbeat signals from a running binpicking ZMQ server, and reinitializes the ZMQ server when heartbeat is lost. | |
virtual const std::string & | GetSlaveRequestId () const |
returns the slaverequestid used to communicate with the controller. If empty, then no id is used. | |
![]() | |
TaskResource (ControllerClientPtr controller, const std::string &pk) | |
virtual | ~TaskResource () |
virtual bool | Execute () |
execute the task. | |
virtual void | Cancel () |
if the task is currently executing, send a cancel request | |
virtual void | GetRunTimeStatus (JobStatus &status, int options=1) |
get the run-time status of the executed task. | |
virtual OptimizationResourcePtr | GetOrCreateOptimizationFromName_UTF8 (const std::string &optimizationname, const std::string &optimizationtype=std::string("robotplacement")) |
Gets or creates the a optimization part of the scene. | |
virtual OptimizationResourcePtr | GetOrCreateOptimizationFromName_UTF16 (const std::wstring &optimizationname, const std::string &optimizationtype=std::string("robotplacement")) |
virtual void | GetOptimizationPrimaryKeys (std::vector< std::string > &optimizationkeys) |
gets a list of all the scene primary keys currently available to the user | |
virtual void | GetTaskParameters (ITLPlanningTaskParameters &taskparameters) |
Get the task info for tasks of type itlplanning | |
virtual void | SetTaskParameters (const ITLPlanningTaskParameters &taskparameters) |
Set new task info for tasks of type itlplanning | |
![]() | |
WebResource (ControllerClientPtr controller, const std::string &resourcename, const std::string &pk) | |
virtual | ~WebResource () |
ControllerClientPtr | GetController () const |
const std::string & | GetResourceName () const |
const std::string & | GetPrimaryKey () const |
virtual std::string | Get (const std::string &field) |
gets an attribute of this web resource | |
virtual void | Set (const std::string &field, const std::string &newvalue) |
sets an attribute of this web resource | |
virtual void | Delete () |
delete the resource and all its child resources | |
virtual void | Copy (const std::string &newname, int options) |
copy the resource and all its child resources to a new name |
Protected 変数 | |
std::stringstream | _ss |
std::map< std::string, std::string > | _mapTaskParameters |
set of key value pairs that should be included | |
std::string | _mujinControllerIp |
boost::mutex | _mutexTaskState |
ResultGetBinpickingState | _taskstate |
int | _zmqPort |
int | _heartbeatPort |
std::string | _userinfo_json |
userinfo json | |
std::string | _sceneparams_json |
std::string | _slaverequestid |
\ parameters of the scene to run tasks on the backend zmq slave | |
std::string | _scenepk |
scene pk | |
const std::string | _tasktype |
the specific task type to create internally. As long as the task supports the binpicking interface, it can be used. | |
boost::shared_ptr< boost::thread > | _pHeartbeatMonitorThread |
bool | _bIsInitialized |
bool | _bShutdownHeartbeatMonitor |
![]() | |
std::string | _jobpk |
the job primary key used to track the status of the running task after Execute is called |
binpickingtask.h の 39 行で定義されています。
typedef boost::shared_ptr<ResultBase> mujinclient::BinPickingTaskResource::ResultBasePtr |
binpickingtask.h の 76 行で定義されています。
mujinclient::BinPickingTaskResource::BinPickingTaskResource | ( | ControllerClientPtr | controller, |
const std::string & | pk, | ||
const std::string & | scenepk, | ||
const std::string & | tasktype = "binpicking" |
||
) |
|
virtual |
|
virtual |
Monitors heartbeat signals from a running binpicking ZMQ server, and reinitializes the ZMQ server when heartbeat is lost.
reinitializetimeout | seconds to wait before re-initializing the ZMQ server after the heartbeat signal is lost |
execfn | function to use to execute the InitializeZMQ command |
|
virtual |
Add a point cloud collision obstacle with name to the environment.
vpoints | list of x,y,z coordinates in meter |
state | additional information about the objects |
pointsize | size of each point in meter |
name | name of the obstacle |
isoccluded | occlusion status of robot with the container: -1 if unknown, 0 if not occluding, 1 if robot is occluding container in camera |
timeout | seconds until this command times out |
|
virtual |
Clear visualization made by VisualizePointCloud.
|
virtual |
|
virtual |
|
virtual |
Get state of bin picking.
result | state of bin picking |
robotname | name of robot |
unit | unit to receive values in, either "m" (indicates radian for angle) or "mm" (indicates degree for angle) |
timeout | timeout of communication |
|
virtual |
|
virtual |
Gets inst object.
unit | input unit |
result | unit is always in meter |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Get the picked positions with corresponding timestamps.
timeout | seconds until this command times out |
|
virtual |
Get published state of bin picking except for initial call, this returns cached value.
result | state of bin picking |
robotname | name of robot |
unit | unit to receive values in, either "m" (indicates radian for angle) or "mm" (indicates degree for angle) |
timeout | timeout of communication |
|
virtual |
gets the result of the task execution. If no result has been computed yet, will return a NULL pointer.
mujinclient::TaskResourceを再定義しています。
|
virtual |
returns the slaverequestid used to communicate with the controller. If empty, then no id is used.
|
virtual |
|
virtual |
Initializes binpicking task.
commandtimeout | seconds until this command times out |
userinfo | json string user info, such as locale |
slaverequestid | id of mujincontroller planning slave to connect to |
|
virtual |
Establish ZMQ connection to the task.
reinitializetimeout | seconds to wait before re-initializing the ZMQ server after the heartbeat signal is lost if reinitializetimeout is 0, then this does not invoke heartbeat monitoring thread |
timeout | seconds until this command times out |
|
virtual |
Check if robot is occluding the object in the view of sensor between starttime and endtime.
sensorname | name of the sensor to be checked, example names: "sensor_kinbodyname/sensor_name" or "sensor_kinbodyname", in the latter case the first attached sensor will be used |
timeout | seconds until this command times out |
|
virtual |
|
virtual |
Moves hand to specified posistion.
goaltype | whether to specify goal in full six degrees of freedom (transform6d) or three dimentional position and two dimentional angle (translationdirection5d) |
goals | where to move hand to [X, Y, Z, RX, RY, RZ] in mm and deg |
robotname | name of the robot to move |
toolname | name of the tool to move |
robotspeed | speed at which to move |
timeout | timeout of communication |
|
virtual |
Moves hand to specified posistion linearly.
goaltype | whether to specify goal in full six degrees of freedom (transform6d) or three dimentional position and two dimentional angle (translationdirection5d) |
goals | where to move hand to [X, Y, Z, RX, RY, RZ] in mm and deg |
robotname | name of the robot to move |
toolname | name of the tool to move |
robotspeed | speed at which to move. this is a ratio to maximum speed and thus valid range is 0 to 1. |
timeout | timeout of communication |
|
virtual |
Jogs robot in joint or tool space.
jogtype | type of jogging, either "joints" or "tool" |
goals | where to move hand to [X, Y, Z, RX, RY, RZ] in mm and deg |
robotname | name of the robot to move |
toolname | name of the tool to move |
robotspeed | speed at which to move. this is a ratio to maximum speed and thus valid range is 0 to 1. |
robotaccelmult | acceleration multiplier at which to move. this is a ratio to maximum acceleration and thus valid range is 0 to 1. |
timeout | timeout of communication |
|
virtual |
|
virtual |
|
virtual |
Update objects in the scene.
basename | base name of the object. e.g. objects will have name basename_0, basename_1, etc |
transformsworld | list of transforms in world frame |
confidence | list of confidence of each detection |
state | additional information about the objects |
unit | unit of detectedobject info |
timeout | seconds until this command times out |
|
virtual |
Visualize point cloud on controller.
pointslist | vector of x,y,z coordinates vector in meter |
pointsize | size of each point in meter |
names | vector of names for each point cloud |
unit | of points |
timeout | seconds until this command times out |
|
protected |
binpickingtask.h の 350 行で定義されています。
|
protected |
binpickingtask.h の 351 行で定義されています。
|
protected |
binpickingtask.h の 342 行で定義されています。
|
protected |
set of key value pairs that should be included
binpickingtask.h の 334 行で定義されています。
|
protected |
binpickingtask.h の 335 行で定義されています。
|
protected |
binpickingtask.h の 336 行で定義されています。
|
protected |
binpickingtask.h の 348 行で定義されています。
|
protected |
binpickingtask.h の 344 行で定義されています。
|
protected |
scene pk
binpickingtask.h の 346 行で定義されています。
|
protected |
\ parameters of the scene to run tasks on the backend zmq slave
to ensure the same slave is used for binpicking task
binpickingtask.h の 345 行で定義されています。
|
protected |
binpickingtask.h の 332 行で定義されています。
|
protected |
binpickingtask.h の 337 行で定義されています。
|
protected |
the specific task type to create internally. As long as the task supports the binpicking interface, it can be used.
binpickingtask.h の 347 行で定義されています。
|
protected |
userinfo json
binpickingtask.h の 343 行で定義されています。
|
protected |
binpickingtask.h の 341 行で定義されています。