Skip to content

Commit 9ad64ef

Browse files
Making pre-commit happy.
1 parent 1b33fc3 commit 9ad64ef

File tree

7 files changed

+117
-219
lines changed

7 files changed

+117
-219
lines changed

include/dynamic_graph_bridge/ros_parameter.hpp

Lines changed: 0 additions & 10 deletions
This file was deleted.

include/dynamic_graph_bridge/sot_loader_basic.hh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class SotLoaderBasic : public rclcpp::Node {
8484
std::vector<std::string> stateVectorMap_;
8585

8686
public:
87-
SotLoaderBasic(const std::string & aNodeName=std::string("SotLoaderBasic"));
87+
SotLoaderBasic(const std::string& aNodeName = std::string("SotLoaderBasic"));
8888
virtual ~SotLoaderBasic();
8989

9090
// \brief Read user input to extract the path of the SoT dynamic library.
@@ -124,6 +124,9 @@ class SotLoaderBasic : public rclcpp::Node {
124124

125125
// \brief Specify the name of the dynamic library.
126126
void setDynamicLibraryName(std::string& afilename);
127+
128+
// \brief Read the parameters of the node
129+
bool parameter_server_read_robot_description();
127130
};
128131

129132
#endif /* _SOT_LOADER_BASIC_HH_ */

src/CMakeLists.txt

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
# Main Library
77
set(${PROJECT_NAME}_HEADERS
8-
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAME}/ros_parameter.hpp
98
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAME}/ros_python_interpreter_client.hpp
109
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAME}/ros_python_interpreter_server.hpp
1110
${PROJECT_SOURCE_DIR}/src/dg_ros_mapping.hpp
@@ -16,7 +15,6 @@ set(${PROJECT_NAME}_SOURCES
1615
${PROJECT_SOURCE_DIR}/src/ros_python_interpreter_client.cpp #
1716
${PROJECT_SOURCE_DIR}/src/ros_python_interpreter_server.cpp #
1817
${PROJECT_SOURCE_DIR}/src/ros.cpp #
19-
${PROJECT_SOURCE_DIR}/src/ros_parameter.cpp #
2018
)
2119
add_library(ros_bridge SHARED ${${PROJECT_NAME}_SOURCES}
2220
${${PROJECT_NAME}_HEADERS})
@@ -64,13 +62,13 @@ foreach(plugin ${plugins})
6462
${PROJECT_VERSION})
6563
endif(SUFFIX_SO_VERSION)
6664
target_link_libraries(
67-
${plugin_library_name} ${${plugin_library_name}_deps}
68-
ros_bridge
69-
dynamic_graph_bridge_msgs::dynamic_graph_bridge_msgs__rosidl_typesupport_cpp
70-
rclcpp::rclcpp
71-
rcl_interfaces::rcl_interfaces__rosidl_typesupport_cpp
72-
std_srvs::std_srvs__rosidl_typesupport_cpp
73-
)
65+
${plugin_library_name}
66+
${${plugin_library_name}_deps}
67+
ros_bridge
68+
dynamic_graph_bridge_msgs::dynamic_graph_bridge_msgs__rosidl_typesupport_cpp
69+
rclcpp::rclcpp
70+
rcl_interfaces::rcl_interfaces__rosidl_typesupport_cpp
71+
std_srvs::std_srvs__rosidl_typesupport_cpp)
7472
target_include_directories(
7573
${plugin_library_name}
7674
PUBLIC $<INSTALL_INTERFACE:include>

src/ros_parameter.cpp

Lines changed: 0 additions & 53 deletions
This file was deleted.

src/sot_loader_basic.cpp

Lines changed: 69 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,14 @@
1313

1414
#include <dynamic-graph/pool.h>
1515

16+
#include <boost/make_shared.hpp>
17+
#include <boost/shared_ptr.hpp>
1618
#include <exception>
19+
#include <sot/core/robot-utils.hh>
20+
#include <stdexcept>
1721

18-
#include "dynamic_graph_bridge/ros_parameter.hpp"
22+
#include "pinocchio/multibody/model.hpp"
23+
#include "pinocchio/parsers/urdf.hpp"
1924

2025
// POSIX.1-2001
2126
#include <dlfcn.h>
@@ -24,15 +29,15 @@ using namespace std;
2429
using namespace dynamicgraph::sot;
2530
namespace po = boost::program_options;
2631

27-
SotLoaderBasic::SotLoaderBasic(const std::string &aNodeName)
32+
SotLoaderBasic::SotLoaderBasic(const std::string& aNodeName)
2833
: rclcpp::Node(aNodeName),
2934
dynamic_graph_stopped_(true),
35+
sotController_(NULL),
3036
sotRobotControllerLibrary_(0) {
3137
RCLCPP_INFO(rclcpp::get_logger("dynamic_graph_bridge::"),
3238
"Beginning of SotLoaderBasic");
33-
// nh_ = dynamic_graph_bridge::get_ros_node("SotLoaderBasic");
3439
RCLCPP_INFO(rclcpp::get_logger("dynamic_graph_bridge"),
35-
"End of SotLoaderBasic");
40+
"End of SotLoaderBasic");
3641
}
3742

