Tangsong_xu 2023-06-24 11:52 采纳率: 0%
浏览 71

FastPlanner的无人机自主飞行Gazebo仿真

1. 最近在学习FastPlanner的无人机自主飞行Gazebo仿真;遇到了一些问题,希望大家帮个忙解决下,谢谢!
系统、ROS、noetic、nlopt如下:

l@l-OptiPlex-5050:~/fast-planner$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:    20.04
Codename:    focal
l@l-OptiPlex-5050:~/fast-planner$ rosversion -d
noetic
l@l-OptiPlex-5050:~/fast-planner$ dpkg-query -l "*nlopt*"
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触>
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称                    版本                          体系结构     描述
+++-=======================-=============================-============-========>
ii  libnlopt-dev:amd64      2.6.1-8ubuntu2                amd64        nonlinea>
ii  libnlopt0:amd64         2.6.1-8ubuntu2                amd64        nonlinea>
ii  ros-noetic-nlopt        2.1.21-1focal.20200826.175650 amd64        nlopt
ii  ros-noetic-nlopt-dbgsym 2.1.21-1focal.20200826.175650 amd64        debug sy>

我按照:
代码原址https://gitcode.net/mirrors/hkust-aerial-robotics/Fast-Planner?utm_source=csdn_github_accelerator
所有的步骤到 catkin_make都没问题100%completed,进行仿真的时候,发现没有显示四旋翼模型,继续点击2D Nav Goal,本来因该在地图中点击一个点、生成一个新的轨迹将立即并由无人机执行,但是系统出现错误情况:

[fast_planner_node-2] process has died [pid 196492, exit code -11, cmd /home/l/fast-planner/devel/lib/plan_manage/fast_planner_node /odom_world:=/state_ukf/odom /sdf_map/odom:=/state_ukf/odom /sdf_map/cloud:=/pcl_render_node/cloud /sdf_map/pose:=/pcl_render_node/camera_pose /sdf_map/depth:=/pcl_render_node/depth __name:=fast_planner_node __log:=/home/l/.ros/log/ef25282e-123d-11ee-8b6b-8967b81fecdc/fast_planner_node-2.log].
log file: /home/l/.ros/log/ef25282e-123d-11ee-8b6b-8967b81fecdc/fast_planner_node-2*.log

这个时候Rviz数据还在变化,按照代码原址说的“Unexpected crash”解决方法,我:
①重新安装了nlopt版本是2.6.2,而且按他的方法添加了nlopt安装地址
还是出现点击2D Nav Goal后崩溃,显示不了四旋翼模型和路径,不知道是什么问题。

我以为是没有camke导致的,于是继续**(Fast_Planner)**文档下:

rm -rf build devel
mkdir build 
cd build 
camke ../src
make

仿真后,还是出现点击2D Nav Goal后崩溃,显示不了四旋翼模型和路径,不知道是什么问题。

于是干脆**(Fast_Planner)文档下:
rm -rf build devel
然后直接catkin_make,没问题
仿真后,还是出现点击
2D Nav Goal**后崩溃,显示不了四旋翼模型和路径,不知道是什么问题。

2. 代码过程界面:

l@l-OptiPlex-5050:~/fast-planner$ roslaunch plan_manage kino_replan.launch
... logging to /home/l/.ros/log/ac33b4b0-1240-11ee-8b6b-8967b81fecdc/roslaunch-l-OptiPlex-5050-200032.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://l-OptiPlex-5050:44987/

SUMMARY
========

