ROS入门:小海龟实验

Posted penuel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS入门:小海龟实验相关的知识,希望对你有一定的参考价值。

1.初试小海龟


  1.roscore

  2.rosrun turtlesim turtlesim_node

  3.rosrun turtlesim turtle_teleop_key

2.发布话题控制小海龟

1.创建功能包

catkin_create_pkg turtle_control geometry_msgs rospy roscpp

2.编写turtle_control.cpp


#include "ros/ros.h"
#include "geometry_msgs/Twist.h"
int main(int argc, char** argv)
{
ros::init(argc,argv,"turtle_control_node");
ros::NodeHandle nh;
ros::Publisher pub = nh.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel",1000);
ros::Rate loop_rate(10);
geometry_msgs::Twist pub_date;
while( ros::ok() )
{
pub_date.linear.x = 0.5;
pub_date.linear.y = 0.0;
pub_date.linear.z = 0.0;
pub_date.angular.x = 0;
pub_date.angular.y = 0;
pub_date.angular.z = 0;
pub.publish(pub_date);
ros::spinOnce();
loop_rate.sleep();

}
return 0;
}

3.package.xml主要依赖


<buildtool_depend>catkin</buildtool_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<build_depend>geometry_msg</build_depend>
<build_export_depend>roscpp</build_export_depend>
<build_export_depend>rospy</build_export_depend>
<build_export_depend>geometry_msg</build_export_depend>
<exec_depend>roscpp</exec_depend>
<exec_depend>rospy</exec_depend>
<exec_depend>geometry_msg</exec_depend>

4.修改CMakeLists.txt


find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  geometry_msgs
)
include_directories(
  ${catkin_INCLUDE_DIRS}
)

add_executable(${PROJECT_NAME}_node
    ${PROJECT_NAME}_node.cpp
)

target_link_libraries(${PROJECT_NAME}_node
   ${catkin_LIBRARIES}
 )

以上是关于ROS入门:小海龟实验的主要内容,如果未能解决你的问题,请参考以下文章

ROS学习笔记-rosbag数据记录包的使用-记录和回放小海龟历程

运行roscore出现unable to contact my own server无法启动小海龟的部分故障问题解决

ROS基础笔记一

为啥不能帮小海龟

在我的代码时,耐心是比摩擦小海龟不会动

python画图之“小海龟”turtle