使用键盘控制小车移动,以下是rqt_gragh:
其中/sim节点显示的是turtle中的小乌龟,其作用是当不方便在实际的ros小车上运动时使用小乌龟演示,删去也不会影响键盘对小车的控制。
以下是代码块:key_teleop_test.cpp
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>
#include <turtlesim/Pose.h>
class SubscribeAndPublish
{
public:
SubscribeAndPublish()
{
//Topic you want to publish
pub_ = n_.advertise<geometry_msgs::Twist>("/cmd_vel", 10);
//Topic you want to subscribe
//注意这里,和平时使用回调函数不一样了。
sub_ = n_.subscribe("/turtle1/cmd_vel", 10, &SubscribeAndPublish::callback, this);
}
void callback(const geometry_msgs::Twist& input)
{
ROS_INFO("%.2f, %.2f\r\n", input.linear.x,input.angular.z);
pub_.publish(input);
}
private:
ros::NodeHandle n_;
ro