ros-simulation / stage_ros

Package which contains ROS specific hooks and tools for the Stage simulator.
40 stars 122 forks source link

car driving model #48

Open chenmin1107 opened 7 years ago

chenmin1107 commented 7 years ago

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 commented 6 years ago

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; 

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.