This is a sequel to my earlier question here. I am trying to get move_base navigate through a set of goals. My config files are exactly those given in the earlier question. I am running move_base on a robot , which is very heavy - around 200 kg. I find that move_base's velocity commands move the robot very slightly every 10 minutes - a few mm for a goal of a few metres. I wonder if acceleration limits are significant here?
Note: With plain cmd_vel, the robot moves much faster. I don't have sensing nodes yet , so am publishing on /scan using the code here .
Update after Eric's comment: I determined the acc/vel limits, and when I ran cmd_vel commands at a very high frequency (3KHz), rxplot showed /odom/..linear/x rising to /cmd_vel/linear/x quite rapidly and the robot was moving very smoothly. The problem is, move_base doesn't send out cmd_vel commands at this frequency, it just sends it once ; this isn't enough to sustain motion. What param should I adjust in config? Changing controller frequency doesn't help. Or should I hack into move_base code and force it to transmit cmd_vel commands for say 1s continuously?
Update 2: I did the rostopic hz part & found that, even with a given controller frequency of 10KHz , move_base was sending out commands only @ around 600 Hz. I'm unable to understand this discrepancy. Should I send you more data?
Update 3: I have fixed this, finding a concurrent process running that was publishing zeroes to /cmd_vel. So the cmd_vel publisher causes the robot to run smoothly @ 20 Hz. But doing the same thing for move_base causes rostopic hz /cmd_vel to report .1 Hz! I really can't figure out why?
Originally posted by PKG on ROS Answers with karma: 365 on 2011-07-22
Post score: 1
Original comments
Comment by Eric Perko on 2011-07-23:
That's rather odd. move_base should send commands once per controller loop (default 20Hz). Could you update your post with a plot of move_base's commands? How often does move_base actually send a command ('rostopic hz /cmd_vel' while move_base is the only thing running could help you here)?