Hello,
I sent a path to my move_base and i want to know if i can apply it.
So I was thinking to use base_local_planner::TrajectoryPlannerROS .
- Inittialise it with TrajectoryPlannerROS (std::string name, tf::TransformListener *tf, costmap_2d::Costmap2DROS *costmap_ros)
- load my path with setPlan (const std::vector< geometry_msgs::PoseStamped >&orig_global_plan)
- and check my trajectory with checkTrajectory (double vx_samp, double vy_samp, double vtheta_samp, bool update_map=true)
But I don't get what are vx_samp,vy_samp and vtheta_samp. The documentation said that there are used in order to seed the Trajectory but I don't understand what does it mean.
Someone can describe me what is the purpose of these parameters?
thanks
↧
how to use TrajectoryPlannerROS::checkTrajectory
↧
where are stored obstacles from map?
hello,
I want to check if my path is correct on many maps, so i want to know the position of the obstacles.
The map is provided by map_server ( a picture in black for obstacles and white for empty spaces).
I Was thinking that these values were stored in the cotmap_ of my global_planner but I have checked costmap_.getCost(i,j) for all the position and everything is empty. ( if i sent a goal to my move_base, my robot avoid the obstacles)
So my question is where are stored obstacles from my map?
thanks
↧
↧
Why does the DWA Local Planner need an acceleration value of >= 1.0?
Sometimes, in cluttered environments, our (differential wheeled) robot seems to accelerate too fast and navigates itself into places it cannot escape from. Just to test if a lower acceleration would do any good I tried reconfiguring it but it seems that setting the parameter `/move_base/DWAPlannerROS/acc_lim_x` lower than 1.0 causes move_base to not do anything any more. Since the parameter is a float value, I expect that the reason is not just an int cast somewhere. Does anyone know why an acceleration lower than 1.0 m/s^2 might not be supported?
**Edit:** Just to give some more info, these are the other parameters we use:
DWAPlannerROS:
acc_lim_x: 1.0
acc_lim_y: 0.0
acc_lim_th: 2.0
min_vel_y: 0.0
max_vel_y: 0.0
max_rot_vel: 1.0
min_rot_vel: 0.4
yaw_goal_tolerance: 0.1
xy_goal_tolerance: 0.3
latch_xy_goal_tolerance: true
sim_time: 1.7
path_distance_bias: 5.0 #default:32
goal_distance_bias: 9.0 #default:24
occdist_scale: 0.01 #default:0.01
oscillation_reset_dist: 0.05
prune_plan: true
holonomic_robot: false
Not listed parameters use the default values.
**Edit2:** To answere David's comment:
These are the parameters we use for the local costmap:
local_costmap:
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.05
plugins:
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
So the resolution is 0.05 which is the default value if I'm not mistaken.
↧
ROS navigation without amcl / localization ?
Hi,
Is it possible to run ROS navigation without amcl or any kind of localization? I still want to a static map that I built using gmapping, just don't want any localization.
Would that mean I should publish a zero transform from /map to /odom? My tree earlier was map -> odom -> base_link and amcl used to publish the transform from map to odom.
EDIT: I did the above but I am unable to set the initial pose of the robot in the map using rviz.
Thank you.
↧
DWA planner failed to produce path
**UPDATE:** In the end this seems to be due to a strange interaction between our robot model and environment that seems to have only manifested under OS X. Thanks for all your help though.
I am running hydro on OS X installed using Homebrew, but with the navigation stack updated to the latest version (`* hydro-devel 8824c44 fix robot_pose_ekf test`) from its GitHub (and a few other packages updated too). I am running simulated differential drive robot with a laser (a Scitos G5) in simulation (using MORSE). I have a map and the robot is well localised in it, but when I try to send it to a nav goal in RViz I repeatedly get the message
`DWA planner failed to produce path.`
... until it gives up.
A setup like this used to work for me, and a near-identical configuration of simulation and navigation is working fine for colleagues in the same team running Ubuntu 12.04. So something has changed in either my navigation configuration (which is maintained in a project that other people have been editing) or in my ROS install that has created this problem.
The simulation setup is here: https://github.com/strands-project/strands_morse
The navigation configuration is here: https://github.com/strands-project/scitos_2d_navigation/tree/hydro-devel/scitos_move_base_params
If I publish to `/cmd_vel` the robot moves fine. In RViz the local and global cost maps are clear. Looking at the code (`dwa_planner_ros.cpp`) that produces this message it looks like it is being produced because a 0 or negative cost path is being produced. The following code is the conditional which returns false and ultimately leads to the message above.
std::vector local_plan;
if(path.cost_ < 0) {
ROS_WARN("The dwa local planner failed to find a valid plan, cost functions discarded all candidates. This can mean there is an obstacle too close to the robot.");
Given that I can't see any obstacles in the cost maps, I'm not sure what is causing this.
So, please can anyone give me a hint about where else to look to try to find out what's causing this failure?
↧
↧
heading_scoring heading_scoring_timestep and heading_lookahead
Hi,
As mentioned in [this question](http://answers.ros.org/question/188739/bias-move_base-to-move-forward-and-not-turn/), I'm trying to smoothen the movements of my robot when moving along straight or almost straight paths.
I came across these three parameters on the base_local_planner page (heading_scoring; heading_scoring_timestep and heading_lookahead) but from the definition on the page, I am unable to guess what effect it will have on the robot. Does heading scoring mean that the robot will try to stick to the pose of the goal as much as possible? And what do the other two parameters mean and what effect do they have on this?
Thank you.
EDIT: The robot oscillates a lot while heading scoring is true even for straight paths
↧
edit the package navigation
Hello !
I used `navigation package` in my robot , but now I want to modify some code in the `base_local_planner` of `navigation` . I know that I cannot edit the source file install in `/opt/ros/hydro/share` , so I downloaded package [here](http://www.ros.org/browse/details.php?distro=hydro&name=navigation) .
Before I edit the code , I ran my simulation robot in `rviz` and give a `2D navigation` to it . I ran the `$rospack find move_base` to ensure that it link to the package I have download , and it shows `/home/llm/chaoying/src/navigation-hydro-devel.2/move_base` . But the robot went a wrong way and can not arrive the goal which is not same when I used the original `move_base` in `/opt/ros/hydro/share` .
I want to know why ? Are the two package's code different ?


↧
Does the move_base plan a navigation in real time ?
Hello !
Now I meet a new question . I had a LIDAR on my real car , and the pointclouds of obstacle were showed around the simulate car on the blank map . When I give a goal `2D navigation` on the blank map , the simulate car and the real car will go to the goal . Now I hope the car can avoid the **obstacles** when going to the goal . The `move_base` will give a navigation to the goal , but it does not plan a new navigation **in real time** when the car meet new obstacles .
I hope the move_base can plan a navigation in real time . I am confused about it !
↧
[Hydro] Error in move_base.launch rviz
I succed finally to launch my move_base.launch file.
And when with rviz I tried to tell where the robot is in the map, with the 2d Pose Estime, i got this message :
Failed to transform initial pose in time (Lookup would require extrapolation into the future. Requested time 1407222627.317546291 but the latest data is at time 1407222627.301636934, when looking up transform from frame [map] to frame [base_link])
I think that there is a link with my previous problem
http://answers.ros.org/question/187967/groovy-how-to-link-scan-to-base_link/
This is my view_frames

My local costmap is :
local_costmap:
global_frame: /odom
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.05
My global costmap is
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 5.0
static_map: true
The link beetween map and /odom is done in the move_base.launch file :
When I launched roswtf i got this error
Loaded plugin tf.tfwtf
No package or stack in context
================================================================================
Static checks summary:
No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules
running tf checks, this will take a second...
... tf checks complete
Online checks summary:
Found 3 warning(s).
Warnings are things that may be just fine, but are sometimes at fault
WARNING The following node subscriptions are unconnected:
* /amcl:
* /tf_static
* /clock
* /initialpose
* /scan
* /robot_state_publisher:
* /joint_states
* /rpid_velocity:
* /rwheel
* /diff_tf:
* /lwheel
* /rwheel
* /map_server:
* /clock
* /odom_map_broadcaster:
* /clock
* /move_base:
* /move_base_simple/goal
* /tf_static
* /clock
* /lpid_velocity:
* /lwheel
WARNING These nodes have died:
* mark2_arduino-2
WARNING Received out-of-date/future transforms:
* receiving transform from [/robot_state_publisher] that differed from ROS time by 1407396264.96s
* receiving transform from [/diff_tf] that differed from ROS time by 1407396264.45s
Found 1 error(s).
***Update The new tf view_frames***

↧
↧
Global Costmap only publishing once to a subscriber?
Hello.
I'm using the amcl_demo.launch file to localize to a static map, and gather costmap data of the environment. When I try to subscribe to the global_costmap/costmap topic, it only publishes once, and will not update the value. The same effect is seen when using rostopic echo. Rviz can update the global costmap display, so I don't know what the issue is. Thanks.
↧
Is it feasible to use two local planner in Move_base?
Hi,all, I want to combine the functionality of collision avoidance of DWAPlanner and the functionality of multi-robot collision avoidance of [collovid](http://wiki.ros.org/multi_robot_collision_avoidance). Both of them are local planner and with different collision avoidance functionality.
I have tried to add them in a base_local_planner.yaml as follows and run it in a turtlebot:
controller_frequency: 10
use_obstacles: false # was true
CollvoidLocalPlanner:
holo_robot: false
wheel_base: 0.25
max_neighbors: 10
neighbor_dist: 1.0
max_vel_x: 0.8 # was 0.5
max_vel_th: 1.0 # was 1.5
min_vel_x: 0.01 # was 0.1
min_vel_th: 0.2
min_vel_y: 0.01 #was 0.0
max_vel_y: 0.1 # was 0.0
min_vel_th_inplace: 0.05 # was 0.5
acc_lim_x: 1.0 #was 5.0
acc_lim_y: 0.2 #was 5.0
acc_lim_th: 0.5 #was 5.2
max_vel_with_obstacles: 0.5
footprint_radius: 0.18 #was 0.17
inscribed_radius: 0.2
yaw_goal_tolerance: 0.5
xy_goal_tolerance: 0.10
latch_xy_goal_tolerance: true
ignore_goal_yaw: false
global_frame: /map
time_horizon: 5.0
time_horizon_obst: 5.0 #was 10.0
time_to_holo: 0.4
min_error_holo: 0.02
max_error_holo: 0.10
delete_observations: false #was true
threshold_last_seen: 0.5 #was 0.5
trunc_time: 1.0
left_pref: -0.05
eps: 0.1
publish_positions_frequency: 5.0
publish_me_frequency: 5.0
type_vo: 0 #HRVO = 0, RVO = 1, VO = 2
orca: true #orca or VO
convex: false #footprint or radius
clearpath: true #clearpath or sampling
num_samples: 100 #num samples
use_truncation: true #truncate vos
TrajectoryPlannerROS:
max_vel_x: 0.50
min_vel_x: 0.10
max_rotational_vel: 1.5
min_in_place_rotational_vel: 1.0
acc_lim_th: 0.75
acc_lim_x: 0.50
acc_lim_y: 0.50
holonomic_robot: false
yaw_goal_tolerance: 0.3
xy_goal_tolerance: 0.15
goal_distance_bias: 0.5
path_distance_bias: 0.5 #was 0.9996
sim_time: 1.5
heading_lookahead: 0.325
oscillation_reset_dist: 0.05
vx_samples: 6
vtheta_samples: 20
dwa: true
DWAPlannerROS:
acc_lim_th: 5.0
acc_lim_x: 1.0
acc_lim_y: 0.0
max_trans_vel: 0.50
min_trans_vel: 0.0
max_vel_x: 0.30
min_vel_x: 0.0
max_vel_y: 0.0
min_vel_y: 0.0
max_rot_vel: 1.0
min_rot_vel: 0.2
# These are guessed tolerance values. Yaw tolerance should be about
# 45 degree and xy tolerance within a foot.
yaw_goal_tolerance: 0.2 # radians
xy_goal_tolerance: 0.2 # meters We increase the stop_time_buffer
# because we have a pretty high latency on the controller. A small
# stop_time_buffer would cause the robot to crash into obstacles
# more often.
stop_time_buffer: 0.8
# Lower the path_distance_bias to make the robot not follow the path
# too strictly and avoid spinning in place when gmapping causes
# jumsp in the robot's pose.
path_distance_bias: 10.0
vx_samples: 10
vy_samples: 1
occdist_scale: 0.02
However, the turtlebot robot couldn't avoid static obstacles as the default functionality in the package "turtlebot_navigation“。 Does any one encounter similar problem before. Thank you!
↧
move_base launch fails due to: cannot marshal None unless allow_none is enabled
Dear all,
I was following the navigation tutorial for ROS Hydro installed on my UDOO board robot.
I follow the tutorial on the Navigation ROS Wiki but, launching the move_base.launch file, I have a
cannot marshal None unless allow_none is enabled
error.
Those are my yaml files:
base_local_planner_params.yaml
TrajectoryPlannerROS:
max_vel_x: 0.45
min_vel_x: 0.1
max_rotational_vel: 1.0
min_in_place_rotational_vel: 0.4
acc_lim_th: 3.2
acc_lim_x: 2.5
acc_lim_y: 2.5
holonomic_robot: false
local_costmap_params.yaml
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.05
costmap_common_params.yaml
obstacle_range: 2.5
raytrace_range: 3.0
robot_radius: 0.30
inflation_radius: 0.55
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: base_laser, data_type: LaserScan, topic; laser_scan, marking: true, clearing: true}
global_costmap_params.yaml
global_costmap:
global_frame: /map
robot_base_frame: base_link
update_frequency: 5.0
static_map: false
amcl_diff.launch:
and finally the move_base.launch
When I try to launch move_base.launch I get this error message:
[roslaunch][INFO] 2014-09-03 07:00:27,886: Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
[roslaunch][INFO] 2014-09-03 07:00:27,898: Done checking log file disk usage. Usage is <1GB.
[roslaunch][INFO] 2014-09-03 07:00:27,900: roslaunch starting with args ['/opt/ros/hydro/bin/roslaunch', 'geduino_navigation', 'move_base.launch']
[roslaunch][INFO] 2014-09-03 07:00:27,900: roslaunch env is {'ROS_DISTRO': 'hydro', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'HUSHLOGIN': 'FALSE', 'CPATH': '/home/udoo/ros/devel/include:/opt/ros/hydro/include', 'LOGNAME': 'udoo', 'USER': 'udoo', 'HOME': '/home/udoo', 'PATH': '/home/udoo/ros/devel/bin:/opt/ros/hydro/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games', 'ROS_PACKAGE_PATH': '/home/udoo/ros/src:/opt/ros/hydro/share:/opt/ros/hydro/stacks', 'CMAKE_PREFIX_PATH': '/home/udoo/ros/devel:/opt/ros/hydro', 'LD_LIBRARY_PATH': '/home/udoo/ros/devel/lib:/opt/ros/hydro/lib', 'LANG': 'C', 'TERM': 'linux', 'SHELL': '/bin/bash', 'LANGUAGE': 'C', 'SHLVL': '1', 'ROS_LOG_FILENAME': '/home/udoo/.ros/log/fc4df7ea-3337-11e4-b578-7cdd9047677b/roslaunch-geduino-3197.log', 'ROS_ETC_DIR': '/opt/ros/hydro/etc/ros', 'PYTHONPATH': '/home/udoo/ros/devel/lib/python2.7/dist-packages:/opt/ros/hydro/lib/python2.7/dist-packages', 'ROS_ROOT': '/opt/ros/hydro/share/ros', 'PKG_CONFIG_PATH': '/home/udoo/ros/devel/lib/pkgconfig:/opt/ros/hydro/lib/pkgconfig', 'LC_ALL': 'C', 'ROS_TEST_RESULTS_DIR': '/home/udoo/ros/build/test_results', '_': '/opt/ros/hydro/bin/roslaunch', 'CATKIN_TEST_RESULTS_DIR': '/home/udoo/ros/build/test_results', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LC_MESSAGES': 'POSIX', 'OLDPWD': '/home/udoo', 'PWD': '/home/udoo/ros', 'ROS_MASTER_URI': 'http://localhost:11311', 'MAIL': '/var/mail/udoo', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'}
[roslaunch][INFO] 2014-09-03 07:00:27,901: starting in server mode
[roslaunch.parent][INFO] 2014-09-03 07:00:27,902: starting roslaunch parent run
[roslaunch][INFO] 2014-09-03 07:00:27,903: loading roscore config file /opt/ros/hydro/etc/ros/roscore.xml
[roslaunch][INFO] 2014-09-03 07:00:28,360: Added core node of type [rosout/rosout] in namespace [/]
[roslaunch.config][INFO] 2014-09-03 07:00:28,361: loading config file /home/udoo/ros/src/geduino_navigation/launch/move_base.launch
[roslaunch][INFO] 2014-09-03 07:00:28,507: Added node of type [amcl/amcl] in namespace [/]
[roslaunch][INFO] 2014-09-03 07:00:28,678: Added node of type [move_base/move_base] in namespace [/]
[roslaunch][INFO] 2014-09-03 07:00:28,679: ... selected machine [] for node of type [amcl/amcl]
[roslaunch][INFO] 2014-09-03 07:00:28,679: ... selected machine [] for node of type [move_base/move_base]
[roslaunch.pmon][INFO] 2014-09-03 07:00:28,682: start_process_monitor: creating ProcessMonitor
[roslaunch.pmon][INFO] 2014-09-03 07:00:28,683: created process monitor
[roslaunch.pmon][INFO] 2014-09-03 07:00:28,684: start_process_monitor: ProcessMonitor started
[roslaunch.parent][INFO] 2014-09-03 07:00:28,685: starting parent XML-RPC server
[roslaunch.server][INFO] 2014-09-03 07:00:28,686: starting roslaunch XML-RPC server
[roslaunch.server][INFO] 2014-09-03 07:00:28,686: waiting for roslaunch XML-RPC server to initialize
[xmlrpc][INFO] 2014-09-03 07:00:28,687: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2014-09-03 07:00:28,688: Started XML-RPC server [http://geduino:55112/]
[xmlrpc][INFO] 2014-09-03 07:00:28,688: xml rpc node: starting XML-RPC server
[roslaunch][INFO] 2014-09-03 07:00:28,702: started roslaunch server http://geduino:55112/
[roslaunch.parent][INFO] 2014-09-03 07:00:28,702: ... parent XML-RPC server started
[roslaunch][INFO] 2014-09-03 07:00:28,766: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:28,768: auto-starting new master
[roslaunch][INFO] 2014-09-03 07:00:28,770: create_master_process: rosmaster, /opt/ros/hydro/share/ros, 11311
[roslaunch][INFO] 2014-09-03 07:00:28,770: process[master]: launching with args [['rosmaster', '--core', '-p', '11311']]
[roslaunch.pmon][INFO] 2014-09-03 07:00:28,771: ProcessMonitor.register[master]
[roslaunch.pmon][INFO] 2014-09-03 07:00:28,772: ProcessMonitor.register[master] complete
[roslaunch][INFO] 2014-09-03 07:00:28,772: process[master]: starting os process
[roslaunch][INFO] 2014-09-03 07:00:28,773: process[master]: start w/ args [['rosmaster', '--core', '-p', '11311', '__log:=/home/udoo/.ros/log/fc4df7ea-3337-11e4-b578-7cdd9047677b/master.log']]
[roslaunch][INFO] 2014-09-03 07:00:28,774: process[master]: cwd will be [/home/udoo/.ros]
[roslaunch][INFO] 2014-09-03 07:00:28,795: process[master]: started with pid [3210]
[roslaunch][INFO] 2014-09-03 07:00:28,797: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:28,899: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,001: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,103: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,205: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,307: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,409: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,511: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,518: master.is_running[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,523: ROS_MASTER_URI=http://localhost:11311
[roslaunch][INFO] 2014-09-03 07:00:29,530: setting /run_id to fc4df7ea-3337-11e4-b578-7cdd9047677b
[roslaunch][INFO] 2014-09-03 07:00:29,538: setting /roslaunch/uris/host_geduino__55112' to http://geduino:55112/
[roslaunch][INFO] 2014-09-03 07:00:29,548: ... preparing to launch node of type [rosout/rosout]
[roslaunch][INFO] 2014-09-03 07:00:29,548: create_node_process: package[rosout] type[rosout] machine[Machine(name[] env_loader[None] address[localhost] ssh_port[22] user[None] assignable[True] timeout[10.0])] master_uri[http://localhost:11311]
[roslaunch][INFO] 2014-09-03 07:00:29,549: process[rosout-1]: env[{'ROS_DISTRO': 'hydro', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'HUSHLOGIN': 'FALSE', 'CPATH': '/home/udoo/ros/devel/include:/opt/ros/hydro/include', 'LOGNAME': 'udoo', 'USER': 'udoo', 'HOME': '/home/udoo', 'PATH': '/home/udoo/ros/devel/bin:/opt/ros/hydro/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games', 'ROS_PACKAGE_PATH': '/home/udoo/ros/src:/opt/ros/hydro/share:/opt/ros/hydro/stacks', 'CMAKE_PREFIX_PATH': '/home/udoo/ros/devel:/opt/ros/hydro', 'ROS_LOG_FILENAME': '/home/udoo/.ros/log/fc4df7ea-3337-11e4-b578-7cdd9047677b/roslaunch-geduino-3197.log', 'LANG': 'C', 'TERM': 'linux', 'SHELL': '/bin/bash', 'LANGUAGE': 'C', 'SHLVL': '1', 'LD_LIBRARY_PATH': '/home/udoo/ros/devel/lib:/opt/ros/hydro/lib', 'ROS_MASTER_URI': 'http://localhost:11311', 'PYTHONPATH': '/home/udoo/ros/devel/lib/python2.7/dist-packages:/opt/ros/hydro/lib/python2.7/dist-packages', 'ROS_ROOT': '/opt/ros/hydro/share/ros', 'PKG_CONFIG_PATH': '/home/udoo/ros/devel/lib/pkgconfig:/opt/ros/hydro/lib/pkgconfig', 'LC_ALL': 'C', 'ROS_TEST_RESULTS_DIR': '/home/udoo/ros/build/test_results', '_': '/opt/ros/hydro/bin/roslaunch', 'CATKIN_TEST_RESULTS_DIR': '/home/udoo/ros/build/test_results', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LC_MESSAGES': 'POSIX', 'OLDPWD': '/home/udoo', 'PWD': '/home/udoo/ros', 'ROS_ETC_DIR': '/opt/ros/hydro/etc/ros', 'MAIL': '/var/mail/udoo', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'}]
[roslaunch][INFO] 2014-09-03 07:00:29,683: process[rosout-1]: args[[u'/opt/ros/hydro/lib/rosout/rosout', u'__name:=rosout']]
[roslaunch][INFO] 2014-09-03 07:00:29,684: ... created process [rosout-1]
[roslaunch.pmon][INFO] 2014-09-03 07:00:29,684: ProcessMonitor.register[rosout-1]
[roslaunch.pmon][INFO] 2014-09-03 07:00:29,685: ProcessMonitor.register[rosout-1] complete
[roslaunch][INFO] 2014-09-03 07:00:29,685: ... registered process [rosout-1]
[roslaunch][INFO] 2014-09-03 07:00:29,686: process[rosout-1]: starting os process
[roslaunch][INFO] 2014-09-03 07:00:29,687: process[rosout-1]: start w/ args [[u'/opt/ros/hydro/lib/rosout/rosout', u'__name:=rosout', u'__log:=/home/udoo/.ros/log/fc4df7ea-3337-11e4-b578-7cdd9047677b/rosout-1.log']]
[roslaunch][INFO] 2014-09-03 07:00:29,687: process[rosout-1]: cwd will be [/home/udoo/.ros]
[roslaunch][INFO] 2014-09-03 07:00:29,700: process[rosout-1]: started with pid [3223]
[roslaunch][INFO] 2014-09-03 07:00:29,703: ... successfully launched [rosout-1]
[roslaunch][INFO] 2014-09-03 07:00:29,706: load_parameters starting ...
[roslaunch][ERROR] 2014-09-03 07:00:29,714: load_parameters: unable to set parameters (last param was [/move_base/TrajectoryPlannerROS/min_in_place_rotational_vel=0.4]): cannot marshal None unless allow_none is enabled
[roslaunch.pmon][INFO] 2014-09-03 07:00:29,859: ProcessMonitor.shutdown
[roslaunch.pmon][INFO] 2014-09-03 07:00:29,888: ProcessMonitor._post_run
[roslaunch.pmon][INFO] 2014-09-03 07:00:29,889: ProcessMonitor._post_run : remaining procs are [, ]
[roslaunch.pmon][INFO] 2014-09-03 07:00:29,894: ProcessMonitor exit: killing rosout-1
[roslaunch][INFO] 2014-09-03 07:00:29,895: [rosout-1] killing on exit
[roslaunch][INFO] 2014-09-03 07:00:29,898: process[rosout-1]: killing os process with pid[3223] pgid[3223]
[roslaunch][INFO] 2014-09-03 07:00:29,899: [rosout-1] sending SIGINT to pgid [3223]
[roslaunch][INFO] 2014-09-03 07:00:29,899: [rosout-1] sent SIGINT to pgid [3223]
[roslaunch][INFO] 2014-09-03 07:00:30,201: process[rosout-1]: SIGINT killed with return value 0
[roslaunch.pmon][INFO] 2014-09-03 07:00:30,201: ProcessMonitor exit: killing master
[roslaunch][INFO] 2014-09-03 07:00:30,202: [master] killing on exit
[roslaunch][INFO] 2014-09-03 07:00:30,205: process[master]: killing os process with pid[3210] pgid[3210]
[roslaunch][INFO] 2014-09-03 07:00:30,206: [master] sending SIGINT to pgid [3210]
[roslaunch][INFO] 2014-09-03 07:00:30,209: [master] sent SIGINT to pgid [3210]
[roslaunch][INFO] 2014-09-03 07:00:30,415: process[master]: SIGINT killed with return value 0
[roslaunch.pmon][INFO] 2014-09-03 07:00:30,416: ProcessMonitor exit: cleaning up data structures and signals
[roslaunch.pmon][INFO] 2014-09-03 07:00:30,416: ProcessMonitor exit: pmon has shutdown
[rospy.core][INFO] 2014-09-03 07:00:30,425: signal_shutdown [atexit]
I checked my code several times for tabs, ,missing spaces on yaml file, namespace usage but I was not able to find a fix.
Can someone help me to fix it?
Thanks a lot
Alessandro
↧
move_base_node
I was going through the code base of ROS navigation. I have some difficulty understanding the name field and type field for running a node in a launch file.
For example, I run the move_base node using the following line in my launch file.
> node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen"
However, when I look at the source code for move_base, it has a file named move_base_node and during initialization as well is called "move_base_node"
> ros::init(argc, argv, "move_base_node");
But the executable that is present in my devel folder is called "move_base". I wonder how the naming is supposed to work and how did it get changed.
The CMakelists file also contains "move_base_node" and not "move_base".
Thank you for your time.
↧
↧
move_base publishes cmd_vel with all 0
Hi,
i am working on a pioneer3DX and the navigation stack. But the problem is, sometimes move_base publishes under cmd_vel a geometry_msgs/Twist with all linear and all angular values 0.
Here a picture of the situation.

Here is my config file for the Trajectory Planner:
NavfnROS:
default_tolerance: 0.5
TrajectoryPlannerROS:
default_tolerance: 0.5
acc_lim_z: 0.05
acc_lim_x: 0.3
acc_lim_y: 0.3
min_in_place_rotational_vel: 0.1
holonomic_robot: false
yaw_goal_tolerance: 0.15
xy_goal_tolerance: 0.15
pdist_scale: 0.8
If you need further information just tell me.
Regards Peter
↧
use some functions of move_base
Hello! Is there any way to use only some functions of move_base? I want to use in my node only the global costmap created with move_base and nothing else (no planners)
↧
Problems with move_base
I have a movable robot which I control properly with the ps3 joystick.
I have implemented recently an AMCL filter and a path planning with move_base package.
When I try to move the robot defining a goal it can not turn or go backward. The only movement it accomplish is moving forward.
I am using Hydro and this is my config file:
If it is necessary I can send you any bagfile you need.
Thank you.
[EDIT] I have been looking cmd_vel topic and the angular velocity never comes up to 0.5 and I know that lower values than 1.2 makes no movement in the robot. I don't understand why it is happening because I have set the max_vel_theta to 10.0
TrajectoryPlannerROS:
# Robot Configuration Parameters
acc_lim_x: 2.5
acc_lim_y: 2.5
acc_lim_th: 10.0 ##3.5
max_vel_x: 10.0 #1.0
min_vel_x: 0.5 #0.1
max_vel_theta: 10.0
min_vel_theta: -10.0
min_in_place_vel_theta: 0.3
escape_vel: -0.1
holonomic_robot: false
# Goal Tolerance Parameters
xy_goal_tolerance: 0.6
yaw_goal_tolerance: 0.1
# Forward Simulation Parameters
sim_time: 1.3 ##1.3
sim_granularity: 0.20 ##0.2
vx_samples: 10 ##10
vtheta_samples: 30
# Trajectory Scoring Parameters
meter_scoring: false
gdist_scale: 0.7 ##0.6
pdist_scale: 1.5 ##1.0
occdist_scale: 0.01 ##0.05
heading_lookahead: 3.0 ##1.5 dwa: true
heading_scoring: true ##false
heading_scoring_timestep: 1.0 ##0.8
# Oscillation Prevention Parameters
oscillation_reset_dist: 0.2
↧
why some empty areas are with high cost in costmap?
Hi, all ,I am using turtlebot2( i.e. kobuki) to test my local planner. The global_planner being used is the default navfn of move_base node (i.e. navfn). But some strange path planning happen due to the incorrect costmap (global costmap ?).
Please see following two images. The black and grey areas are with high cost from global costmap.
The red ellipses are the areas that should be with white. Because there are nothing on these area. Beforehand some moving objects such as persons were moving through these areas. But when a turtlebot robot is ordered to go from start points ( blue squares) to goal points (orange squares), there are nothing in these areas. That is why the planned path(green lines) get round these areas like there exists obstacles.


Here I give the yaml files that the move_base node is using.
local_costmap_params.yaml:
local_costmap:
global_frame: odom #was /odom
robot_base_frame: base_link #was /base_footprint
update_frequency: 5.0
publish_frequency: 5.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.1
transform_tolerance: 0.5
global_costmap_params.yaml:
global_costmap:
global_frame: /map
robot_base_frame: base_link # was /base_footprint
update_frequency: 5.0
publish_frequency: 1.0
static_map: true
transform_tolerance: 0.5
cost_scaling_factor: 10.0
lethal_cost_threshold: 100
costmap_common_params:
max_obstacle_height: 0.60 # assume something like an arm is mounted on top of the robot
obstacle_range: 2.5
raytrace_range: 3.0
robot_radius: 0.18
inflation_radius: 0.50
observation_sources: scan bump
scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: false}
bump: {data_type: PointCloud2, topic: mobile_base/sensors/bumper_pointcloud, marking: true, clearing: false}
How to change these grey areas into white area in time?
One more thing, I think the grey areas attached to static object (black bold lines from wall and desk) in my map are thicker than I request like the grey area around the desk, how to make them thin? Thank you
Edit: one picture is replaced.
Dear (@Fernando\ Herrero), Thank you for your attention. So I should change the inflation radius smaller to be 0.20, i.e. 0.20m.
However, please note the second picture. The white lines are the laser scan, so the area in red ellipse is scanned but still in grey. Why? Thank you!
↧
↧
Navigation cmd_vel and TwistStamped
Hello,
I've set up the navigation stack on my robot. The issue is `move_base` is publishing the velocity commands on `cmd_vel` whose message is of type `Twist`, but my robot is subscribing to a topic called `base_velocity` whose message is of type `TwistStamped`. So as I understand, only [remapping](http://wiki.ros.org/roslaunch/XML/remap) wouldn't do the work. What can I do to remap topics of different message types.
Thanks
**Answer:** So I wrote the node below that converts `cmd_vel` messages to `base_velocity,`
#!/usr/bin/env python
import rospy
from geometry_msgs.msg import Twist, TwistStamped
import time
def callback(cmdVelocity):
baseVelocity = TwistStamped()
baseVelocity.twist = cmdVelocity
now = rospy.get_rostime()
baseVelocity.header.stamp.secs = now.secs
baseVelocity.header.stamp.nsecs = now.nsecs
baseVelocityPub = rospy.Publisher('base_velocity', TwistStamped, queue_size=10)
baseVelocityPub.publish(baseVelocity)
def cmd_vel_listener():
rospy.Subscriber("cmd_vel", Twist, callback)
rospy.spin()
if __name__ == '__main__':
rospy.init_node('cmd_vel_listener', anonymous=True)
cmd_vel_listener()
↧
base_scan observation buffer has not been updated
Hi, everyone
I am using Hokuyo UTM-30LX-EW for navigation. When I roslaunch .launch file for navigaiton, it always gives warning:
The base_scan observation buffer has not been updated for 0.66 seconds, and it should be updated every 0.4 seconds. I am not sure what's wrong with it, and how to get rid of the warning? Thanks.

These are the yaml files:
**local_costmap:**
publish_voxel_map: true
global_frame: /map
robot_base_frame: base_footprint
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 6.0
height: 6.0
resolution: 0.05
origin_x: 0.0
origin_y: 0.0
**global_costmap:**
global_frame: /map
robot_base_frame: base_footprint
update_frequency: 5.0
publish_frequency: 0.0
static_map: true
rolling_window: false
**costmap_common_params:**
map_type: voxel
origin_z: 0.0
z_resolution: 0.2
z_voxels: 10
unknown_threshold: 10
mark_threshold: 0
transform_tolerance: 0.3
obstacle_range: 3.0
max_obstacle_height: 2.0
raytrace_range: 5.0
footprint: [[0.176, -0.185], [-0.176, -0.185], [-0.411, 0.0], [-0.176, 0.185], [0.176, 0.185]]
footprint_padding: 0.00
inflation_radius: 0.55
cost_scaling_factor: 10.0
lethal_cost_threshold: 100
observation_sources: base_scan
base_scan: {data_type: LaserScan, expected_update_rate: 0.4,
observation_persistence: 0.0, marking: true, clearing: true, max_obstacle_height: 1.0, min_obstacle_height: 0.08}
↧
ROS navigation_stack implementation in custom robot
Trying to learn ROS while designing a generic software architecture to be used in various autonomous surface vehicles. If we use the navigation stack and the move_base package configured to our robots, my understanding is move_base will publish to a topic called "cmd_vel" that our base controllers should subscribe to. However we would like to be able to have a hiereachy control of who base_controller receives velocity inputs from for example using teleop or autonomous nagivation. Going through the tutorials it seems that all the turtlesim stuff like teleopkey the tf transform tutorial and standard rostopic pub msgs all publish to one topic that the "base controller" reads from. How should you handle conflicts in messages published to cmd_vel topics and/or use a hierachy controller that for example if teleopkey is active do not listen to messages from move_base or other navigation stacks.
↧