Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
srs_assisted_arm_navigation::CArmManipulationEditor Class Reference

Class inherited from planning_scene_utils::PlanningSceneEditor. More...

#include <arm_manip_node.h>

Inheritance diagram for srs_assisted_arm_navigation::CArmManipulationEditor:
Inheritance graph
[legend]

List of all members.

Public Types

typedef
message_filters::sync_policies::ApproximateTime
< geometry_msgs::Vector3,
geometry_msgs::Vector3 > 
MySyncPolicy

Public Member Functions

bool ArmNavCollObj (srs_assisted_arm_navigation_msgs::ArmNavCollObj::Request &req, srs_assisted_arm_navigation_msgs::ArmNavCollObj::Response &res)
bool ArmNavExecute (srs_assisted_arm_navigation_msgs::ArmNavExecute::Request &req, srs_assisted_arm_navigation_msgs::ArmNavExecute::Response &res)
bool ArmNavFailed (srs_assisted_arm_navigation_msgs::ArmNavFailed::Request &req, srs_assisted_arm_navigation_msgs::ArmNavFailed::Response &res)
bool ArmNavMovePalmLink (srs_assisted_arm_navigation_msgs::ArmNavMovePalmLink::Request &req, srs_assisted_arm_navigation_msgs::ArmNavMovePalmLink::Response &res)
bool ArmNavMovePalmLinkRel (srs_assisted_arm_navigation_msgs::ArmNavMovePalmLinkRel::Request &req, srs_assisted_arm_navigation_msgs::ArmNavMovePalmLinkRel::Response &res)
bool ArmNavNew (srs_assisted_arm_navigation_msgs::ArmNavNew::Request &req, srs_assisted_arm_navigation_msgs::ArmNavNew::Response &res)
bool ArmNavPlan (srs_assisted_arm_navigation_msgs::ArmNavPlan::Request &req, srs_assisted_arm_navigation_msgs::ArmNavPlan::Response &res)
bool ArmNavPlay (srs_assisted_arm_navigation_msgs::ArmNavPlay::Request &req, srs_assisted_arm_navigation_msgs::ArmNavPlay::Response &res)
bool ArmNavRefresh (srs_assisted_arm_navigation_msgs::ArmNavRefresh::Request &req, srs_assisted_arm_navigation_msgs::ArmNavRefresh::Response &res)
bool ArmNavRemoveCollObjects (srs_assisted_arm_navigation_msgs::ArmNavRemoveCollObjects::Request &req, srs_assisted_arm_navigation_msgs::ArmNavRemoveCollObjects::Response &res)
bool ArmNavRepeat (srs_assisted_arm_navigation_msgs::ArmNavRepeat::Request &req, srs_assisted_arm_navigation_msgs::ArmNavRepeat::Response &res)
bool ArmNavReset (srs_assisted_arm_navigation_msgs::ArmNavReset::Request &req, srs_assisted_arm_navigation_msgs::ArmNavReset::Response &res)
bool ArmNavSetAttached (srs_assisted_arm_navigation_msgs::ArmNavSetAttached::Request &req, srs_assisted_arm_navigation_msgs::ArmNavSetAttached::Response &res)
bool ArmNavStep (srs_assisted_arm_navigation_msgs::ArmNavStep::Request &req, srs_assisted_arm_navigation_msgs::ArmNavStep::Response &res)
bool ArmNavStop (srs_assisted_arm_navigation_msgs::ArmNavStop::Request &req, srs_assisted_arm_navigation_msgs::ArmNavStop::Response &res)
bool ArmNavSuccess (srs_assisted_arm_navigation_msgs::ArmNavSuccess::Request &req, srs_assisted_arm_navigation_msgs::ArmNavSuccess::Response &res)
bool ArmNavSwitchACO (srs_assisted_arm_navigation_msgs::ArmNavSwitchAttCO::Request &req, srs_assisted_arm_navigation_msgs::ArmNavSwitchAttCO::Response &res)
virtual void attachObjectCallback (const std::string &name)
 CArmManipulationEditor (planning_scene_utils::PlanningSceneParameters &params, std::vector< string > clist)
void createAttachedObj ()
virtual void filterCallback (arm_navigation_msgs::ArmNavigationErrorCodes &errorCode)
 Virtual function called when the filter is invoked.
void joyCallback (const sensor_msgs::Joy::ConstPtr &joy)
virtual void onPlanningSceneLoaded ()
virtual void planCallback (arm_navigation_msgs::ArmNavigationErrorCodes &errorCode)
 Virtual function called when the planner is invoked.
bool refresh ()
void remove_coll_objects ()
void reset ()
virtual void selectedTrajectoryCurrentPointChanged (unsigned int new_current_point)
 Called when the selected trajectory of the selected motion plan updates its current point. Override to do something useful.
