UbiquityRobotics / move_basic

A minimal navigation node
BSD 3-Clause "New" or "Revised" License
69 stars 21 forks source link

move_basic does not respect max_angular_velocity parameter #72

Closed JanezCim closed 3 years ago

JanezCim commented 3 years ago

ROS: kinetic

After move_basic is launched, the param max_angular_velocity is confirmed to be set to 0.01rad/s:

ubuntu@housie ~ $ rosparam get /move_basic/max_angular_velocity
0.009999999776482582

but when the robot is moving, im seeing big jumps in cmd_vel/angular/z - from 0.5 to -0.5

JanezCim commented 3 years ago

Found out that parameter max_angular_velocity is meant for maximum angular velocity, while robot is turning on the spot, while the parameter max_lateral_rotation controls the maximum angular velocity while driving towards goal. This answers this issue but maybe the names of the parameters are a bit unintuitive? @rohbotics

suggestion: max_turning_velocity, max_lateral_velocity suggestion2: we set the max_lateral_velocity = max_turning_velocity as default with nh.param<double>("max_lateral_velocity", maxLateralVelocity, maxTurningVelocity); as this would still lave the user the control over both, but default parameters would be a bit easier to understand.

dorkamotorka commented 3 years ago

I would go with the suggestion(1), because it kind makes sense for me that one stands for the velocity when turning in-place, while the other stands for the lateral velocity, while robot should be moving linear. I can imagine the cases where these two should have different default values.

JanezCim commented 3 years ago

So I'm going to close this issue because we found the answer to the main question. Im going to open a new one for the unintuitive parameters-