Win环境测试
跳转到“Win环境测试”(1)打开ROS的prompt窗口,运行roscore;
(2)新ROS prompt,
mkdir catkin_ws\srccd catkin_wscatkin_makecd srccatkin_create_pkg beginner_tutorials std_msgs roscppcd ..catkin_make
# beginner_tutorials下新增talker.cpp、listener.cpp,并修改eginner_tutorials的CmakeLists.txtcd catkin_wscatkin_makedevel\setup.bash #每次修改都要重新设置环境变量
# 再新开两个窗口,分别cd catkin_wsdevel\setup.bash
# 然后,分别对应执行rosrun beginner_tutorials talkerrosrun beginner_tutorials listener#include "ros/ros.h"#include "std_msgs/String.h"#include <sstream>
int main(int argc, char **argv) { ros::init(argc, argv, "talker"); ros::NodeHandle n; ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter", 1000); ros::Rate loop_rate(10);
while (ros::ok()) { std_msgs::String msg; std::stringstream ss; ss << "Hello World " << ros::Time::now(); msg.data = ss.str();
ROS_INFO("%s", msg.data.c_str()); chatter_pub.publish(msg);
ros::spinOnce(); loop_rate.sleep(); }
return 0;}#include "ros/ros.h"#include "std_msgs/String.h"
void chatterCallback(const std_msgs::String::ConstPtr& msg) { ROS_INFO("I heard: [%s]", msg->data.c_str());}
int main(int argc, char **argv) { ros::init(argc, argv, "listener"); ros::NodeHandle n; ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback); ros::spin();
return 0;}# beginner_tutorials 的CMakeLists.txtcmake_minimum_required(VERSION 3.0.2)project(beginner_tutorials)
## Compile as C++11, supported in ROS Kinetic and neweradd_compile_options(-std=c++11)
## Find catkin macros and librariesfind_package(catkin REQUIRED COMPONENTS roscpp std_msgs)
##################################### catkin specific configuration #####################################catkin_package( CATKIN_DEPENDS roscpp std_msgs)
############# Build #############
## Specify additional locations of header filesinclude_directories( ${catkin_INCLUDE_DIRS})
## Declare a C++ executable for talker and listener nodesadd_executable(talker src/talker.cpp)add_executable(listener src/listener.cpp)
## Add cmake target dependencies of the executablesadd_dependencies(talker ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})add_dependencies(listener ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
## Specify libraries to link a library or executable target againsttarget_link_libraries(talker ${catkin_LIBRARIES})target_link_libraries(listener ${catkin_LIBRARIES})
############### Install ###############
## Install executablesinstall(TARGETS talker listener RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})