3843
SotLoaderBasic::~SotLoaderBasic() {
@@ -41,23 +46,23 @@ SotLoaderBasic::~SotLoaderBasic() {
4146

4247
void SotLoaderBasic::initialize() {}
4348

44-
//rclcpp::Node::SharedPtr SotLoaderBasic::returnsNodeHandle() { return nh_; }
4549
int SotLoaderBasic::initPublication() {
4650
// Prepare message to be published
4751
RCLCPP_INFO(rclcpp::get_logger("dynamic_graph_bridge"),
4852
"SotLoaderBasic::initPublication - create joint_pub");
49-
53+
5054
joint_pub_ =
5155
create_publisher<sensor_msgs::msg::JointState>("joint_states", 1);
5256

5357
RCLCPP_INFO(rclcpp::get_logger("dynamic_graph_bridge"),
54-
"SotLoaderBasic::initPublication - after create joint_pub");
58+
"SotLoaderBasic::initPublication - after create joint_pub");
5559
return 0;
5660
}
5761

5862
void SotLoaderBasic::initializeServices() {
59-
RCLCPP_INFO(rclcpp::get_logger("dynamic_graph_bridge"),
60-
"SotLoaderBasic::initializeServices - Ready to start dynamic graph.");
63+
RCLCPP_INFO(
64+
rclcpp::get_logger("dynamic_graph_bridge"),
65+
"SotLoaderBasic::initializeServices - Ready to start dynamic graph.");
6166

6267
using namespace std::placeholders;
6368
service_start_ = create_service<std_srvs::srv::Empty>(
@@ -74,8 +79,7 @@ void SotLoaderBasic::initializeServices() {
7479
RCLCPP_INFO(rclcpp::get_logger("dynamic_graph_bridge"),
7580
"SotLoaderBasic::initializeServices - stopped dynamic graph.");
7681

77-
rclcpp::Node::SharedPtr a_node_ptr(this);
78-
dynamicgraph::parameter_server_read_robot_description(a_node_ptr);
82+
parameter_server_read_robot_description();
7983
}
8084

8185
void SotLoaderBasic::setDynamicLibraryName(std::string& afilename) {
@@ -106,8 +110,7 @@ int SotLoaderBasic::readSotVectorStateParam() {
106110
RCLCPP_INFO(get_logger(), "state_vector_map parameter size %ld",
107111
stateVectorMap_.size());
108112
} catch (exception& e) {
109-
std::throw_with_nested(
110-
std::logic_error("Unable to call nh_->get_parameter"));
113+
std::throw_with_nested(std::logic_error("Unable to call get_parameter"));
111114
}
112115

113116
nbOfJoints_ = static_cast<int>(stateVectorMap_.size());
@@ -233,17 +236,19 @@ void SotLoaderBasic::CleanUp() {
233236
// SignalCaster singleton could probably be destroyed.
234237

235238
// Load the symbols.
236-
destroySotExternalInterface_t* destroySot =
237-
reinterpret_cast<destroySotExternalInterface_t*>(reinterpret_cast<long>(
238-
dlsym(sotRobotControllerLibrary_, "destroySotExternalInterface")));
239-
const char* dlsym_error = dlerror();
240-
if (dlsym_error) {
241-
std::cerr << "Cannot load symbol destroy: " << dlsym_error << '\n';
242-
return;
243-
}
239+
if (sotController_ != NULL) {
240+
destroySotExternalInterface_t* destroySot =
241+
reinterpret_cast<destroySotExternalInterface_t*>(reinterpret_cast<long>(
242+
dlsym(sotRobotControllerLibrary_, "destroySotExternalInterface")));
243+
const char* dlsym_error = dlerror();
244+
if (dlsym_error) {
245+
std::cerr << "Cannot load symbol destroy: " << dlsym_error << '\n';
246+
return;
247+
}
244248

245-
destroySot(sotController_);
246-
sotController_ = NULL;
249+
destroySot(sotController_);
250+
sotController_ = NULL;
251+
}
247252

248253
/// Uncount the number of access to this library.
249254
try {
@@ -265,3 +270,44 @@ void SotLoaderBasic::stop_dg(
265270
std::shared_ptr<std_srvs::srv::Empty::Response>) {
266271
dynamic_graph_stopped_ = true;
267272
}
273+
274+
bool SotLoaderBasic::parameter_server_read_robot_description() {
275+
if (!has_parameter("robot_description")) {
276+
declare_parameter("robot_description", std::string(""));
277+
}
278+
279+
std::string robot_description;
280+
std::string parameter_name("robot_description");
281+
get_parameter(parameter_name, robot_description);
282+
if (robot_description.empty()) {
283+
RCLCPP_FATAL(rclcpp::get_logger("dynamic_graph_bridge"),
284+
"Parameter robot_description is empty");
285+
return false;
286+
}
287+
288+
std::string model_name("robot");
289+
290+
// Search for the robot util related to robot_name.
291+
RobotUtilShrPtr aRobotUtil = getRobotUtil(model_name);
292+
// If does not exist then it is created.
293+
if (aRobotUtil == RefVoidRobotUtil())
294+
aRobotUtil = createRobotUtil(model_name);
295+
296+
// If the creation is fine
297+
if (aRobotUtil != RefVoidRobotUtil()) {
298+
// Then set the robot model.
299+
aRobotUtil->set_parameter(parameter_name, robot_description);
300+
RCLCPP_INFO(
301+
rclcpp::get_logger("dynamic_graph_bridge"),
302+
"parameter_server_read_robot_description : Set parameter_name : %s.",
303+
parameter_name.c_str());
304+
// Everything went fine.
305+
return true;
306+
}
307+
RCLCPP_FATAL(rclcpp::get_logger("dynamic_graph_bridge"),
308+
"Wrong initialization of parameter_name %s",
309+
parameter_name.c_str());
310+
311+
// Otherwise something went wrong.
312+
return false;
313+
}

tests/CMakeLists.txt

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,35 @@ if(BUILD_TESTING)
1515
set_target_properties(impl_test_sot_mock_device PROPERTIES INSTALL_RPATH
1616
$ORIGIN)
1717
target_link_libraries(
18-
impl_test_sot_mock_device PUBLIC sot-core::sot-core
19-
dynamic-graph-python::dynamic-graph-python
20-
ros_bridge
21-
)
18+
impl_test_sot_mock_device
19+
PUBLIC sot-core::sot-core dynamic-graph-python::dynamic-graph-python
20+
ros_bridge)
2221

2322
install(
2423
TARGETS impl_test_sot_mock_device
2524
EXPORT ${TARGETS_EXPORT_NAME}
2625
DESTINATION ${DYNAMIC_GRAPH_PLUGINDIR})
2726

28-
file(MAKE_DIRECTORY
29-
${PROJECT_BINARY_DIR}/tests/dynamic_graph/ros/tests/impl_test_sot_mock_device)
30-
27+
file(
28+
MAKE_DIRECTORY
29+
${PROJECT_BINARY_DIR}/tests/dynamic_graph/ros/tests/impl_test_sot_mock_device
30+
)
31+
3132
dynamic_graph_python_module(
32-
"${PYTHON_DIR}/ros/tests/impl_test_sot_mock_device" impl_test_sot_mock_device
33-
dynamic_graph_bridge-impl_test_sot_mock_device-wrap SOURCE_PYTHON_MODULE
33+
"${PYTHON_DIR}/ros/tests/impl_test_sot_mock_device"
34+
impl_test_sot_mock_device
35+
dynamic_graph_bridge-impl_test_sot_mock_device-wrap
36+
SOURCE_PYTHON_MODULE
3437
"${CMAKE_CURRENT_SOURCE_DIR}/impl_test_sot_mock_device-python-module-py.cc")
3538

3639
# Library for sot_external_interface
3740
add_library(impl_test_library SHARED impl_test_sot_external_interface.cpp)
38-
set_target_properties(impl_test_library PROPERTIES INSTALL_RPATH
39-
$ORIGIN)
41+
set_target_properties(impl_test_library PROPERTIES INSTALL_RPATH $ORIGIN)
4042

4143
target_link_libraries(impl_test_library PUBLIC impl_test_sot_mock_device
4244
sot-core::sot-core)
4345
ament_target_dependencies(impl_test_library PUBLIC dynamic_graph_bridge_msgs
44-
rclcpp rcl_interfaces std_srvs)
46+
rclcpp rcl_interfaces std_srvs)
4547

4648
install(
4749
TARGETS impl_test_library
@@ -99,7 +101,11 @@ if(BUILD_TESTING)
99101
PRIVATE ${PROJECT_SOURCE_DIR}/include)
100102

101103
# Link the dependecies to it.
104+
#
102105
target_link_libraries(test_${test_name} ros_bridge)
106+
set(current_test_name test_${test_name})
107+
ament_target_dependencies(${current_test_name} dynamic_graph_bridge_msgs
108+
rclcpp rcl_interfaces std_srvs)
103109

104110
# add some preprocessor variable
105111
target_compile_definitions(

0 commit comments

Comments
 (0)