Messages
The messages you build most often, grouped by proto package. Field numbers are
omitted. req follows each field the .proto documents as required. The
.proto files in proto/flexiv/pdk/ are authoritative.
common
Module flexiv.pdk.common.*_pb2.
Status(status_pb2)code(Code:OK0,NOT_FOUND1,INVALID_ARGUMENT2,INTERNAL_ERROR3,FAILED_PRECONDITION4,PERMISSION_DENIED5),message(optional). See Error Handling.Version(version_pb2)major,minor,patch.LogEntry(log_entry_pb2)timestamp,level(LogEntry.Level:DEBUG,INFO,WARNING,ERROR),source,message.SetLogLevelRequest(log_service_pb2)level(LogEntry.Level).GetLogHistoryRequest(log_service_pb2)min_level(defaultDEBUG, every entry),max_entries(newest entries to return; default all the server has kept),since(Timestamp; default no limit).GetLogHistoryResponse(log_service_pb2)status,entries[](LogEntry, oldest first).StreamLogEntriesRequest(log_service_pb2)min_level(defaultDEBUG).ExternalRobotAxis(enum,solver_options_pb2)EXTERNAL_ROBOT_NONE(no external robot axis),EXTERNAL_ROBOT_PRESET(fixed position for all waypoints),EXTERNAL_ROBOT_PREFERRED(preferred position).ExternalWorkpieceAxis(enum,solver_options_pb2)EXTERNAL_WORKPIECE_NONE,EXTERNAL_WORKPIECE_NOT_USED(not part of the planning group),EXTERNAL_WORKPIECE_PRESET,EXTERNAL_WORKPIECE_PREFERRED.
spatial
Module flexiv.pdk.spatial.*_pb2.
Vector3(geometry_pb2)x,y,z.Quaternion(geometry_pb2)x,y,z,w. Setw=1for identity.SE3Pose(geometry_pb2)position(Vector3, m),rotation(Quaternion).Wrench(geometry_pb2)force(N),torque(Nm), bothVector3.Frame(frame_pb2)type(FrameType),pose_world,pose_parent,parent,children.FrameType,ParentingPolicy,ReferenceFrame(enums,frame_defs_pb2)See The Scene Model.
Shape(shape_pb2)One of
box(Box.size= [x, y, z] m),capsule/cylinder(radius,length),sphere(radius),mesh/convex_mesh(filename,scalereq, use [1,1,1]),octomap(filename,resolution).Visual(shape_pb2)originreq (SE3Pose),shapereq,material_name(defaultmaterial.name),material(Material; default the viewer’s own color).Material(shape_pb2)name(default chosen by the server),rgba[]req (red, green, blue, alpha, each in [0, 1]),texture(not supported yet).Collision(shape_pb2)origin(SE3Pose),shape.CartesianWaypoint(waypoint_pb2)pose,velocity,acceleration,wrench(force/torque to apply in contact),null_space.NullSpace(waypoint_pb2)elbow_swivel_angle(rad),external_robot_position,external_workpiece_position.JointWaypoint(waypoint_pb2)position,velocity(repeated, one per joint).
physics
Module flexiv.pdk.physics.properties_pb2.
Inertialorigin(centre of mass and principal axes),mass(kg),inertia.Inertiaixx,iyy,izz,ixy,ixz,iyz(kg·m², about the COM).
Root package and scene
ConfigHeader(flexiv.pdk.config_header_pb2)namereq,parentreq,pose_in_parentreq.Object(flexiv.pdk.scene.object_pb2)headerreq,inertial,collision[],visual[],reference_only.Camera(flexiv.pdk.scene.camera_pb2)header,far_widthreq,far_heightreq,far_distancereq,near_distancereq (m),depth_scalereq (raw depth value to m),camera_idreq.Coordinate(flexiv.pdk.scene.coordinate_pb2)headerreq,scale(Vector3, display size in m).TargetWaypoint(flexiv.pdk.scene.target_waypoint_pb2)A system pose:
header,tcp_name,cartesian(CartesianWaypoint),joint(JointWaypoint).CollisionConfig(flexiv.pdk.scene.collision.collision_config_pb2)namereq,pairs[](CollisionPair(name1, name2), pairs allowed to collide and not checked; empty checks every pair),collision_marginreq (m). See Collision Configurations.ReconstructionConfig(flexiv.pdk.scene.reconstruction.config_pb2)namereq,point_cloud_sizereq (e.g. 1000000),voxel_sizereq (e.g. 0.005 m),voxel_bucket_countreq (e.g. 10000).ConfigType(enum,flexiv.pdk.config_service_pb2)CONFIG_TYPE_ALL(0, search every type; slower),CONFIG_TYPE_CAMERA,CONFIG_TYPE_COORDINATE,CONFIG_TYPE_SURFACE_PATH,CONFIG_TYPE_OBJECT,CONFIG_TYPE_P2P_PATH,CONFIG_TYPE_SYSTEM,CONFIG_TYPE_SYSTEM_POSE,CONFIG_TYPE_OBJECT_POSE,CONFIG_TYPE_GRASP_POSE. See Services for the message each one saves.SceneEvent(flexiv.pdk.scene_event_service_pb2)change,origin,entity(EntityRef(type, name)),frames[],new_name. See Watching Scene Events.
workcell
Workcell(flexiv.pdk.workcell.workcell_pb2)name,description,created,updated(timestamps set by the server).
system
System(flexiv.pdk.system.system_pb2)headerreq,control_box_serial_numberreq,external_robot_axis,manipulator_adapter,manipulatorreq,wrist_sensor,tool_adapter,tool[],external_workpiece[]. See Robot Systems and Components.DualArmSystem(flexiv.pdk.system.dual_arm_system_pb2)headerreq,control_box_serial_numberreq,external_robot_axisreq (torso or fixture with two flanges),left_armreq,left_wrist_sensor,left_tool_adapter,left_tool[],right_armreq,right_wrist_sensor,right_tool_adapter,right_tool[],remove_arm_base_link,external_workpiece[]. Defined in the.protoonly:SaveConfigRequesthas no field for it and no RPC takes it.
Components, module flexiv.pdk.system.components.<name>_pb2:
Manipulator(manipulator_pb2)namereq,arm_serial_numberreq,lower_limit[],upper_limit[],home_position[](rad).Adapter(adapter_pb2)namereq,mass,inertia[],xyz[](m),rpy[](rad),parent_flange_name.ToolAdapter(tool_adapter_pb2)namereq,manufacturerreq,modelreq,rotation(rad).Tool(tool_pb2)namereq,manufacturerreq,modelreq,home_position[].WristSensor(wrist_sensor_pb2)namereq,manufacturerreq,modelreq,parameter_name.ExternalAxis(external_axis_pb2)namereq,manufacturerreq,modelreq,amplifier_model,rail_length[](m),position_lower_limit[],position_upper_limit[],velocity_limit[],effort_limit[],home_position[],apply_calibration,position_offset[].ExternalWorkpiece(external_workpiece_pb2)axisreq,mountreq (Adapter),tool_adapter,tool[].CustomTool(custom_tool_pb2)manufacturerreq,modelreq,tcpreq,inertial,collision[],visual[].CustomToolAdapter(custom_tool_adapter_pb2)manufacturerreq,modelreq,flange[]req,inertial,collision[],visual[].JointGroup(enum,joint_group_pb2)JOINT_GROUP_SYSTEM(all actuated joints),JOINT_GROUP_ARM,JOINT_GROUP_EXTERNAL_ROBOT_AXIS,JOINT_GROUP_EXTERNAL_WORKPIECE_AXIS.
point_to_point_path
PointToPointPathRequest(flexiv.pdk.point_to_point_path.service_pb2)path_namereq,collision_config_namereq; one ofjoint_waypoints(PTPJointWaypoints(system_name, tcp_name, joint_waypoints[])) ortarget_waypoints(PTPTargetWaypoints(target_waypoint_names[])).Path(flexiv.pdk.point_to_point_path.path_pb2, output)header,system_name,tcp_name,collision_config_name,tcp_to_attach_object,object_grasp_pose,cartesian_waypoints[],joint_waypoints[].
surface_finish
Module flexiv.pdk.surface_finish.*_pb2. The service’s request and response
messages are in flexiv.pdk.surface_finish.service_pb2; generator messages in
flexiv.pdk.surface_finish.generator.<name>_pb2.
Path(path_pb2, output)header; generator used (manual_path,edge_path,surface_scan_path,surface_sketch_path,mesh_raster_path,mesh_sketch_path);refinement;solver_preferences;nominal_cartesian[](stage 1);refined_cartesian[](stage 2);basic_solution[]/advanced_solution[](stage 3,JointWaypoint).PathRefinement(path_refinement_pb2)reversed_order,align_with_previous,rotation_offset,position_offset. Applied in that order.SolverPreferences(solver_preferences_pb2)system_namereq,tcp_ecp_namereq,solver_typereq (SOLVER_TYPE_BASIC,SOLVER_TYPE_ADVANCED),null_spacereq,external_robot_axis,external_workpiece_axis,tool_symmetry,tcp_to_attach_object,object_grasp_pose,joint_position_seed[].
Generators (generator.*):
ManualPathcartesian[]relative to the parent.MeshSketchPathmesh_filename,points[](parent frame, on the surface),blending_radius; spacingfixed_spacing|variable_spacing; orientationalign_with_initial_direction|align_with_previous|align_with_direction.MeshRasterPathmesh_filename,fixed_spacing,blending_radius,polygon_border,border_offset,raster_line_spacing,raster_path_joining_distance_threshold; directionprincipal_rotation_angle|specified_direction;minimum_toolpath_length; orientation as forMeshSketchPath.EdgePathcad_filename,edges[],faces[]; spacingfixed_spacing|variable_spacing.FaceRasterPathcad_filename,raster_line_spacing,raster_rotation,raster_flip,start_position,gap_tolerance_on_face,gap_tolerance_between_faces,faces[]; spacing; borderedge_border|polygon_border.FaceSketchPathcad_filename,points[],faces[]; spacing.VariableSpacingmin_spacing,max_spacing,position_tolerance,orientation_tolerance.EdgeBorder/PolygonBorderwidth[]andedges[]/points[].
mesh_operation
AreaExtractionRequest(flexiv.pdk.mesh_operation.service_pb2)object_name,extracted_object_name,mesh_filename,boundary[](on the surface, 1 mm tolerance).FilterMeshRequest(flexiv.pdk.mesh_operation.service_pb2)object_name,filtered_object_name_prefix,mesh_filename, and one filter. See Mesh Operations for the filter parameters.
license
Module flexiv.pdk.license.license_service_pb2.
ServiceLicenseservice,state(LicenseState),name,display_name,grpc_service,detail,expires(unset: never),license_id.InstalledLicenselicense_id,customer,issued,expires,services[],hardware_verified,notes.ListResponsestatus,services[],licenses[],tpm_available,tpm_detail,license_directory,warnings[].SaveResponsestatus,services[](state after install),newly_licensed[],file_path.