跳到主要内容

004.实现机器人运动控制

  1. 新建项目
catkin_create_pkg vel_pkg rospy roscpp geometry_msgs
sh
  1. 代码
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>

int main(int argc, char *argv[]) {
ros::init(argc, argv, "vel_node");

ros::NodeHandle nh;
// 向`cmd_vel`主题发送`geometry_msgs::Twist`速度消息
// 约定俗成`cmd_vel`用于发布机器人的速度指令
ros::Publisher vel_pub = nh.advertise<geometry_msgs::Twist>("/cmd_vel", 10);

geometry_msgs::Twist vel_msg;
// === 矢量速度 m/s ===
vel_msg.linear.x = 0.1;
vel_msg.linear.y = 0;
vel_msg.linear.z = 0;

// === 旋转速度 弧度/s ===
vel_msg.angular.x = 0;
vel_msg.angular.y = 0;
vel_msg.angular.z = 0;

ros::Rate r(30);

while (ros::ok()) {
vel_pub.publish(vel_msg);
r.sleep();
}

return 0;
}
C++

注: 方向

##container##
Clip_2024-09-20_21-12-50.png ##w600##
右手打枪手势建系
Clip_2024-09-20_21-13-50.png ##w600##
其他的同理: 右手螺旋, 大拇指指向坐标轴正方向, 四指方向即为滚动正方向
  1. 启动
roslaunch wpr_simulation wpb_simple.launch
sh
rosrun vel_pkg vel_node
sh
请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...