diff --git a/.github/workflows/ci_ubuntu20_04_foxy_ros2.yml b/.github/workflows/ci_ubuntu20_04_foxy_ros2.yml index f3fad5ac3d2c8888c50359c494629371ae27b70b..0a138d11630685c7638c6d0ef6253c144a6fbe75 100644 --- a/.github/workflows/ci_ubuntu20_04_foxy_ros2.yml +++ b/.github/workflows/ci_ubuntu20_04_foxy_ros2.yml @@ -53,7 +53,7 @@ jobs: cd $ROS_WORKSPACE/src ln -s /home/runner/work/dynamic_graph_bridge/dynamic_graph_bridge . git clone -b devel --single-branch --recursive https://github.com/stack-of-tasks/dynamic_graph_bridge_msgs.git - + # # Build dep and checkout from source. # diff --git a/.gitignore b/.gitignore index 6100d281dc41e0d2bbbbc199db5020f30dd27beb..164534a683e53137693b6ad4184cec290f4024db 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ bin/ build/ srv_gen/ *~ -*/__pycache__/* \ No newline at end of file +*/__pycache__/* diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fd16ba2dc38fc89c8ac5a4561a63179d147c8366 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,10 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.2.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files diff --git a/CMakeLists.txt b/CMakeLists.txt index fd447b886dbc97258a43d5a15c2b2de0a70b8226..989035cd3469b2f6120e8e97b4c23a25515873d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,4 +84,4 @@ install(DIRECTORY include/ DESTINATION include) install(FILES package.xml DESTINATION share/${PROJECT_NAME}) #ROS 2 packaging -ament_package() \ No newline at end of file +ament_package() diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in index 707e217c78663d2961058b00721d3e5fadf35c7a..f90759040df5d7a53160a16d3312dd559cdeb1b4 100644 --- a/doc/Doxyfile.extra.in +++ b/doc/Doxyfile.extra.in @@ -1,3 +1,2 @@ INPUT = @PROJECT_SOURCE_DIR@/include \ @PROJECT_SOURCE_DIR@/doc - diff --git a/include/dynamic_graph_bridge/ros_python_interpreter_client.hpp b/include/dynamic_graph_bridge/ros_python_interpreter_client.hpp index aa0598605efd60885be10ba2a9abcac33e1ec3a2..a5b5459e12cda2f064d5c8071fc882abb66a0b9e 100644 --- a/include/dynamic_graph_bridge/ros_python_interpreter_client.hpp +++ b/include/dynamic_graph_bridge/ros_python_interpreter_client.hpp @@ -149,4 +149,4 @@ private: DurationSec timeout_connection_s_; }; -} // namespace dynamic_graph_bridge \ No newline at end of file +} // namespace dynamic_graph_bridge diff --git a/include/dynamic_graph_bridge/sot_loader.hh b/include/dynamic_graph_bridge/sot_loader.hh index 5b4b3203b06bd96ab3ed2926863d40d4f143763c..c3054764a0a276443ebd999c7d2481f9aafef69b 100644 --- a/include/dynamic_graph_bridge/sot_loader.hh +++ b/include/dynamic_graph_bridge/sot_loader.hh @@ -102,7 +102,7 @@ class SotLoader : public SotLoaderBasic { // \brief Method for the thread implementing the starting and stopping part of dynamic_graph void workThreadLoader(); - + // \brief Join the thread. void lthread_join(); typedef std::shared_ptr<SotLoader> SharedPtr; diff --git a/include/dynamic_graph_bridge/sot_loader_basic.hh b/include/dynamic_graph_bridge/sot_loader_basic.hh index fd38405e703a24ba04214850d0aab6be337a4306..a1f187170f93f33f646cc077e51c69c30ea08422 100644 --- a/include/dynamic_graph_bridge/sot_loader_basic.hh +++ b/include/dynamic_graph_bridge/sot_loader_basic.hh @@ -73,7 +73,7 @@ class SotLoaderBasic { // Node reference rclcpp::Node::SharedPtr nh_; - + // Joint state to be published. sensor_msgs::msg::JointState joint_state_; @@ -100,7 +100,7 @@ class SotLoaderBasic { // Returns nodeHandle rclcpp::Node::SharedPtr returnsNodeHandle(); - + /// \brief Unload the library which handles the robot device. void CleanUp(); diff --git a/src/ros.cpp b/src/ros.cpp index 8255cf4afca3f95ce21bb805cb5af451a8fd3774..ae62cedfd9e1ab9917b911bf0ef06886936523af 100644 --- a/src/ros.cpp +++ b/src/ros.cpp @@ -286,7 +286,7 @@ RosNodePtr get_ros_node(std::string node_name) GLOBAL_LIST_OF_ROS_NODE[node_name] = std::make_shared<RosNode>( node_name, "dynamic_graph_bridge"); - + } /** Return a reference to the node handle so any function can use it */ return GLOBAL_LIST_OF_ROS_NODE[node_name]; diff --git a/src/ros_parameter.cpp b/src/ros_parameter.cpp index 57dcfd180a1741bcb866552d99aabecae19ff54a..485fd1063b24a80e7d2adf2de84dd0feef25de8b 100644 --- a/src/ros_parameter.cpp +++ b/src/ros_parameter.cpp @@ -19,7 +19,7 @@ namespace dynamicgraph { { nh->declare_parameter("robot_description",std::string("")); } - + std::string robot_description; std::string parameter_name("robot_description"); nh->get_parameter(parameter_name,robot_description); @@ -29,9 +29,9 @@ namespace dynamicgraph { "Parameter robot_description is empty"); return false; } - + std::string model_name("robot"); - + // Search for the robot util related to robot_name. sot::RobotUtilShrPtr aRobotUtil = sot::getRobotUtil(model_name); // If does not exist then it is created. diff --git a/src/sot_loader.cpp b/src/sot_loader.cpp index 66511e42f1275d0be2e6475c788a5e2e1559f317..81e57bada1d3a35320cc07243dceb95964d226c3 100644 --- a/src/sot_loader.cpp +++ b/src/sot_loader.cpp @@ -277,5 +277,5 @@ void SotLoader::workThreadLoader() { std::cerr << "End of this thread: " << std::this_thread::get_id() << std::endl; - + } diff --git a/tests/impl_test_sot_external_interface.hh b/tests/impl_test_sot_external_interface.hh index bfca53bc2b6d12f042ea340445a98fc7ca95087d..9b6a86b14d84082fc033652a1f31bb269350a75b 100644 --- a/tests/impl_test_sot_external_interface.hh +++ b/tests/impl_test_sot_external_interface.hh @@ -21,9 +21,9 @@ public: dynamicgraph::sot::SensorValues> &) final; virtual void getControl(std::map<std::string, dynamicgraph::sot::ControlValues> &) final; - + virtual void setSecondOrderIntegration(void); - + virtual void setNoIntegration(void); protected: diff --git a/tests/test_sot_loader.cpp b/tests/test_sot_loader.cpp index b914ee251e34b4255c59dd8c98240ed7325e7ad3..e4b189764a21ef38603f0d752c914cb6ff069bac 100644 --- a/tests/test_sot_loader.cpp +++ b/tests/test_sot_loader.cpp @@ -4,7 +4,7 @@ #include "dynamic_graph_bridge/sot_loader.hh" class MockSotLoaderTest: public ::testing::Test { - + public: class MockSotLoader : public SotLoader { @@ -20,7 +20,7 @@ public: std::cerr << "Stop Dynamic Graph " << std::endl; dynamic_graph_stopped_ = true; } - + void testLoadController() { // Set input call int argc=2; @@ -33,14 +33,14 @@ public: std::string finalname("libimpl_test_sot_external_interface.so"); EXPECT_TRUE(finalname == dynamicLibraryName_); - + // Performs initialization of libimpl_test_sot_external_interface.so loadController(); EXPECT_TRUE(sotRobotControllerLibrary_ != 0); EXPECT_TRUE(sotController_ != nullptr); // initialize start/stop and runCommand services initializeServices(); - + // Constructor should default freeFlyerPose EXPECT_TRUE( freeFlyerPose_.header.frame_id == std::string("odom")); EXPECT_TRUE( freeFlyerPose_.child_frame_id == std::string("base_link")); @@ -51,22 +51,22 @@ public: // Start the control loop thread. startControlLoop(); - + // Start the thread generating events. std::thread local_events(&MockSotLoader::generateEvents,this); // Wait for each threads. SotLoader::lthread_join(); // Wait 100 ms - local_events.join(); + local_events.join(); } }; - + public: MockSotLoader* mockSotLoader_ptr_; - + void SetUp() { mockSotLoader_ptr_ = new MockSotLoader(); - mockSotLoader_ptr_->initialize(); + mockSotLoader_ptr_->initialize(); } void TearDown() { @@ -81,11 +81,11 @@ TEST_F(MockSotLoaderTest,TestLoadController) mockSotLoader_ptr_->testLoadController(); } - + int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); rclcpp::init(argc, argv); - + int r=RUN_ALL_TESTS(); rclcpp::shutdown(); diff --git a/travis_custom/Dockerfile b/travis_custom/Dockerfile index 4be6b247cded0284b94ad6768a421f572595436b..8d0bd72cf0911a6d5d0b7ce38c463263a9755eb3 100644 --- a/travis_custom/Dockerfile +++ b/travis_custom/Dockerfile @@ -28,12 +28,9 @@ RUN more /etc/apt/sources.list # RUN sudo apt-get install -y g++ python2.7 python2.7-dev RUN sudo apt-get install -y cppcheck doxygen libboost-system-dev libboost-test-dev libboost-filesystem-dev libboost-program-options-dev libeigen3-dev libtinyxml-dev -RUN sudo apt-get install -y ros-indigo-tf ros-indigo-tf2-bullet ros-indigo-realtime-tools -RUN sudo apt-get install -y robotpkg-pinocchio +RUN sudo apt-get install -y ros-indigo-tf ros-indigo-tf2-bullet ros-indigo-realtime-tools +RUN sudo apt-get install -y robotpkg-pinocchio RUN sudo apt-get install -y robotpkg-dynamic-graph-v3 robotpkg-py27-dynamic-graph-v3 robotpkg-dynamic-graph-bridge-msgs RUN sudo apt-get install -y robotpkg-sot-core-v3 robotpkg-py27-sot-tools-v3 robotpkg-sot-dynamic-pinocchio-v3 RUN sudo apt-get install -y libboost-python-dev robotpkg-py27-eigenpy python2.7-dev python-numpy python-sphinx RUN env - - -