Namespace trifinger_simulation¶
-
namespace trifinger_simulation¶
Functions
-
template<typename Types, typename Driver>
Types::BackendPtr create_finger_backend(typename Types::BaseDataPtr robot_data, const bool real_time_mode, const bool visualize, const double first_action_timeout = std::numeric_limits<double>::infinity(), const uint32_t max_number_of_actions = 0)¶ Create a Finger/TriFinger-backend using pyBullet.
- Template Parameters:
Types – The struct providing the types for action, observation, etc.
Driver – pyBullet-Driver class for either single Finger or TriFinger.
- Parameters:
robot_data – RobotData instance for the backend.
real_time_mode – If true, step the simulation in real time, otherwise as fast as possible.
visualize – If true, pyBullet’s GUI is started for visualization.
first_action_timeout – See RobotBackend
max_number_of_actions – See RobotBackend
- Returns:
Backend using a driver of the specified type.
-
template<typename Action, typename Observation>
class BasePyBulletFingerDriver : public robot_interfaces::RobotDriver<Action, Observation>, public robot_interfaces::RobotDriver<Action, Observation> - #include <pybullet_driver.hpp>
Base driver for pyBullet of both single Finger and TriFinger.
Implements all methods of RobotDriver except
initialize
which needs to be implemented by the child class as there are differences between single Finger and TriFinger.All other methods are generic and only need to be templated with the proper types for actions/observations.
- Template Parameters:
Action – Action type used for the specific robot.
Observation – Observation type used for the specific robot.
Public Types
-
typedef Observation::JointVector JointVector
-
typedef Observation::JointVector JointVector
Public Functions
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline Observation get_latest_observation() override
-
inline std::optional<std::string> get_error() override
-
inline void shutdown() override
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline Observation get_latest_observation() override
-
inline std::optional<std::string> get_error() override
-
inline void shutdown() override
-
class PyBulletSingleFingerDriver : public trifinger_simulation::BasePyBulletFingerDriver<robot_interfaces::MonoFingerTypes::Action, robot_interfaces::MonoFingerTypes::Observation>, public trifinger_simulation::BasePyBulletFingerDriver<robot_interfaces::MonoFingerTypes::Action, robot_interfaces::MonoFingerTypes::Observation>
- #include <pybullet_driver.hpp>
pyBullet driver for the single Finger.
Public Functions
-
inline void initialize() override
-
inline void initialize() override
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline void initialize() override
-
class PyBulletTriFingerDriver : public trifinger_simulation::BasePyBulletFingerDriver<robot_interfaces::TriFingerTypes::Action, robot_interfaces::TriFingerTypes::Observation>, public trifinger_simulation::BasePyBulletFingerDriver<robot_interfaces::TriFingerTypes::Action, robot_interfaces::TriFingerTypes::Observation>
- #include <pybullet_driver.hpp>
pyBullet driver for the TriFinger
Public Functions
-
inline void initialize() override
-
inline void initialize() override
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline BasePyBulletFingerDriver(bool real_time_mode, bool visualize)
-
inline void initialize() override
-
template<typename Types, typename Driver>