Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

car driving model #48

Open
chenmin1107 opened this issue Aug 13, 2017 · 1 comment
Open

car driving model #48

chenmin1107 opened this issue Aug 13, 2017 · 1 comment

Comments

@chenmin1107
Copy link

Hi there,

What is non-honolomic car driving model used in stage_ros? If I send a msg (cmd_vel), how would stage_ros move the vehicle around in the simulator?

My guess is Ackermann car model (https://en.wikipedia.org/wiki/Ackermann_steering_geometry). Is that correct?

@dkargin
Copy link

dkargin commented Feb 9, 2018

Nope. It is pure kinematic model that is used in libstage/stage_ros. You can control its velocity immediately.

In fact, there are three control modes in libstage:

typedef enum { CONTROL_ACCELERATION, CONTROL_VELOCITY, CONTROL_POSITION } ControlMode; 
  • CONTROL_VELOCITY - you change robot state by setting it velocity directly (x, y, angular).
  • CONTROL_ACCELERATION - you set acceleration, and velocity and position are updated accordingly
  • CONTROL_POSITION - you change position of the robot directly.

stage_ros uses CONTROL_VELOCITY. You can use intermediate node, that recalculates from ackerman_msgs to appropriate sensor_msgs::Twist to make robot movement look exactly like ackemann's kinematics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants