From ba9ff883d143013dd5fcb78a9e581df67270cb09 Mon Sep 17 00:00:00 2001 From: Nathan Brooks Date: Tue, 28 Jan 2020 22:05:35 -0700 Subject: [PATCH 1/2] Add publishMesh example - Add .gitattributes and chess piece .stl files --- .gitattributes | 9 +++++++++ CMakeLists.txt | 9 ++++++++- meshes/bishop.stl | 3 +++ meshes/king.stl | 3 +++ meshes/knight.stl | 3 +++ meshes/pawn.stl | 3 +++ meshes/queen.stl | 3 +++ meshes/rook.stl | 3 +++ src/rviz_visual_tools_demo.cpp | 28 ++++++++++++++++++++++++++-- 9 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 .gitattributes create mode 100644 meshes/bishop.stl create mode 100644 meshes/king.stl create mode 100644 meshes/knight.stl create mode 100644 meshes/pawn.stl create mode 100644 meshes/queen.stl create mode 100644 meshes/rook.stl diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e9736ff --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +*.bmp filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.STL filter=lfs diff=lfs merge=lfs -text +*.stl filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.tar.gz filter=lfs diff=lfs merge=lfs -text +*.ompldb filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text diff --git a/CMakeLists.txt b/CMakeLists.txt index d82f6e5..ca116ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,6 +198,13 @@ install( RUNTIME DESTINATION lib/${PROJECT_NAME} ) +# Install shared resources +install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) +install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/meshes" + DESTINATION "share/${PROJECT_NAME}" +) + # Install header files install( DIRECTORY include/ @@ -244,4 +251,4 @@ if (BUILD_TESTING) ) endif() -ament_package() \ No newline at end of file +ament_package() diff --git a/meshes/bishop.stl b/meshes/bishop.stl new file mode 100644 index 0000000..58bbc03 --- /dev/null +++ b/meshes/bishop.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76a40294e09568b51e9c21aa0a6d3f877fa56e4bb3c3c74a2d43428bb1633a27 +size 18984 diff --git a/meshes/king.stl b/meshes/king.stl new file mode 100644 index 0000000..4fcbe4f --- /dev/null +++ b/meshes/king.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:467d2b302f63c5287a1fc9e2b0a068018a00ba1d81f21e0966dbfcdaf71a6df2 +size 25084 diff --git a/meshes/knight.stl b/meshes/knight.stl new file mode 100644 index 0000000..1e86c32 --- /dev/null +++ b/meshes/knight.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18e2b531c2b5a735be0b85eebeae42061a307ed51ac7c4c98ab3432b5f7abb72 +size 24184 diff --git a/meshes/pawn.stl b/meshes/pawn.stl new file mode 100644 index 0000000..39655c5 --- /dev/null +++ b/meshes/pawn.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26ed9c604ecf94dda2674376e321c2e3ad4a578d15106b6ab15861a5ae50565a +size 12784 diff --git a/meshes/queen.stl b/meshes/queen.stl new file mode 100644 index 0000000..024d5f8 --- /dev/null +++ b/meshes/queen.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6703c0df91f3836d67aaab7188350baab02c60ab328939a35464c787bb2f03d8 +size 22384 diff --git a/meshes/rook.stl b/meshes/rook.stl new file mode 100644 index 0000000..fd641b0 --- /dev/null +++ b/meshes/rook.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b28442d43bce4665199d19b6ae26194d90186abe2808b658a0fca4f4161ff95 +size 11884 diff --git a/src/rviz_visual_tools_demo.cpp b/src/rviz_visual_tools_demo.cpp index af5f4b8..0be9e0f 100644 --- a/src/rviz_visual_tools_demo.cpp +++ b/src/rviz_visual_tools_demo.cpp @@ -358,7 +358,31 @@ class RvizVisualToolsDemo : public rclcpp::Node */ // -------------------------------------------------------------------- - // TODO(davetcoleman): publishMesh + RCLCPP_INFO(get_logger(), "Displaying Meshes"); + pose1 = Eigen::Isometry3d::Identity(); + y += space_between_rows; + pose1.translation().y() = y; + + step = 0.2; + const std::array thetas = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; + const std::array meshes = { "pawn", "knight", "bishop", "rook", "queen", "king" }; // "pig" }; + const std::array mesh_colors = { rvt::RED, rvt::ORANGE, rvt::YELLOW, rvt::GREEN, + rvt::BLACK, rvt::WHITE }; + const std::array scales = { 0.05, 0.05, 0.05, 0.05, 0.05 , 0.05 }; + + for (size_t i = 0; i < meshes.size(); ++i) + { + visual_tools_->publishMesh(pose1 * Eigen::AngleAxisd(thetas[i], Eigen::Vector3d::UnitZ()), + "package://rviz_visual_tools/meshes/" + meshes[i] + ".stl", + mesh_colors[i], scales[i]); + if (i == 0.0) + { + publishLabelHelper(pose1, "Meshes"); + } + + pose1.translation().x() += step; + } + visual_tools_->trigger(); // -------------------------------------------------------------------- // TODO(davetcoleman): publishPolygon @@ -656,7 +680,7 @@ int main(int argc, char* argv[]) // Allow the action server to recieve and send ros messages executor->add_node(demo); - executor->spin_some(); + executor->spin_once(); double x_location = 0; demo->testRows(x_location); From 27314254b965765c7f311a72cc2dc33502358d20 Mon Sep 17 00:00:00 2001 From: Nathan Brooks Date: Tue, 2 Jun 2020 17:17:25 -0600 Subject: [PATCH 2/2] clang --- src/rviz_visual_tools_demo.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/rviz_visual_tools_demo.cpp b/src/rviz_visual_tools_demo.cpp index 0be9e0f..230a332 100644 --- a/src/rviz_visual_tools_demo.cpp +++ b/src/rviz_visual_tools_demo.cpp @@ -365,10 +365,12 @@ class RvizVisualToolsDemo : public rclcpp::Node step = 0.2; const std::array thetas = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; - const std::array meshes = { "pawn", "knight", "bishop", "rook", "queen", "king" }; // "pig" }; - const std::array mesh_colors = { rvt::RED, rvt::ORANGE, rvt::YELLOW, rvt::GREEN, - rvt::BLACK, rvt::WHITE }; - const std::array scales = { 0.05, 0.05, 0.05, 0.05, 0.05 , 0.05 }; + const std::array meshes = { + "pawn", "knight", "bishop", "rook", "queen", "king" + }; // "pig" }; + const std::array mesh_colors = { rvt::RED, rvt::ORANGE, rvt::YELLOW, + rvt::GREEN, rvt::BLACK, rvt::WHITE }; + const std::array scales = { 0.05, 0.05, 0.05, 0.05, 0.05, 0.05 }; for (size_t i = 0; i < meshes.size(); ++i) {