void spacenavOffsetCallback (const geometry_msgs::Vector3ConstPtr &offset)
void spacenavRotOffsetCallback (const geometry_msgs::Vector3ConstPtr &rot_offset)
void spin_callback (const ros::TimerEvent &)
bool transf (std::string target_frame, geometry_msgs::PoseStamped &pose)
virtual void updateState ()
 Pure virtual function called when a trajectory, motion plan request, or the robot's state is changed.
 ~CArmManipulationEditor ()

Public Attributes

bool aco_
ManualArmManipActionServeraction_server_ptr_
 Pointer to action server. It's used to get access to srv_set_state method of ManualArmManipActionServer class.
ros::Publisher gripper_rpy_publisher_
double inflate_bb_
ros::Subscriber joy_sub_
ros::Subscriber offset_sub_
ros::Subscriber rot_offset_sub_
tf::TransformListenertfl_
std::string world_frame_
vector< int32_t > buttons_
std::string filter_desc
arm_navigation_msgs::ArmNavigationErrorCodes filter_error_code
bool lock_orientation_
bool lock_position_
double max_val_
double min_val_th_
boost::mutex mutex_
geometry_msgs::Vector3 offset
bool offset_received_
bool out_of_limits
std::string plan_desc
arm_navigation_msgs::ArmNavigationErrorCodes plan_error_code
geometry_msgs::Vector3 rot_offset
bool rot_offset_received_
double rot_step_
std::string rviz_cam_link_
double step_
bool use_rviz_cam_

Protected Member Functions

std::string add_coll_obj_attached (double x, double y, double z, double scx, double scz)
std::string add_coll_obj_bb (t_det_obj &obj)
bool checkPose (geometry_msgs::PoseStamped &p, std::string frame)
bool findIK (geometry_msgs::Pose new_pose)
geometry_msgs::Vector3 GetAsEuler (geometry_msgs::Quaternion quat)
void GripperPoses ()
void GripperPosesClean ()
void normAngle (double &a)
void processSpaceNav ()
void spacenavCallback (const ros::TimerEvent &ev)
void subClick (const srs_interaction_primitives::PositionClickedConstPtr &msg)
void tfTimerCallback (const ros::TimerEvent &ev)
void timerCallback (const ros::TimerEvent &ev)

Protected Attributes

