Main Page
Namespaces
Namespace List
Namespace Members
All
Functions
Classes
Class List
Class Hierarchy
Class Members
All
Functions
Variables
Files
File List
File Members
All
Functions
src
fanuc_utils.cpp
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
#include <
fanuc_driver/fanuc_utils.h
>
33
#include <
ros/ros.h
>
34
35
36
/*
37
* Basically a copy of the 'abb_utils.cpp' file by J. Zoss in the 'abb_common'
38
* package, but with changed namespace declarations.
39
*
40
* G.A. vd. Hoorn - TU Delft Robotics Institute
41
*/
42
43
44
namespace
fanuc
45
{
46
namespace
utils
47
{
48
49
50
// TBD: This transform should also account for velocity/acceleration affects
51
// due to linkage, so that velocity calculation is accurate
52
void
linkage_transform
(
const
trajectory_msgs::JointTrajectoryPoint& pt_in,
53
trajectory_msgs::JointTrajectoryPoint* pt_out,
double
J23_factor)
54
{
55
*pt_out = pt_in;
56
linkage_transform
(pt_in.positions, &(pt_out->positions), J23_factor);
57
}
58
59
60
void
linkage_transform
(
const
std::vector<double>& points_in,
61
std::vector<double>* points_out,
double
J23_factor)
62
{
63
ROS_ASSERT
(points_in.size() > 3);
64
65
*points_out = points_in;
66
points_out->at(2) += J23_factor * points_out->at(1);
67
}
68
69
70
}
//fanuc
71
72
}
//utils
ros.h
fanuc::utils::linkage_transform
void linkage_transform(const std::vector< double > &joints_in, std::vector< double > *joints_out, double J23_factor=0)
Corrects for parallel linkage coupling between joints.
Definition:
fanuc_utils.cpp:60
fanuc_utils.h
fanuc
Definition:
fanuc_utils.h:48
ROS_ASSERT
#define ROS_ASSERT(cond)
fanuc_driver
Author(s): G.A. vd. Hoorn (TU Delft Robotics Institute)
autogenerated on Thu Feb 20 2025 04:09:12