robot_state_interface.h
Go to the documentation of this file.
1 /*
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2012, Southwest Research Institute
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * * Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * * Neither the name of the Southwest Research Institute, nor the names
16  * of its contributors may be used to endorse or promote products derived
17  * from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 
33 #ifndef ROBOT_STATE_INTERFACE_H
34 #define ROBOT_STATE_INTERFACE_H
35 
36 #include <vector>
37 #include <string>
44 
46 {
47 namespace robot_state_interface
48 {
49 
57 
65 //* RobotStateInterface
67 {
68 
69 public:
70 
75 
86  bool init(std::string default_ip = "", int default_port = StandardSocketPorts::STATE);
87 
88 
96  bool init(SmplMsgConnection* connection);
97 
108  bool init(SmplMsgConnection* connection, std::vector<std::string>& joint_names);
109 
113  void run();
114 
121  {
122  return this->connection_;
123  }
124 
131  {
132  return &this->manager_;
133  }
134 
135  std::vector<std::string> get_joint_names()
136  {
137  return this->joint_names_;
138  }
139 
140 
147  void add_handler(MessageHandler* handler, bool allow_replace = true)
148  {
149  this->manager_.add(handler, allow_replace);
150  }
151 
152 protected:
156 
159  std::vector<std::string> joint_names_;
160 
161 };//class RobotStateInterface
162 
163 }//robot_state_interface
164 }//industrial_robot_cliet
165 
166 
167 #endif /* ROBOT_STATE_INTERFACE_H */
industrial_robot_client::robot_state_interface::RobotStateInterface::get_joint_names
std::vector< std::string > get_joint_names()
Definition: robot_state_interface.h:135
robot_status_relay_handler.h
industrial_robot_client::robot_state_interface::RobotStateInterface::default_tcp_connection_
TcpClient default_tcp_connection_
Definition: robot_state_interface.h:153
industrial_robot_client::robot_state_interface::RobotStateInterface::default_robot_status_handler_
RobotStatusRelayHandler default_robot_status_handler_
Definition: robot_state_interface.h:155
industrial::message_manager::MessageManager::add
bool add(industrial::message_handler::MessageHandler *handler, bool allow_replace=false)
industrial_robot_client::robot_state_interface::RobotStateInterface::add_handler
void add_handler(MessageHandler *handler, bool allow_replace=true)
Add a new handler.
Definition: robot_state_interface.h:147
industrial_robot_client::robot_state_interface::RobotStateInterface::manager_
MessageManager manager_
Definition: robot_state_interface.h:158
industrial::message_handler::MessageHandler
industrial_robot_client::robot_state_interface::RobotStateInterface::get_manager
MessageManager * get_manager()
get active message-manager object
Definition: robot_state_interface.h:130
smpl_msg_connection.h
industrial_robot_client::robot_state_interface::RobotStateInterface::RobotStateInterface
RobotStateInterface()
Default constructor.
Definition: robot_state_interface.cpp:44
industrial_robot_client::robot_state_interface::RobotStateInterface::init
bool init(std::string default_ip="", int default_port=StandardSocketPorts::STATE)
Initialize robot connection using default method.
Definition: robot_state_interface.cpp:51
industrial_robot_client::robot_status_relay_handler::RobotStatusRelayHandler
Message handler that relays joint positions (converts simple message types to ROS message types and p...
Definition: robot_status_relay_handler.h:53
industrial::simple_socket::StandardSocketPorts
tcp_client.h
industrial_robot_client::robot_state_interface::RobotStateInterface
Generic template that reads state-data from a robot controller and publishes matching messages to var...
Definition: robot_state_interface.h:66
industrial::smpl_msg_connection::SmplMsgConnection
industrial::message_manager::MessageManager
joint_relay_handler.h
industrial_robot_client::robot_state_interface::RobotStateInterface::joint_names_
std::vector< std::string > joint_names_
Definition: robot_state_interface.h:159
industrial_robot_client
Definition: joint_relay_handler.h:46
message_handler.h
industrial_robot_client::robot_state_interface::RobotStateInterface::default_joint_handler_
JointRelayHandler default_joint_handler_
Definition: robot_state_interface.h:154
industrial_robot_client::joint_relay_handler::JointRelayHandler
Message handler that relays joint positions (converts simple message types to ROS message types and p...
Definition: joint_relay_handler.h:61
industrial_robot_client::robot_state_interface::RobotStateInterface::connection_
SmplMsgConnection * connection_
Definition: robot_state_interface.h:157
industrial_robot_client::robot_state_interface::RobotStateInterface::run
void run()
Begin processing messages and publishing topics.
Definition: robot_state_interface.cpp:114
message_manager.h
industrial::tcp_client::TcpClient
industrial_robot_client::robot_state_interface::RobotStateInterface::get_connection
SmplMsgConnection * get_connection()
get current robot-connection instance.
Definition: robot_state_interface.h:120


industrial_robot_client
Author(s): Jeremy Zoss
autogenerated on Wed Mar 2 2022 00:24:59