rst-tu-dortmund / teb_local_planner_tutorials Goto Github PK
View Code? Open in Web Editor NEWThis package contains supplementary material and examples for teb_local_planner tutorials.
This package contains supplementary material and examples for teb_local_planner tutorials.
Hi if I try to install the package via sudo apt-get install ros-kinetic-teb-local-planner-tutorials I get this error:
http://packages.ros.org/ros/ubuntu xenial/main amd64 ros-kinetic-teb-local-planner-tutorials amd64 0.2.2-0xenial-20190320-214757-0800
404 Not Found [IP: 64.50.233.100 80]
Installing by it from source worked with no problem.
I'm trying to run one of your tutorial examples for a carlike robot however I am encountering this error message below. I am using the same config files as in the tutorial for the carlike robot. Any ideas what's wrong?
ROS Distro: Kinetic
NODES
/
amcl (amcl/amcl)
map_server (map_server/map_server)
move_base (move_base/move_base)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
rviz (rviz/rviz)
ROS_MASTER_URI=http://192.168.0.15:11311
process[map_server-1]: started with pid [12123]
process[amcl-2]: started with pid [12124]
[ INFO] [1596022923.105448960]: Loading map from image "/home/nvidia/racecar-ws/src/racecar_nav/racecar_control/maps/office_corridor.pgm"
process[robot_state_publisher-3]: started with pid [12132]
process[rviz-4]: started with pid [12153]
process[move_base-5]: started with pid [12174]
[ INFO] [1596022923.188501803]: Read a 1024 X 1024 map @ 0.050 m/cell
[ INFO] [1596022923.497155113]: Subscribed to map topic.
[ INFO] [1596022923.679318227]: Received a 1024 X 1024 map @ 0.050 m/pix
[ INFO] [1596022923.800350587]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1596022923.935969236]: Done initializing likelihood field model.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
[move_base-5] process has died [pid 12174, exit code -6, cmd /home/nvidia/racecar-ws/devel/lib/move_base/move_base __name:=move_base __log:=/home/nvidia/.ros/log/be4eac8a-d18a-11ea-bbda-00044ba84f8d/move_base-5.log].
log file: /home/nvidia/.ros/log/be4eac8a-d18a-11ea-bbda-00044ba84f8d/move_base-5*.log
^[[33m[ WARN] [1596022923.970113586]: global_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided^[[0m
1 ^[[33m[ WARN] [1596022923.971636866]: global_costmap: Pre-Hydro parameter "map_type" unused since "plugins" is provided^[[0m
2 ^[[0m[ INFO] [1596022923.973848502]: global_costmap: Using plugin "static_layer"^[[0m
3 ^[[0m[ INFO] [1596022923.997815503]: Requesting the map...^[[0m
4 ^[[0m[ INFO] [1596022924.207625435]: Resizing costmap to 1024 X 1024 at 0.050000 m/pix^[[0m
5 ^[[0m[ INFO] [1596022924.306135233]: Received a 1024 X 1024 map at 0.050000 m/pix^[[0m
6 ^[[0m[ INFO] [1596022924.306185711]: Subscribing to updates^[[0m
7 ^[[0m[ INFO] [1596022924.327088735]: global_costmap: Using plugin "obstacle_layer"^[[0m
8 ^[[0m[ INFO] [1596022924.341171882]: Subscribed to Topics: laser_scan_sensor^[[0m
9 ^[[0m[ INFO] [1596022924.429135753]: global_costmap: Using plugin "inflation_layer"^[[0m
10 ^[[33m[ WARN] [1596022924.549366610]: local_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided^[[0m
11 ^[[33m[ WARN] [1596022924.550454065]: local_costmap: Pre-Hydro parameter "map_type" unused since "plugins" is provided^[[0m
12 ^[[0m[ INFO] [1596022924.552724786]: local_costmap: Using plugin "static_layer"^[[0m
13 ^[[0m[ INFO] [1596022924.565805623]: Requesting the map...^[[0m
14 ^[[0m[ INFO] [1596022924.571638651]: Resizing static layer to 1024 X 1024 at 0.050000 m/pix^[[0m
15 ^[[0m[ INFO] [1596022924.670827766]: Received a 1024 X 1024 map at 0.050000 m/pix^[[0m
16 ^[[0m[ INFO] [1596022924.680981053]: local_costmap: Using plugin "obstacle_layer"^[[0m
17 ^[[0m[ INFO] [1596022924.691879528]: Subscribed to Topics: laser_scan_sensor^[[0m
18 ^[[0m[ INFO] [1596022924.827972487]: Created local_planner teb_local_planner/TebLocalPlannerROS^[[0m
19 ^[[0m[ INFO] [1596022925.050979533]: Footprint model 'line' (line_start: [0,0]m, line_end: [0.4,0]m) loaded for trajectory optimization.^[[0m
20 ^[[0m[ INFO] [1596022925.051124092]: Parallel planning in distinctive topologies enabled.^[[0m
21 ^[[0m[ INFO] [1596022925.051198965]: No costmap conversion plugin specified. All occupied costmap cells are treaten as point obstacles.^[[0m
Hi, i try to get the laser raw data and transform it into map coordinates.
So my thought is to get the tf relationship between laser and map. First, I launch the robot_diff_drive.launch in tutorials. I see the ROBOT->TF->TREE in RVIZ, it shows the map -> odom -> base_footprint -> base_link -> base_laser_link.
Have i must to get all the tfs in the tree when i transform laser data into map coordinates?
When i get the tf, it show error that:
[ WARN] [1559374574.328688493, 2885.400000000]: failed to lookup transform: "base_laser_link" passed to lookupTransform argument target_frame does not exist.
Main function of my source code is:
int main(int argc, char **argv) { ros::init(argc, argv, "demo"); ros::NodeHandle nh; ros::Rate loop_rate(20); while (ros::ok()) { ros::spinOnce(); loop_rate.sleep(); tf2_ros::Buffer tfBuffer; try { geometry_msgs::TransformStamped transform = tfBuffer.lookupTransform("base_laser_link", "base_link", ros::Time(0)); } catch(tf2::LookupException& lE){ ROS_WARN("failed to lookup transform: %s", lE.what()); } } return 0; }
I enter the cmd
"rostopic echo /tf"
in terminal it show that:
`
header:
seq: 0
stamp:
secs: 2273
nsecs: 400000000
frame_id: "map"
child_frame_id: "odom"
transform:
translation:
x: 2.10539937296
y: 2.01924054354
z: 0.0
rotation:
x: -0.0
y: -0.0
z: 0.0097697207016
w: 0.99995227514
header:
seq: 0
stamp:
secs: 2272
nsecs: 400000000
frame_id: "base_link"
child_frame_id: "base_laser_link"
transform:
translation:
x: -0.1
y: 0.0
z: 0.29
rotation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
header:
seq: 0
stamp:
secs: 2272
nsecs: 400000000
frame_id: "base_footprint"
child_frame_id: "base_link"
transform:
translation:
x: 0.0
y: 0.0
z: 0.0
rotation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
header:
seq: 0
stamp:
secs: 2272
nsecs: 400000000
frame_id: "odom"
child_frame_id: "base_footprint"
transform:
translation:
x: 0.0
y: 0.0
z: 0.0
rotation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0
`
And i run the cmd "rosrun tf tf_echo base_laser_link base_link" ,the result is :
`
sph@sph-ThinkPad-W530:~$ rosrun tf tf_echo base_laser_link base_link
At time 5266.900
Can someone explain why tf have the frame_id but in C++ code it can't detect the frame_id?
Do i make mistake or error setting?
When i run
rosrun teb_local_planner_tutorials visualize_velocity_profile.py
I got some errors
Traceback (most recent call last): File "/home/cjt/turtlebot_ws/src/teb_local_planner_tutorials/scripts/visualize_velocity_profile.py", line 9, in <module> from teb_local_planner.msg import FeedbackMsg, TrajectoryMsg, TrajectoryPointMsg ImportError: No module named teb_local_planner.msg
It is not supposed to happen.Can anyone tell me how to solve this?
@rst-buildfarm @limhoff
When run the robot_diff_drive_in_stage_costmap_conversion.launch by:
roslaunch teb_local_planner_tutorials robot_diff_drive_in_stage_costmap_conversion.launch
There always has the following error happened:
terminate called after throwing an instance of boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument
[move_base-2] process has died [pid 29028, exit code -6, cmd /opt/ros/indigo/lib/move_base/move_base __name:=move_base __log:=/home/exbot/.ros/log/8d2784be-d612-11e6-82d2-000c29153a40/move_base-2.log].
Have this error appeared when you test above launch file, and how to solve those problems?
Can this package be released for Noetic?
teb_local_planner already exists in Noetic, so this would be a helpful addition.
Is there anything blocking the release that I can help with?
Hi,
I am unable to make turns with TEB local planner with a car like model. The robot doesnt turn and gets stuck. I have a turning radius of 3.7m. Please let me know if I have to change any particular parameter.
I use the cmd "roslaunch teb_local_planner_tutorials robot_diff_drive_in_stage.launch" to launch the planner. Before i don't need to know when the launch is finished.Now i have to detect when the launch finished.But i dont know if ros have some related function or cmd(any suggestion?).
My current thinking is to detect the message from launch,such as ROS_INFO"Loading map from image "/home/sph/catkin_ws/src/teb_local_planner_tutorials/maps/maze.png" after launch the .launch file., to jugg the launch is finished(I not sure the thinking is right?).
But i still dont understand where it come from and why it show in terminal.Can give some suggestion or am I do error setting?
The ROS_INFO list after "roslaunch teb_local_planner_tutorials robot_diff_drive_in_stage.launch" is :
`
[ INFO] [1559179186.040359834]: Loading map from image "/home/sph/catkin_ws/src/teb_local_planner_tutorials/maps/maze.png"
[ INFO] [1559179186.288335915]: Subscribed to map topic.
[ INFO] [1559179186.689422877, 0.400000000]: Read a 200 X 200 map @ 0.050 m/cell
[ INFO] [1559179186.895850372, 0.600000000]: Received a 200 X 200 map @ 0.050 m/pix
[ WARN] [1559179186.895892739, 0.600000000]: Frame_id of map received:'/map' doesn't match global_frame_id:'map'. This could cause issues with reading published topics
[ INFO] [1559179186.907754576, 0.600000000]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1559179186.918357768, 0.600000000]: Done initializing likelihood field model.
[ INFO] [1559179187.963063646, 1.700000000]: Using plugin "static_layer"
[ INFO] [1559179187.975082141, 1.700000000]: Requesting the map...
[ INFO] [1559179188.155809907, 1.900000000]: Resizing costmap to 200 X 200 at 0.050000 m/pix
[ INFO] [1559179188.256951645, 2.000000000]: Received a 200 X 200 map at 0.050000 m/pix
[ INFO] [1559179188.269821289, 2.000000000]: Using plugin "obstacle_layer"
[ INFO] [1559179188.273856818, 2.000000000]: Subscribed to Topics: laser_scan_sensor
[ INFO] [1559179188.321006716, 2.000000000]: Using plugin "inflation_layer"
[ INFO] [1559179188.412425890, 2.100000000]: Using plugin "static_layer"
[ INFO] [1559179188.419119554, 2.100000000]: Requesting the map...
[ INFO] [1559179188.423186303, 2.100000000]: Resizing static layer to 200 X 200 at 0.050000 m/pix
[ INFO] [1559179188.457461930, 2.200000000]: Received a 200 X 200 map at 0.050000 m/pix
[ INFO] [1559179188.464019282, 2.200000000]: Using plugin "obstacle_layer"
[ INFO] [1559179188.467258318, 2.200000000]: Subscribed to Topics: laser_scan_sensor
[ INFO] [1559179188.540650205, 2.200000000]: Created local_planner teb_local_planner/TebLocalPlannerROS
[ INFO] [1559179188.663688364, 2.400000000]: Footprint model 'point' loaded for trajectory optimization.
[ INFO] [1559179188.663775597, 2.400000000]: Parallel planning in distinctive topologies enabled.
[ INFO] [1559179188.663818864, 2.400000000]: No costmap conversion plugin specified. All occupied costmap cells are treaten as point obstacles.
[ INFO] [1559179189.565810261, 3.300000000]: Recovery behavior will clear layer obstacles
[ INFO] [1559179189.574691111, 3.300000000]: Recovery behavior will clear layer obstacles
[ INFO] [1559179189.625343276, 3.300000000]: odom received!
`
So , if i get the msg "odom received!", i can recognize the launch is finished.Is that right?
I'm using ROS Melodic and after building the modified version of ros_stage provided here, the tutorials on dynamic obstacles work fine except for the incorrect local cost map in RViz and the location of the robot.
I have attached the pictures, and I haven't been able to track down why the initialization is wrong. No such warning message shows up on the terminal. But it seems like the problem is with some TFs are missing in the dyn_obst_corridor_scenario
example.
It'll be great if someone can help me out with setting this up properly!
My workspace: Ubuntu 18.04LTS + melodic
I checked out melodic-devel branch, and followed the following tutorials http://wiki.ros.org/teb_local_planner/Tutorials/Track%20and%20include%20dynamic%20obstacles%20via%20costmap_converter
I run Corridor example:
$ roslaunch teb_local_planner_tutorials dyn_obst_costmap_conversion.launch
The following error showed frequently:
TF Exception that should never happen for sensor frame: , cloud frame: /robot_0/base_laser_link, Invalid argument "/robot_0/base_laser_link" passed to lookupTransform argument source_frame in tf2 frame_ids cannot start with a '/' like:
In the result, visualization in RVIZ is false, and can not put '2D Nav Goal'.
Even, I don't use source code but install teb_local_planner_tutorials package:
$ sudo apt-get install ros-melodic-teb-local-planner-tutorials
I still had had this error
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.