add 3_demo

This commit is contained in:
Robot 2023-08-27 18:15:11 +08:00
parent 6cb46d931a
commit cd35a30bf4
4 changed files with 82 additions and 1 deletions

View File

@ -38,6 +38,16 @@ ament_target_dependencies(wpb_home_mani_sim
"rclcpp" "std_msgs" "sensor_msgs"
)
add_executable(3_publisher_node demo_cpp/3_publisher_node.cpp)
ament_target_dependencies(3_publisher_node
"rclcpp" "std_msgs"
)
add_executable(3_subscriber_node demo_cpp/3_subscriber_node.cpp)
ament_target_dependencies(3_subscriber_node
"rclcpp" "std_msgs"
)
add_executable(demo_mani_ctrl demo_cpp/demo_mani_ctrl.cpp)
ament_target_dependencies(demo_mani_ctrl
"rclcpp" "sensor_msgs"
@ -60,12 +70,13 @@ if(BUILD_TESTING)
ament_lint_auto_find_test_dependencies()
endif()
install(DIRECTORY config launch worlds models meshes rviz src map
install(DIRECTORY config launch demo_launch worlds models meshes rviz src map
DESTINATION share/${PROJECT_NAME})
install(
TARGETS
wpb_home_mani_sim
3_publisher_node 3_subscriber_node
demo_mani_ctrl
demo_nav2_client
DESTINATION

View File

@ -0,0 +1,26 @@
#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"
int main(int argc, char * argv[])
{
rclcpp::init(argc, argv);
auto node = std::make_shared<rclcpp::Node>("publisher_node");
auto publisher = node->create_publisher<std_msgs::msg::String>("/topic", 10);
std_msgs::msg::String message;
message.data = "Hello World!";
rclcpp::Rate loop_rate(1);
while (rclcpp::ok())
{
publisher->publish(message);
loop_rate.sleep();
}
rclcpp::shutdown();
return 0;
}

View File

@ -0,0 +1,24 @@
#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"
std::shared_ptr<rclcpp::Node> node;
void Callback(const std_msgs::msg::String::SharedPtr msg)
{
RCLCPP_INFO(node->get_logger(),"Receive : %s", msg->data.c_str());
}
int main(int argc, char * argv[])
{
rclcpp::init(argc, argv);
node = std::make_shared<rclcpp::Node>("subscriber_node");
auto subscriber= node->create_subscription<std_msgs::msg::String>("/topic", 10, &Callback);
rclcpp::spin(node);
rclcpp::shutdown();
return 0;
}

View File

@ -0,0 +1,20 @@
from launch_ros.actions import Node
from launch import LaunchDescription
def generate_launch_description():
publisher_cmd = Node(
package='wpr_simulation2',
executable='3_publisher_node',
name='publisher_node'
)
subscriber_cmd = Node(
package='wpr_simulation2',
executable='3_subscriber_node',
name='subscriber_node'
)
ld = LaunchDescription()
ld.add_action(publisher_cmd)
ld.add_action(subscriber_cmd)
return ld