PARAMETERS
 * /fast_planner_node/bspline/limit_acc: 2.0
 * /fast_planner_node/bspline/limit_ratio: 1.1
 * /fast_planner_node/bspline/limit_vel: 3.0
 * /fast_planner_node/fsm/flight_type: 1
 * /fast_planner_node/fsm/thresh_no_replan: 2.0
 * /fast_planner_node/fsm/thresh_replan: 1.5
 * /fast_planner_node/fsm/waypoint0_x: 19.0
 * /fast_planner_node/fsm/waypoint0_y: 0.0
 * /fast_planner_node/fsm/waypoint0_z: 1.0
 * /fast_planner_node/fsm/waypoint1_x: -19.0
 * /fast_planner_node/fsm/waypoint1_y: 0.0
 * /fast_planner_node/fsm/waypoint1_z: 1.0
 * /fast_planner_node/fsm/waypoint2_x: 0.0
 * /fast_planner_node/fsm/waypoint2_y: 19.0
 * /fast_planner_node/fsm/waypoint2_z: 1.0
 * /fast_planner_node/fsm/waypoint_num: 2
 * /fast_planner_node/manager/clearance_threshold: 0.2
 * /fast_planner_node/manager/control_points_distance: 0.5
 * /fast_planner_node/manager/dynamic_environment: 0
 * /fast_planner_node/manager/local_segment_length: 6.0
 * /fast_planner_node/manager/max_acc: 2.0
 * /fast_planner_node/manager/max_jerk: 4.0
 * /fast_planner_node/manager/max_vel: 3.0
 * /fast_planner_node/manager/use_geometric_path: False
 * /fast_planner_node/manager/use_kinodynamic_path: True
 * /fast_planner_node/manager/use_optimization: True
 * /fast_planner_node/manager/use_topo_path: False
 * /fast_planner_node/optimization/algorithm1: 15
 * /fast_planner_node/optimization/algorithm2: 11
 * /fast_planner_node/optimization/dist0: 0.4
 * /fast_planner_node/optimization/lambda1: 10.0
 * /fast_planner_node/optimization/lambda2: 5.0
 * /fast_planner_node/optimization/lambda3: 1e-05
 * /fast_planner_node/optimization/lambda4: 0.01
 * /fast_planner_node/optimization/lambda7: 100.0
 * /fast_planner_node/optimization/max_acc: 2.0
 * /fast_planner_node/optimization/max_iteration_num1: 2
 * /fast_planner_node/optimization/max_iteration_num2: 300
 * /fast_planner_node/optimization/max_iteration_num3: 200
 * /fast_planner_node/optimization/max_iteration_num4: 200
 * /fast_planner_node/optimization/max_iteration_time1: 0.0001
 * /fast_planner_node/optimization/max_iteration_time2: 0.005
 * /fast_planner_node/optimization/max_iteration_time3: 0.003
 * /fast_planner_node/optimization/max_iteration_time4: 0.003
 * /fast_planner_node/optimization/max_vel: 3.0
 * /fast_planner_node/optimization/order: 3
 * /fast_planner_node/planner_node/planner: 1
 * /fast_planner_node/sdf_map/cx: 321.04638671875
 * /fast_planner_node/sdf_map/cy: 243.44969177246094
 * /fast_planner_node/sdf_map/depth_filter_margin: 2
 * /fast_planner_node/sdf_map/depth_filter_maxdist: 5.0
 * /fast_planner_node/sdf_map/depth_filter_mindist: 0.2
 * /fast_planner_node/sdf_map/depth_filter_tolerance: 0.15
 * /fast_planner_node/sdf_map/esdf_slice_height: 0.3
 * /fast_planner_node/sdf_map/frame_id: world
 * /fast_planner_node/sdf_map/fx: 387.229248046875
 * /fast_planner_node/sdf_map/fy: 387.229248046875
 * /fast_planner_node/sdf_map/ground_height: -1.0
 * /fast_planner_node/sdf_map/k_depth_scaling_factor: 1000.0
 * /fast_planner_node/sdf_map/local_bound_inflate: 0.0
 * /fast_planner_node/sdf_map/local_map_margin: 50
 * /fast_planner_node/sdf_map/local_update_range_x: 5.5
 * /fast_planner_node/sdf_map/local_update_range_y: 5.5
 * /fast_planner_node/sdf_map/local_update_range_z: 4.5
 * /fast_planner_node/sdf_map/map_size_x: 40.0
 * /fast_planner_node/sdf_map/map_size_y: 20.0
 * /fast_planner_node/sdf_map/map_size_z: 5.0
 * /fast_planner_node/sdf_map/max_ray_length: 4.5
 * /fast_planner_node/sdf_map/min_ray_length: 0.5
 * /fast_planner_node/sdf_map/obstacles_inflation: 0.099
 * /fast_planner_node/sdf_map/p_hit: 0.65
 * /fast_planner_node/sdf_map/p_max: 0.9
 * /fast_planner_node/sdf_map/p_min: 0.12
 * /fast_planner_node/sdf_map/p_miss: 0.35
 * /fast_planner_node/sdf_map/p_occ: 0.8
 * /fast_planner_node/sdf_map/pose_type: 1
 * /fast_planner_node/sdf_map/resolution: 0.1
 * /fast_planner_node/sdf_map/show_esdf_time: False
 * /fast_planner_node/sdf_map/show_occ_time: False
 * /fast_planner_node/sdf_map/skip_pixel: 2
 * /fast_planner_node/sdf_map/use_depth_filter: True
 * /fast_planner_node/sdf_map/virtual_ceil_height: 2.5
 * /fast_planner_node/sdf_map/visualization_truncate_height: 2.49
 * /fast_planner_node/search/allocate_num: 100000
 * /fast_planner_node/search/check_num: 5
 * /fast_planner_node/search/horizon: 7.0
 * /fast_planner_node/search/init_max_tau: 0.8
 * /fast_planner_node/search/lambda_heu: 5.0
 * /fast_planner_node/search/margin: 0.2
 * /fast_planner_node/search/max_acc: 2.0
 * /fast_planner_node/search/max_tau: 0.6
 * /fast_planner_node/search/max_vel: 3.0
 * /fast_planner_node/search/resolution_astar: 0.1
 * /fast_planner_node/search/time_resolution: 0.8
 * /fast_planner_node/search/w_time: 10.0
 * /odom_visualization/color/a: 1.0
 * /odom_visualization/color/b: 1.0
 * /odom_visualization/color/g: 0.0
 * /odom_visualization/color/r: 0.0
 * /odom_visualization/covariance_scale: 100.0
 * /odom_visualization/robot_scale: 1.0
 * /pcl_render_node/cam_cx: 321.04638671875
 * /pcl_render_node/cam_cy: 243.44969177246094
 * /pcl_render_node/cam_fx: 387.229248046875
 * /pcl_render_node/cam_fy: 387.229248046875
 * /pcl_render_node/cam_height: 480
 * /pcl_render_node/cam_width: 640
 * /pcl_render_node/estimation_rate: 30.0
 * /pcl_render_node/map/x_size: 40.0
 * /pcl_render_node/map/y_size: 20.0
 * /pcl_render_node/map/z_size: 5.0
 * /pcl_render_node/sensing_horizon: 5.0
 * /pcl_render_node/sensing_rate: 30.0
 * /quadrotor_simulator_so3/rate/odom: 200.0
 * /quadrotor_simulator_so3/simulator/init_state_x: -19.0
 * /quadrotor_simulator_so3/simulator/init_state_y: -0.0
 * /quadrotor_simulator_so3/simulator/init_state_z: 1.0
 * /random_forest/ObstacleShape/lower_hei: 0.0
 * /random_forest/ObstacleShape/lower_rad: 0.5
 * /random_forest/ObstacleShape/radius_h: 0.5
 * /random_forest/ObstacleShape/radius_l: 0.7
 * /random_forest/ObstacleShape/seed: -1
 * /random_forest/ObstacleShape/theta: 0.5
 * /random_forest/ObstacleShape/upper_hei: 3.0
 * /random_forest/ObstacleShape/upper_rad: 0.7
 * /random_forest/ObstacleShape/z_h: 0.8
 * /random_forest/ObstacleShape/z_l: 0.7
 * /random_forest/init_state_x: -19.0
 * /random_forest/init_state_y: -0.0
 * /random_forest/map/circle_num: 10
 * /random_forest/map/obs_num: 150
 * /random_forest/map/resolution: 0.1
 * /random_forest/map/x_size: 40.0
 * /random_forest/map/y_size: 20.0
 * /random_forest/map/z_size: 5.0
 * /random_forest/sensing/radius: 5.0
 * /random_forest/sensing/rate: 10.0
 * /rosdistro: noetic
 * /rosversion: 1.16.0
 * /so3_control/corrections/p: 0.0
 * /so3_control/corrections/r: 0.0
 * /so3_control/corrections/z: 0.0
 * /so3_control/gains/ang/x: 0.07
 * /so3_control/gains/ang/y: 0.07
 * /so3_control/gains/ang/z: 0.1
 * /so3_control/gains/pos/x: 2.0
 * /so3_control/gains/pos/y: 2.0
 * /so3_control/gains/pos/z: 3.5
 * /so3_control/gains/rot/x: 1.0
 * /so3_control/gains/rot/y: 1.0
 * /so3_control/gains/rot/z: 1.0
 * /so3_control/gains/vel/x: 1.8
 * /so3_control/gains/vel/y: 1.8
 * /so3_control/gains/vel/z: 2.0
 * /so3_control/mass: 0.74
 * /so3_control/use_angle_corrections: False
 * /so3_control/use_external_yaw: False
 * /traj_server/traj_server/time_forward: 1.5
 * /waypoint_generator/waypoint_type: manual-lonely-way...

