Skip to content

Commit 806748d

Browse files
committed
cartesian motion: moved to advanced demos
1 parent 32a7747 commit 806748d

File tree

6 files changed

+13
-63
lines changed

6 files changed

+13
-63
lines changed

lbr_demos/lbr_demos_fri_ros2_advanced_cpp/package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<exec_depend>lbr_description</exec_depend>
1313

1414
<depend>fri_vendor</depend>
15+
<depend>geometry_msgs</depend>
1516
<depend>kdl_parser</depend>
1617
<depend>lbr_fri_ros2</depend>
1718
<depend>lbr_fri_msgs</depend>

lbr_demos/lbr_demos_fri_ros2_cpp/src/cartesian_path_planning_node.cpp renamed to lbr_demos/lbr_demos_fri_ros2_advanced_cpp/src/cartesian_path_planning_node.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class CartesianPosePublisherNode : public rclcpp::Node {
2525
* @function: callback function for Cartesian Pose Subscriber
2626
* @param msg Cartesian Pose of the robot
2727
*/
28-
void topic_callback(const geometry_msgs::msg::Pose &msg) {
28+
void on_cartesian_pose(const geometry_msgs::msg::Pose &msg) {
2929
if (!is_init_) {
3030
initial_cartesian_pose_ = msg;
3131
is_init_ = true;
@@ -50,10 +50,10 @@ class CartesianPosePublisherNode : public rclcpp::Node {
5050
phase_ = 0.0;
5151

5252
cartesian_pose_publisher_ =
53-
this->create_publisher<geometry_msgs::msg::Pose>("/lbr/command/cartesian_pose", 10);
53+
this->create_publisher<geometry_msgs::msg::Pose>("/lbr/command/cartesian_pose", 1);
5454
cartesian_pose_subscriber_ = this->create_subscription<geometry_msgs::msg::Pose>(
55-
"/lbr/state/cartesian_pose", 10,
56-
std::bind(&CartesianPosePublisherNode::topic_callback, this, _1));
55+
"/lbr/state/cartesian_pose", 1,
56+
std::bind(&CartesianPosePublisherNode::on_cartesian_pose, this, _1));
5757
}
5858
};
5959

lbr_demos/lbr_demos_fri_ros2_cpp/src/cartesian_pose_node.cpp renamed to lbr_demos/lbr_demos_fri_ros2_advanced_cpp/src/cartesian_pose_node.cpp

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
#include <string>
22

3-
#include "friClientIf.h"
43
#include "geometry_msgs/msg/pose.hpp"
54
#include "kdl/chainfksolverpos_recursive.hpp"
65
#include "kdl/chainiksolverpos_lma.hpp"
76
#include "kdl_parser/kdl_parser.hpp"
7+
#include "rclcpp/rclcpp.hpp"
8+
9+
#include "friClientIf.h"
810
#include "lbr_fri_msgs/msg/lbr_position_command.hpp"
911
#include "lbr_fri_msgs/msg/lbr_state.hpp"
10-
#include "rclcpp/rclcpp.hpp"
1112

1213
class CartesianPoseNode : public rclcpp::Node {
1314
protected:
@@ -77,15 +78,16 @@ class CartesianPoseNode : public rclcpp::Node {
7778

7879
KDL::Tree robot_tree;
7980
if (!kdl_parser::treeFromString(robot_description_string, robot_tree)) {
80-
std::cout << "Failed to construct kdl tree." << std::endl;
81+
RCLCPP_ERROR(this->get_logger(), "Failed to construct kdl tree.");
82+
return;
8183
}
8284

8385
std::string root_link = "link_0"; // adjust with your URDF‘s root link
8486
std::string tip_link = "link_ee"; // adjust with your URDF‘s tip link
8587
if (!robot_tree.getChain(root_link, tip_link, chain_)) {
86-
std::cerr << "Failed to get chain from tree." << std::endl;
88+
RCLCPP_ERROR(this->get_logger(), "Failed to get chain from tree.");
8789
} else {
88-
std::cout << "Get chain from tree successfully." << std::endl;
90+
RCLCPP_INFO(this->get_logger(), "Get chain from tree successfully.");
8991
}
9092

9193
lbr_position_command_pub_ = this->create_publisher<lbr_fri_msgs::msg::LBRPositionCommand>(

lbr_demos/lbr_demos_fri_ros2_cpp/CMakeLists.txt

-47
Original file line numberDiff line numberDiff line change
@@ -15,51 +15,6 @@ find_package(fri_vendor REQUIRED)
1515
find_package(FRIClient REQUIRED)
1616
find_package(lbr_fri_msgs REQUIRED)
1717
find_package(rclcpp REQUIRED)
18-
find_package(tf2_ros REQUIRED)
19-
find_package(sensor_msgs REQUIRED)
20-
find_package(urdf REQUIRED)
21-
find_package(geometry_msgs REQUIRED)
22-
find_package(orocos_kdl_vendor REQUIRED)
23-
find_package(kdl_parser REQUIRED)
24-
25-
# cartesian_pose_node
26-
add_executable(cartesian_pose_node
27-
src/cartesian_pose_node.cpp
28-
)
29-
30-
ament_target_dependencies(cartesian_pose_node
31-
fri_vendor
32-
lbr_fri_msgs
33-
rclcpp
34-
tf2_ros
35-
urdf
36-
sensor_msgs
37-
orocos_kdl_vendor
38-
kdl_parser
39-
geometry_msgs
40-
)
41-
42-
target_link_libraries(cartesian_pose_node
43-
FRIClient::FRIClient
44-
)
45-
46-
# cartesian_path_planning_node
47-
add_executable(cartesian_path_planning_node
48-
src/cartesian_path_planning_node.cpp
49-
)
50-
51-
ament_target_dependencies(cartesian_path_planning_node
52-
fri_vendor
53-
lbr_fri_msgs
54-
rclcpp
55-
tf2_ros
56-
sensor_msgs
57-
geometry_msgs
58-
)
59-
60-
target_link_libraries(cartesian_path_planning_node
61-
FRIClient::FRIClient
62-
)
6318

6419
# joint sine overlay
6520
add_executable(joint_sine_overlay_node
@@ -107,8 +62,6 @@ target_link_libraries(wrench_sine_overlay_node
10762
)
10863

10964
install(TARGETS
110-
cartesian_pose_node
111-
cartesian_path_planning_node
11265
joint_sine_overlay_node
11366
torque_sine_overlay_node
11467
wrench_sine_overlay_node

lbr_demos/lbr_demos_fri_ros2_cpp/package.xml

+1-7
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@
1212
<depend>fri_vendor</depend>
1313
<depend>lbr_fri_msgs</depend>
1414
<depend>rclcpp</depend>
15-
<depend>tf2_ros</depend>
16-
<depend>urdf</depend>
17-
<depend>geometry_msgs</depend>
18-
<depend>sensor_msgs</depend>
19-
<depend>orocos_kdl_vendor</depend>
20-
<depend>kdl_parser</depend>
2115

2216
<exec_depend>lbr_fri_ros2</exec_depend>
2317

@@ -27,4 +21,4 @@
2721
<export>
2822
<build_type>ament_cmake</build_type>
2923
</export>
30-
</package>
24+
</package>

0 commit comments

Comments
 (0)