小编des*_*der的帖子

X、Y 和 Z 在 geometry_msgs 中的含义 ROS 中的 Twist 消息

我正在尝试使用以下公式将 Twist 转换为左右轮的速度:

float speed_wish_right = (cmd_vel.angle*WHEEL_DIST)/2 + cmd_vel.speed;
float speed_wish_left = cmd_vel.speed*2-speed_wish_right;
Run Code Online (Sandbox Code Playgroud)

Twist.angular是一个向量 [x, y, z],所以是Twist.linear。x、y、z 在向量中是什么意思,如何从两个向量中获得角度和速度?

这是我在 Arduino 中的回调函数

const int WHEEL_DIST = 16;
void velCallback(geometry_msgs::Twist vel) {
  float linear = vel.linear.x;
  float angle = vel.angular.z;

  float speed_wish_right = (angle * WHEEL_DIST) / 2 + linear;
  float speed_wish_left = linear * 2 - speed_wish_right;
  motors.setSpeeds(speed_wish_left, speed_wish_right);
}
Run Code Online (Sandbox Code Playgroud)

ros

8
推荐指数
1
解决办法
9129
查看次数

标签 统计

ros ×1