gazebo_hardware_sim.h
Go to the documentation of this file.
1 
25 #ifndef SR_GAZEBO_SIM_GAZEBO_HARDWARE_SIM_H
26 #define SR_GAZEBO_SIM_GAZEBO_HARDWARE_SIM_H
27 
28 #include <string>
29 #include <vector>
30 #include <boost/unordered_map.hpp>
31 #include <ros/ros.h>
33 #include "ros_ethercat_model/robot_state.hpp"
34 #include "ros_ethercat_model/robot_state_interface.hpp"
37 #include <urdf/model.h>
38 
39 namespace sr_gazebo_sim
40 {
41 
44 {
45 public:
46  SrGazeboHWSim();
47 
48  bool initSim(
49  const std::string &robot_namespace,
50  ros::NodeHandle model_nh,
51  gazebo::physics::ModelPtr parent_model,
52  const urdf::Model *const urdf_model,
53  std::vector<transmission_interface::TransmissionInfo> transmissions);
54 
55  void readSim(ros::Time time, ros::Duration period);
56 
57  void writeSim(ros::Time time, ros::Duration period);
58 
59 protected:
60  template<class T>
61  void fixJointName(std::vector<T> *items, const std::string old_joint_name, const std::string new_joint_name) const;
62 
63  void addFakeTransmissionsForJ0(std::vector<transmission_interface::TransmissionInfo> *transmissions);
64 
65  void initializeFakeRobotState(const urdf::Model *const urdf_model,
66  const std::vector<transmission_interface::TransmissionInfo> &transmissions);
67 
68  bool isHandJoint(const std::vector<transmission_interface::TransmissionInfo> &transmissions,
69  const std::string &joint_name) const;
70 
71  void registerSecondHardwareInterface(std::vector<transmission_interface::TransmissionInfo> transmissions);
72 
73  static const std::string j0_transmission_name;
74  static const std::string simple_transmission_name;
75 
76  ros_ethercat_model::RobotState fake_state_;
77  ros_ethercat_model::RobotStateInterface robot_state_interface_;
78  boost::unordered_map<std::string, std::string> j2_j1_joints_;
79 };
80 
82 
83 } // namespace sr_gazebo_sim
84 
85 
86 #endif // SR_GAZEBO_SIM_GAZEBO_HARDWARE_SIM_H
void readSim(ros::Time time, ros::Duration period)
ros_ethercat_model::RobotStateInterface robot_state_interface_
boost::shared_ptr< SrGazeboHWSim > SrGazeboHWSimPtr
void initializeFakeRobotState(const urdf::Model *const urdf_model, const std::vector< transmission_interface::TransmissionInfo > &transmissions)
static const std::string simple_transmission_name
bool isHandJoint(const std::vector< transmission_interface::TransmissionInfo > &transmissions, const std::string &joint_name) const
void registerSecondHardwareInterface(std::vector< transmission_interface::TransmissionInfo > transmissions)
void fixJointName(std::vector< T > *items, const std::string old_joint_name, const std::string new_joint_name) const
bool initSim(const std::string &robot_namespace, ros::NodeHandle model_nh, gazebo::physics::ModelPtr parent_model, const urdf::Model *const urdf_model, std::vector< transmission_interface::TransmissionInfo > transmissions)
void addFakeTransmissionsForJ0(std::vector< transmission_interface::TransmissionInfo > *transmissions)
ros_ethercat_model::RobotState fake_state_
void writeSim(ros::Time time, ros::Duration period)
static const std::string j0_transmission_name
boost::unordered_map< std::string, std::string > j2_j1_joints_


sr_gazebo_sim
Author(s): Andriy Petlovanyy
autogenerated on Tue Oct 13 2020 03:55:43