NODES
  /
    fast_planner_node (plan_manage/fast_planner_node)
    odom_visualization (odom_visualization/odom_visualization)
    pcl_render_node (local_sensing_node/pcl_render_node)
    quadrotor_simulator_so3 (so3_quadrotor_simulator/quadrotor_simulator_so3)
    random_forest (map_generator/random_forest)
    so3_control (nodelet/nodelet)
    so3_disturbance_generator (so3_disturbance_generator/so3_disturbance_generator)
    traj_server (plan_manage/traj_server)
    waypoint_generator (waypoint_generator/waypoint_generator)

ROS_MASTER_URI=http://localhost:11311

process[fast_planner_node-1]: started with pid [200053]
process[traj_server-2]: started with pid [200054]
process[waypoint_generator-3]: started with pid [200055]
process[random_forest-4]: started with pid [200056]
process[quadrotor_simulator_so3-5]: started with pid [200064]
process[so3_control-6]: started with pid [200069]
process[so3_disturbance_generator-7]: started with pid [200075]
type is so3_control/SO3ControlNodelet
process[odom_visualization-8]: started with pid [200076]
process[pcl_render_node-9]: started with pid [200083]
hit: 0.619039
miss: -0.619039
min log: -1.99243
max: 2.19722
thresh log: 1.38629
origin_: -20 -10  -1
map size: 40 20  5
[ WARN] [1687577956.117624808]: Finished generate random map 
[ WARN] [1687577956.186992776]: Global Pointcloud received..
[ WARN] [1687577956.534875945]: [Traj server]: ready.
[FSM]: from INIT to WAIT_TARGET
[FSM]: state: WAIT_TARGET
[FSM]: state: WAIT_TARGET
[FSM]: state: WAIT_TARGET
[FSM]: state: WAIT_TARGET
[FSM]: state: WAIT_TARGET
[FSM]: state: WAIT_TARGET
Triggered!
[TRIG]: from WAIT_TARGET to GEN_NEW_TRAJ
[kino replan]: -----------------------
start: -19   0   0, 0 0 0, 0 0 0
goal: -1.16231 -0.436746         1, 0 0 0
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Stack trace (most recent call last):
#8    Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
#7    Object "/home/l/fast-planner/devel/lib/libpath_searching.so", at 0x7f5e2faba570, in 
#6    Object "/home/l/fast-planner/devel/lib/plan_manage/fast_planner_node", at 0x55f8dad698f3, in Eigen::internal::throw_std_bad_alloc()
#5    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f5e2f0ff6a8, in __cxa_throw
#4    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f5e2f0ff3f6, in std::terminate()
#3    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f5e2f0ff38b, in 
#2    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f5e2f0f3910, in 
#1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f5e2ed1b858, in abort
#0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f5e2ed3bf7b, in gsignal
Segmentation fault (Signal sent by the kernel [(nil)])
[fast_planner_node-1] process has died [pid 200053, exit code -11, cmd /home/l/fast-planner/devel/lib/plan_manage/fast_planner_node /odom_world:=/state_ukf/odom /sdf_map/odom:=/state_ukf/odom /sdf_map/cloud:=/pcl_render_node/cloud /sdf_map/pose:=/pcl_render_node/camera_pose /sdf_map/depth:=/pcl_render_node/depth __name:=fast_planner_node __log:=/home/l/.ros/log/ac33b4b0-1240-11ee-8b6b-8967b81fecdc/fast_planner_node-1.log].
log file: /home/l/.ros/log/ac33b4b0-1240-11ee-8b6b-8967b81fecdc/fast_planner_node-1*.log