std::string aco_link_
struct {
   std::string   filter_desc
   arm_navigation_msgs::ArmNavigationErrorCodes   filter_error_code
   bool   out_of_limits
   std::string   plan_desc
   arm_navigation_msgs::ArmNavigationErrorCodes   plan_error_code
arm_nav_state_
ros::Publisher arm_nav_state_pub_
tf::TransformBroadcaster br_
std::vector< std::string > coll_obj_attached_id
std::vector< t_det_objcoll_obj_det
bool coll_objects_selectable_
std::string collision_objects_frame_id_
bool disable_gripper_poses_
std::string end_eff_link_
unsigned int filt_traj_id
boost::circular_buffer
< geometry_msgs::Pose > * 
gripper_poses_
boost::thread gripper_poses_thread_
bool inited
bool joint_controls_
std::vector< std::string > links_
unsigned int mpr_id
bool planned_
std::string planning_scene_id
struct {
   vector< int32_t >   buttons_
   bool   lock_orientation_
   bool   lock_position_
   double   max_val_
   double   min_val_th_
   boost::mutex   mutex_
   geometry_msgs::Vector3   offset
   bool   offset_received_
   geometry_msgs::Vector3   rot_offset
   bool   rot_offset_received_
   double   rot_step_
   std::string   rviz_cam_link_
   double   step_
   bool   use_rviz_cam_
spacenav
ros::Timer spacenav_timer_
ros::Timer state_timer_
bool step_used_
ros::Subscriber sub_click_
ros::Timer tf_timer_
unsigned int traj_id
bool use_spacenav_

Detailed Description

Class inherited from planning_scene_utils::PlanningSceneEditor.

CArmManipulationEditor

These class provides access to functionality of PlanningSceneEditor.

Definition at line 284 of file arm_manip_node.h.


Member Typedef Documentation

Definition at line 344 of file arm_manip_node.h.


Constructor & Destructor Documentation

Class constructor.

Parameters:
paramsParameters for planning scene editor.
clistList of links which may be in collision with artificial collision object connected to arm gripper.

Definition at line 36 of file arm_manip_node.cpp.

Definition at line 654 of file arm_manip_node.cpp.


Member Function Documentation

std::string CArmManipulationEditor::add_coll_obj_attached ( double  x,
double  y,
double  z,
double  scx,
double  scz 
) [protected]

Method which can be used to add attached collision object to planning scene. Added object is cylinder attached to /arm_7_link. Position coordinates are in /arm_7_link frame (method transforms them to base_link frame).

Parameters:
xposition
yposition
zposition
scxscale in x and y (cylinder is always symmetric)
sczlength of cylinder
Returns:
ID of added collision object.
Todo:

Add color as param.

Make frame configurable.

Bug:
Fails if it's called multiple times. For one object it works fine.

Definition at line 268 of file arm_manip_collobj_methods.cpp.

std::string CArmManipulationEditor::add_coll_obj_bb ( t_det_obj obj) [protected]

We have to transform object to /base_link system

we need transformation for current time!

Definition at line 35 of file arm_manip_collobj_methods.cpp.

Todo:
Store object coords. in map frame. Then on each refresh add it transformed into base_link
Parameters:
req
res
Returns:

Definition at line 504 of file arm_manip_services.cpp.

Todo:
Wait for stop of arm movement (optionally, should be configurable by param).

Definition at line 287 of file arm_manip_services.cpp.

Definition at line 376 of file arm_manip_services.cpp.

Definition at line 545 of file arm_manip_services.cpp.

Definition at line 605 of file arm_manip_services.cpp.

Service callbacks. Each callback performes some action and sets new state of execution.

Bug:
why it's not possible to add more objects?? -> Size mismatch between poses size 2 and shapes size 1

add all detected objects

set current state to NEW (it's used in action callback to provide correct feedback)

Definition at line 35 of file arm_manip_services.cpp.

Definition at line 161 of file arm_manip_services.cpp.

Definition at line 265 of file arm_manip_services.cpp.

Definition at line 400 of file arm_manip_services.cpp.

Definition at line 337 of file arm_manip_services.cpp.

Definition at line 388 of file arm_manip_services.cpp.

Definition at line 325 of file arm_manip_services.cpp.

Definition at line 418 of file arm_manip_services.cpp.

Definition at line 684 of file arm_manip_services.cpp.

Definition at line 774 of file arm_manip_services.cpp.

Definition at line 364 of file arm_manip_services.cpp.

Definition at line 753 of file arm_manip_services.cpp.

void CArmManipulationEditor::attachObjectCallback ( const std::string &  name) [virtual]

Implements planning_scene_utils::PlanningSceneEditor.

Definition at line 745 of file arm_manip_node.cpp.

bool CArmManipulationEditor::checkPose ( geometry_msgs::PoseStamped &  p,
std::string  frame 
) [protected]

Definition at line 666 of file arm_manip_node.cpp.

Method which creates artificial collision object connected to arm (gripper).

Todo:
Make it configurable by parameters in launch file (size and position of object)

Virtual function called when the filter is invoked.

Parameters:
errorCode,theresult of the filter call.

Implements planning_scene_utils::PlanningSceneEditor.

Definition at line 730 of file arm_manip_node.cpp.

Definition at line 830 of file arm_manip_node.cpp.

geometry_msgs::Vector3 CArmManipulationEditor::GetAsEuler ( geometry_msgs::Quaternion  quat) [protected]

Definition at line 870 of file arm_manip_node.cpp.

Definition at line 904 of file arm_manip_node.cpp.

Definition at line 893 of file arm_manip_node.cpp.

void CArmManipulationEditor::joyCallback ( const sensor_msgs::Joy::ConstPtr &  joy)

Definition at line 598 of file arm_manip_node.cpp.

void CArmManipulationEditor::normAngle ( double &  a) [protected]

Definition at line 147 of file arm_manip_node.cpp.

Various callbacks - currently not used.

Definition at line 712 of file arm_manip_node.cpp.

Virtual function called when the planner is invoked.

Parameters:
errorCode,theresult of the plan.

Implements planning_scene_utils::PlanningSceneEditor.

Definition at line 714 of file arm_manip_node.cpp.

Definition at line 166 of file arm_manip_node.cpp.

Definition at line 806 of file arm_manip_node.cpp.

Remove detected objects from list.

Definition at line 749 of file arm_manip_node.cpp.

This method removes all artificial objects and all trajectory data from warehouse.

Todo:
Test if it does its job correctly.

delete all attached collision objects

delete all collision objects corresponding to detected objects

Definition at line 755 of file arm_manip_node.cpp.

void CArmManipulationEditor::selectedTrajectoryCurrentPointChanged ( unsigned int  new_current_point) [virtual]

Called when the selected trajectory of the selected motion plan updates its current point. Override to do something useful.

Parameters:
new_current_pointthe new current point in the selected trajectory.

Reimplemented from planning_scene_utils::PlanningSceneEditor.

Definition at line 746 of file arm_manip_node.cpp.

Definition at line 466 of file arm_manip_node.cpp.

void CArmManipulationEditor::spacenavOffsetCallback ( const geometry_msgs::Vector3ConstPtr &  offset)

Definition at line 546 of file arm_manip_node.cpp.

void CArmManipulationEditor::spacenavRotOffsetCallback ( const geometry_msgs::Vector3ConstPtr &  rot_offset)

Definition at line 572 of file arm_manip_node.cpp.

This callback is used to send interactive markers. It uses TimerEvent.

Todo:
Make the period configurable.

Definition at line 817 of file arm_manip_node.cpp.

void CArmManipulationEditor::subClick ( const srs_interaction_primitives::PositionClickedConstPtr &  msg) [protected]

Definition at line 233 of file arm_manip_collobj_methods.cpp.

void CArmManipulationEditor::tfTimerCallback ( const ros::TimerEvent ev) [protected]

Definition at line 401 of file arm_manip_node.cpp.

void CArmManipulationEditor::timerCallback ( const ros::TimerEvent ev) [protected]

Definition at line 474 of file arm_manip_node.cpp.

bool CArmManipulationEditor::transf ( std::string  target_frame,
geometry_msgs::PoseStamped &  pose 
)

Definition at line 119 of file arm_manip_node.cpp.

Pure virtual function called when a trajectory, motion plan request, or the robot's state is changed.

Reimplemented from planning_scene_utils::PlanningSceneEditor.

Definition at line 713 of file arm_manip_node.cpp.


Member Data Documentation

Definition at line 384 of file arm_manip_node.h.

Definition at line 506 of file arm_manip_node.h.

Pointer to action server. It's used to get access to srv_set_state method of ManualArmManipActionServer class.

Definition at line 376 of file arm_manip_node.h.

Definition at line 439 of file arm_manip_node.h.

Definition at line 400 of file arm_manip_node.h.

Definition at line 434 of file arm_manip_node.h.

List of IDs of attached collision objects (artificial objects attached to arm gripper)

Definition at line 450 of file arm_manip_node.h.

List of detected objects which should be in added in collision map.

Definition at line 499 of file arm_manip_node.h.

Definition at line 491 of file arm_manip_node.h.

Definition at line 490 of file arm_manip_node.h.

Definition at line 462 of file arm_manip_node.h.

Definition at line 508 of file arm_manip_node.h.

ID of filtered trajectory

Definition at line 449 of file arm_manip_node.h.

Definition at line 517 of file arm_manip_node.h.

Definition at line 514 of file arm_manip_node.h.

Definition at line 458 of file arm_manip_node.h.

Definition at line 460 of file arm_manip_node.h.

Definition at line 386 of file arm_manip_node.h.

Variable to store inflate_bb parameter.

See also:
INFLATE_BB

Definition at line 382 of file arm_manip_node.h.

Indicates if the arm_nav_new was already called

Definition at line 452 of file arm_manip_node.h.

Definition at line 505 of file arm_manip_node.h.

Definition at line 348 of file arm_manip_node.h.

List of links which can be in collision of collision object

Definition at line 456 of file arm_manip_node.h.

Definition at line 422 of file arm_manip_node.h.

Definition at line 421 of file arm_manip_node.h.

Definition at line 427 of file arm_manip_node.h.

Definition at line 428 of file arm_manip_node.h.

ID of current motion plan request

Definition at line 447 of file arm_manip_node.h.

Definition at line 416 of file arm_manip_node.h.

Definition at line 424 of file arm_manip_node.h.

Definition at line 418 of file arm_manip_node.h.

Definition at line 346 of file arm_manip_node.h.

Definition at line 519 of file arm_manip_node.h.

Definition at line 516 of file arm_manip_node.h.

Definition at line 513 of file arm_manip_node.h.

Definition at line 454 of file arm_manip_node.h.

ID of current planing scene

Definition at line 446 of file arm_manip_node.h.

Definition at line 425 of file arm_manip_node.h.

Definition at line 419 of file arm_manip_node.h.

Definition at line 347 of file arm_manip_node.h.

Definition at line 430 of file arm_manip_node.h.

Definition at line 432 of file arm_manip_node.h.

Definition at line 410 of file arm_manip_node.h.

Definition at line 408 of file arm_manip_node.h.

Definition at line 429 of file arm_manip_node.h.

Definition at line 469 of file arm_manip_node.h.

Definition at line 394 of file arm_manip_node.h.

Definition at line 406 of file arm_manip_node.h.

Definition at line 377 of file arm_manip_node.h.

ID of planned trajectory

Definition at line 448 of file arm_manip_node.h.

Definition at line 431 of file arm_manip_node.h.

Definition at line 412 of file arm_manip_node.h.

Definition at line 388 of file arm_manip_node.h.


The documentation for this class was generated from the following files:


srs_assisted_arm_navigation
Author(s): Zdenek Materna (imaterna@fit.vutbr.cz), Michal Spanel (spanel@fit.vutbr.cz)
autogenerated on Mon Oct 6 2014 08:12:10