include
khi_robot_hardware_interface.h
Go to the documentation of this file.
1
/*********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2019, Kawasaki Heavy Industries, LTD.
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
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of the Willow Garage nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*********************************************************************/
34
35
#ifndef KHI_ROBOT_HARDWARE_INTERFACE_
36
#define KHI_ROBOT_HARDWARE_INTERFACE_
37
38
#include <
ros/ros.h
>
39
#include <
hardware_interface/joint_command_interface.h
>
40
#include <
hardware_interface/joint_state_interface.h
>
41
#include <
hardware_interface/robot_hw.h
>
42
#include <
joint_limits_interface/joint_limits_interface.h
>
43
#include <
khi_robot_client.h
>
44
45
namespace
khi_robot_control
46
{
47
48
class
KhiRobotHardwareInterface :
public
hardware_interface::RobotHW
49
{
50
public
:
51
KhiRobotHardwareInterface
();
52
~KhiRobotHardwareInterface
();
53
54
bool
open
(
const
std::string& robot_name,
const
std::string& ip_address,
const
double
& period,
const
bool
in_simulation =
false
);
55
bool
activate
();
56
bool
hold
();
57
void
deactivate
();
58
void
close
();
59
void
read
(
const
ros::Time
& time,
const
ros::Duration
& period )
override
;
60
void
write
(
const
ros::Time
& time,
const
ros::Duration
& period )
override
;
61
int
updateState
();
62
int
getStateTrigger
();
63
bool
getPeriodDiff
(
double
& diff );
64
65
private
:
66
hardware_interface::JointStateInterface
joint_state_interface
;
67
hardware_interface::PositionJointInterface
joint_position_interface
;
68
joint_limits_interface::PositionJointSaturationInterface
joint_limit_interface
;
69
70
khi_robot_control::KhiRobotData
data
;
71
khi_robot_control::KhiRobotClient
*
client
;
72
};
73
74
}
// namespace
75
76
#endif // KHI_ROBOT_HARDWARE_INTERFACE_
khi_robot_control::KhiRobotHardwareInterface::write
void write(const ros::Time &time, const ros::Duration &period) override
Definition:
khi_robot_hardware_interface.cpp:176
khi_robot_control::KhiRobotHardwareInterface::KhiRobotHardwareInterface
KhiRobotHardwareInterface()
Definition:
khi_robot_hardware_interface.cpp:73
hardware_interface::JointStateInterface
khi_robot_control::KhiRobotHardwareInterface::getPeriodDiff
bool getPeriodDiff(double &diff)
Definition:
khi_robot_hardware_interface.cpp:192
khi_robot_control::KhiRobotHardwareInterface::updateState
int updateState()
Definition:
khi_robot_hardware_interface.cpp:182
ros.h
joint_limits_interface.h
khi_robot_control::KhiRobotHardwareInterface::data
khi_robot_control::KhiRobotData data
Definition:
khi_robot_hardware_interface.h:134
khi_robot_control::KhiRobotHardwareInterface::close
void close()
Definition:
khi_robot_hardware_interface.cpp:165
khi_robot_control::KhiRobotClient
Definition:
khi_robot_client.h:77
khi_robot_control::KhiRobotHardwareInterface::~KhiRobotHardwareInterface
~KhiRobotHardwareInterface()
Definition:
khi_robot_hardware_interface.cpp:77
joint_limits_interface::PositionJointSaturationInterface
khi_robot_control::KhiRobotHardwareInterface::getStateTrigger
int getStateTrigger()
Definition:
khi_robot_hardware_interface.cpp:187
khi_robot_control::KhiRobotHardwareInterface::read
void read(const ros::Time &time, const ros::Duration &period) override
Definition:
khi_robot_hardware_interface.cpp:171
khi_robot_control::KhiRobotHardwareInterface::deactivate
void deactivate()
Definition:
khi_robot_hardware_interface.cpp:160
joint_command_interface.h
hardware_interface::RobotHW
khi_robot_control::KhiRobotHardwareInterface::activate
bool activate()
Definition:
khi_robot_hardware_interface.cpp:149
khi_robot_control::KhiRobotHardwareInterface::open
bool open(const std::string &robot_name, const std::string &ip_address, const double &period, const bool in_simulation=false)
Definition:
khi_robot_hardware_interface.cpp:83
khi_robot_control::KhiRobotHardwareInterface::joint_position_interface
hardware_interface::PositionJointInterface joint_position_interface
Definition:
khi_robot_hardware_interface.h:131
khi_robot_control::KhiRobotData
Definition:
khi_robot_driver.h:92
khi_robot_control::KhiRobotHardwareInterface::joint_state_interface
hardware_interface::JointStateInterface joint_state_interface
Definition:
khi_robot_hardware_interface.h:130
joint_state_interface.h
khi_robot_control
Definition:
khi_robot_client.h:42
ros::Time
robot_hw.h
khi_robot_client.h
khi_robot_control::KhiRobotHardwareInterface::client
khi_robot_control::KhiRobotClient * client
Definition:
khi_robot_hardware_interface.h:135
hardware_interface::PositionJointInterface
ros::Duration
khi_robot_control::KhiRobotHardwareInterface::hold
bool hold()
Definition:
khi_robot_hardware_interface.cpp:155
khi_robot_control::KhiRobotHardwareInterface::joint_limit_interface
joint_limits_interface::PositionJointSaturationInterface joint_limit_interface
Definition:
khi_robot_hardware_interface.h:132
khi_robot_control
Author(s): nakamichi_d
autogenerated on Sat Oct 21 2023 02:54:50