Fawkes API
Fawkes Development Version
|
OpenRaveEnvironment class. More...
#include <>>
Public Member Functions | |
OpenRaveEnvironment (fawkes::Logger *logger=0) | |
Constructor. More... | |
OpenRaveEnvironment (const OpenRaveEnvironment &src) | |
Copy constructor. More... | |
virtual | ~OpenRaveEnvironment () |
Destructor. More... | |
virtual void | create () |
Create and lock the environment. More... | |
virtual void | destroy () |
Destroy the environment. More... | |
virtual void | set_name (const char *name) |
Set name of environment. More... | |
virtual void | enable_debug (OpenRAVE::DebugLevel level=OpenRAVE::Level_Debug) |
Enable debugging messages of OpenRAVE. More... | |
virtual void | disable_debug () |
Disable debugging messages of OpenRAVE. More... | |
virtual void | start_viewer () |
Starts the qt viewer in a separate thread. More... | |
virtual void | load_IK_solver (OpenRaveRobotPtr &robot, OpenRAVE::IkParameterizationType iktype=OpenRAVE::IKP_Transform6D) |
Autogenerate IKfast IK solver for robot. More... | |
virtual void | run_planner (OpenRaveRobotPtr &robot, float sampling=0.01f) |
Plan collision-free path for current and target manipulator configuration of a OpenRaveRobot robot. More... | |
virtual void | run_graspplanning (const std::string &target_name, OpenRaveRobotPtr &robot, float sampling=0.01f) |
Run graspplanning script for a given target. More... | |
virtual void | add_robot (const std::string &filename) |
Add a robot into the scene. More... | |
virtual void | add_robot (OpenRAVE::RobotBasePtr robot) |
Add a robot into the scene. More... | |
virtual void | add_robot (OpenRaveRobotPtr &robot) |
Add a robot into the scene. More... | |
virtual bool | add_object (const std::string &name, const std::string &filename) |
Add an object to the environment. More... | |
virtual bool | delete_object (const std::string &name) |
Remove object from environment. More... | |
virtual bool | delete_all_objects () |
Remove all objects from environment. More... | |
virtual bool | rename_object (const std::string &name, const std::string &new_name) |
Rename object. More... | |
virtual bool | move_object (const std::string &name, float trans_x, float trans_y, float trans_z) |
Move object in the environment. More... | |
virtual bool | move_object (const std::string &name, float trans_x, float trans_y, float trans_z, OpenRaveRobotPtr &robot) |
Move object in the environment. More... | |
virtual bool | rotate_object (const std::string &name, float quat_x, float quat_y, float quat_z, float quat_w) |
Rotate object by a quaternion. More... | |
virtual bool | rotate_object (const std::string &name, float rot_x, float rot_y, float rot_z) |
Rotate object along its axis. More... | |
virtual void | clone_objects (OpenRaveEnvironmentPtr &env) |
Clone all non-robot objects from a referenced OpenRaveEnvironment to this one. More... | |
virtual OpenRAVE::EnvironmentBasePtr | get_env_ptr () const |
Get EnvironmentBasePtr. More... | |
OpenRaveEnvironment class.
Class handling interaction with the OpenRAVE::EnvironmentBase class.
This class loads a scene and handles robots/objects etc in it. All calculations in OpenRAVE (IK, planning, etc) are done based on the current scene.
Definition at line 45 of file environment.h.
fawkes::OpenRaveEnvironment::OpenRaveEnvironment | ( | fawkes::Logger * | logger = 0 | ) |
Constructor.
logger | pointer to fawkes logger |
Definition at line 77 of file environment.cpp.
References set_name().
fawkes::OpenRaveEnvironment::OpenRaveEnvironment | ( | const OpenRaveEnvironment & | src | ) |
Copy constructor.
This also clones the environment in OpenRAVE, including all bodies! BiRRT planner and IKFast module are also created.
src | The OpenRaveEnvironment to clone |
Definition at line 90 of file environment.cpp.
References fawkes::Logger::log_debug(), and set_name().
|
virtual |
|
virtual |
Add an object to the environment.
name | name that should be given to that object |
filename | path to xml file of that object (KinBody) |
Definition at line 631 of file environment.cpp.
References fawkes::Logger::log_warn().
|
virtual |
Add a robot into the scene.
filename | path to robot's xml file |
Definition at line 232 of file environment.cpp.
References fawkes::Logger::log_debug().
Referenced by add_robot().
|
virtual |
Add a robot into the scene.
robot | RobotBasePtr of robot to add |
Definition at line 214 of file environment.cpp.
References fawkes::Logger::log_debug().
|
virtual |
Add a robot into the scene.
robot | pointer to OpenRaveRobot object of robot to add |
Definition at line 256 of file environment.cpp.
References add_robot().
|
virtual |
Clone all non-robot objects from a referenced OpenRaveEnvironment to this one.
The environments should contain the same objects afterwards. Therefore objects in current environment that do not exist in the reference environment are deleted as well.
env | The reference environment |
Definition at line 819 of file environment.cpp.
|
virtual |
Create and lock the environment.
Definition at line 121 of file environment.cpp.
References fawkes::Logger::log_debug(), and set_name().
|
virtual |
Remove all objects from environment.
Definition at line 671 of file environment.cpp.
References fawkes::Logger::log_warn().
|
virtual |
Remove object from environment.
name | name of the object |
Definition at line 652 of file environment.cpp.
References fawkes::Logger::log_warn().
|
virtual |
Destroy the environment.
Definition at line 148 of file environment.cpp.
References fawkes::Logger::log_debug(), and fawkes::Logger::log_warn().
Referenced by ~OpenRaveEnvironment().
|
virtual |
Disable debugging messages of OpenRAVE.
Definition at line 204 of file environment.cpp.
|
virtual |
Enable debugging messages of OpenRAVE.
level | debug level to set for OpenRAVE |
Definition at line 197 of file environment.cpp.
|
virtual |
Get EnvironmentBasePtr.
Definition at line 266 of file environment.cpp.
|
virtual |
Autogenerate IKfast IK solver for robot.
robot | pointer to OpenRaveRobot object |
iktype | IK type of solver (default: Transform6D; use TranslationDirection5D for 5DOF arms) |
Definition at line 307 of file environment.cpp.
|
virtual |
Move object in the environment.
Distances are given in meters
name | name of the object |
trans_x | transition along x-axis |
trans_y | transition along y-axis |
trans_z | transition along z-axis |
Definition at line 721 of file environment.cpp.
References fawkes::Logger::log_warn().
Referenced by move_object().
|
virtual |
Move object in the environment.
Distances are given in meters
name | name of the object |
trans_x | transition along x-axis |
trans_y | transition along y-axis |
trans_z | transition along z-axis |
robot | move relatively to robot (in most simple cases robot is at position (0,0,0) anyway, so this has no effect) |
Definition at line 750 of file environment.cpp.
References move_object().
|
virtual |
Rename object.
name | current name of the object |
new_name | new name of the object |
Definition at line 697 of file environment.cpp.
References fawkes::Logger::log_warn().
|
virtual |
Rotate object by a quaternion.
name | name of the object |
quat_x | x value of quaternion |
quat_y | y value of quaternion |
quat_z | z value of quaternion |
quat_w | w value of quaternion |
Definition at line 770 of file environment.cpp.
References fawkes::Logger::log_warn().
Referenced by rotate_object().
|
virtual |
Rotate object along its axis.
Rotation angles should be given in radians.
name | name of the object |
rot_x | 1st rotation, along x-axis |
rot_y | 2nd rotation, along y-axis |
rot_z | 3rd rotation, along z-axis |
Definition at line 800 of file environment.cpp.
References rotate_object().
|
virtual |
Run graspplanning script for a given target.
Script loads grasping databse, checks if target is graspable for various grasps and on success returns a string containing trajectory data. Currently the grasping databse can only be accessed via python, so we use a short python script (shortened and modified from officiel OpenRAVE graspplanning.py) to do the work.
target_name | name of targeted object (KinBody) |
robot | pointer to OpenRaveRobot object of robot to use |
sampling | sampling time between each trajectory point (in seconds) |
Definition at line 483 of file environment.cpp.
References fawkes::RefPtr< T_CppObject >::clear(), and fawkes::Logger::log_debug().
|
virtual |
Plan collision-free path for current and target manipulator configuration of a OpenRaveRobot robot.
robot | pointer to OpenRaveRobot object of robot to use |
sampling | sampling time between each trajectory point (in seconds) |
Definition at line 327 of file environment.cpp.
References fawkes::OpenRaveManipulator::get_angles(), fawkes::target_t::ikparam, fawkes::Logger::log_debug(), fawkes::target_t::manip, fawkes::target_t::plannerparams, fawkes::target_t::qw, fawkes::target_t::qx, fawkes::target_t::qy, fawkes::target_t::qz, fawkes::target_t::raw_cmd, fawkes::TARGET_IKPARAM, fawkes::TARGET_JOINTS, fawkes::TARGET_RAW, fawkes::TARGET_RELATIVE, fawkes::TARGET_RELATIVE_EXT, fawkes::TARGET_TRANSFORM, fawkes::target_t::type, fawkes::target_t::x, fawkes::target_t::y, and fawkes::target_t::z.
|
virtual |
Set name of environment.
Nothing important, but helpful for debugging etc.
name | The name of the environment. Can be an empty string. |
Definition at line 179 of file environment.cpp.
References fawkes::Logger::log_debug().
Referenced by create(), and OpenRaveEnvironment().
|
virtual |
Starts the qt viewer in a separate thread.
Use this mainly for debugging purposes, as it uses a lot of CPU/GPU resources.
Definition at line 276 of file environment.cpp.
References fawkes::Logger::log_error(), and fawkes::run_viewer().