3. Rviz界面如下:

img

  • 写回答

2条回答 默认 最新

  • 泡沫o0 2023年度博客之星上海赛道TOP 1 2023-06-24 12:20
    关注

    这个问题可能是由于内存分配失败导致的。错误信息中的 "std::bad_alloc" 表示在试图分配内存时失败了。这可能是因为你的系统内存不足,或者你的程序试图分配的内存超过了系统允许的最大值。

    这个问题可能需要一些调试才能解决。以下是一些可能的解决方案:

    1. 检查你的系统内存使用情况。你可以使用 free -h 命令来查看你的系统内存使用情况。如果你的系统内存不足,你可能需要关闭一些不必要的程序,或者增加你的系统内存。

    2. 检查你的程序是否有内存泄漏。内存泄漏是指程序分配了内存,但是没有正确地释放。这会导致程序随着时间的推移消耗越来越多的内存,最终可能导致内存耗尽。你可以使用一些工具,如 Valgrind,来检查你的程序是否有内存泄漏。

    3. 检查你的程序是否试图分配大量内存。如果你的程序试图一次性分配大量内存,可能会超过系统允许的最大值,导致分配失败。你可能需要修改你的程序,使其分配更小的内存块,或者分散内存分配的时间。

    4. 如果你的程序是多线程的,可能存在竞态条件,导致多个线程同时试图分配内存。你可能需要使用一些同步机制,如互斥锁,来确保在任何时候只有一个线程在分配内存。

    5. 在某些情况下,你可能需要增加你的系统允许的最大内存分配量。你可以使用 ulimit -a 命令来查看你的系统当前的限制,然后使用 ulimit -v 命令来增加虚拟内存的限制。但是,请注意,这可能会导致你的系统变得不稳定,因此只有在你确信你的程序需要更多内存,并且你的系统有足够的物理内存来支持这个限制的情况下,才应该这样做。

    以上是一些可能的解决方案,但是具体的解决方案可能需要根据你的程序和系统的具体情况来确定。如果你不确定如何解决这个问题,你可能需要寻求专业的帮助。

    评论

报告相同问题?

问题事件

  • 修改了问题 6月24日
  • 创建了问题 6月24日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使