Comments (9)
@at first the trajectory is ok,but then,the red will be close to the obstacles,at last,the uav will collide the the obstacles.
from ego-planner-v2.
from ego-planner-v2.
@ZhepeiWang please do me a favor
from ego-planner-v2.
这是所有设置的参数
<arg name="drone_id" value="0"/>
<arg name="planning_horizon" value="7.5" />
<arg name="use_multitopology_trajs" value="false" />
<arg name="max_vel" value="1" />
<arg name="max_acc" value="0.5" />
<arg name="max_jer" value="10.0" />
<arg name="odom_topic" value="/m100/ground_truth/odometry"/>
<arg name="cloud_topic" value="/velodyne_points"/>
<arg name="camera_pose_topic" value="pcl_render_node/camera_pose"/>
<arg name="depth_topic" value="pcl_render_node/depth"/>
<arg name="cx" value="321.04638671875"/>
<arg name="cy" value="243.44969177246094"/>
<arg name="fx" value="387.229248046875"/>
<arg name="fy" value="387.229248046875"/>
<node pkg="ego_planner" name="drone_$(arg drone_id)_ego_planner_node" type="ego_planner_node" output="screen">
<remap from="~odom_world" to="$(arg odom_topic)"/>
<remap from="~planning/trajectory" to = "/drone_$(arg drone_id)_planning/trajectory"/>
<remap from="~planning/heartbeat" to = "/drone_$(arg drone_id)_traj_server/heartbeat"/>
<remap from="/goal" to = "/goal_with_id"/>
<remap from="~grid_map/odom" to="$(arg odom_topic)"/>
<remap from="~grid_map/cloud" to="$(arg cloud_topic)"/>
<remap from="~grid_map/pose" to = "$(arg camera_pose_topic)"/>
<remap from="~grid_map/depth" to = "$(arg depth_topic)"/>
<!-- planning fsm -->
<param name="fsm/thresh_replan_time" value="1.0" type="double"/>
<param name="fsm/planning_horizon" value="$(arg planning_horizon)" type="double"/>
<param name="fsm/emergency_time" value="1.0" type="double"/>
<param name="fsm/fail_safe" value="true"/>
<param name="grid_map/resolution" value="0.1" />
<param name="grid_map/map_size_x" value="$(arg map_size_x)" />
<param name="grid_map/map_size_y" value="$(arg map_size_y)" />
<param name="grid_map/map_size_z" value="$(arg map_size_z)" />
<param name="grid_map/local_update_range_x" value="10" />
<param name="grid_map/local_update_range_y" value="10" />
<param name="grid_map/local_update_range_z" value="10" />
<param name="grid_map/obstacles_inflation" value="0.1" />
<param name="grid_map/local_map_margin" value="10"/>
<param name="grid_map/enable_virtual_wall" value="false"/>
<param name="grid_map/virtual_ceil" value="3.0"/>
<param name="grid_map/virtual_ground" value="-0.1"/>
<param name="grid_map/ground_height" value="-0.01"/>
<!-- camera parameter -->
<param name="grid_map/cx" value="$(arg cx)"/>
<param name="grid_map/cy" value="$(arg cy)"/>
<param name="grid_map/fx" value="$(arg fx)"/>
<param name="grid_map/fy" value="$(arg fy)"/>
<!-- depth filter -->
<param name="grid_map/use_depth_filter" value="true"/>
<param name="grid_map/depth_filter_tolerance" value="0.15"/>
<param name="grid_map/depth_filter_maxdist" value="5.0"/>
<param name="grid_map/depth_filter_mindist" value="0.2"/>
<param name="grid_map/depth_filter_margin" value="2"/>
<param name="grid_map/k_depth_scaling_factor" value="1000.0"/>
<param name="grid_map/skip_pixel" value="2"/>
<!-- local fusion -->
<param name="grid_map/p_hit" value="0.65"/>
<param name="grid_map/p_miss" value="0.35"/>
<param name="grid_map/p_min" value="0.12"/>
<param name="grid_map/p_max" value="0.90"/>
<param name="grid_map/p_occ" value="0.80"/>
<param name="grid_map/fading_time" value="1000.0"/>
<param name="grid_map/min_ray_length" value="0.1"/>
<param name="grid_map/max_ray_length" value="4.5"/>
<param name="grid_map/visualization_truncate_height" value="20"/>
<param name="grid_map/show_occ_time" value="false"/>
<param name="grid_map/pose_type" value="1"/>
<param name="grid_map/frame_id" value="world"/>
<!-- planner manager -->
<param name="manager/max_vel" value="$(arg max_vel)" type="double"/>
<param name="manager/max_acc" value="$(arg max_acc)" type="double"/>
<param name="manager/polyTraj_piece_length" value="1.5" type="double"/>
<param name="manager/feasibility_tolerance" value="0.05" type="double"/>
<param name="manager/planning_horizon" value="$(arg planning_horizon)" type="double"/>
<param name="manager/use_multitopology_trajs" value="$(arg use_multitopology_trajs)" type="bool"/>
<param name="manager/drone_id" value="$(arg drone_id)"/>
<!-- trajectory optimization -->
<param name="optimization/constraint_points_perPiece" value="5" type="int"/>
<param name="optimization/weight_obstacle" value="10000.0" type="double"/>
<param name="optimization/weight_obstacle_soft" value="5000.0" type="double"/>
<param name="optimization/weight_swarm" value="10000.0" type="double"/>
<param name="optimization/weight_feasibility" value="10000.0" type="double"/>
<param name="optimization/weight_sqrvariance" value="10000.0" type="double"/>
<param name="optimization/weight_time" value="10.0" type="double"/>
<param name="optimization/obstacle_clearance" value="1.5" type="double"/>
<param name="optimization/obstacle_clearance_soft" value="0.4" type="double"/>
<param name="optimization/swarm_clearance" value="0.15000000000000002" type="double"/>
<param name="optimization/max_vel" value="$(arg max_vel)" type="double"/>
<param name="optimization/max_acc" value="$(arg max_acc)" type="double"/>
<param name="optimization/max_jer" value="$(arg max_jer)" type="double"/>
</node>
<!-- trajectory server -->
<node pkg="ego_planner" name="drone_$(arg drone_id)_traj_server" type="traj_server" output="screen">
<remap from="position_cmd" to="drone_$(arg drone_id)_planning/pos_cmd"/>
<remap from="~planning/trajectory" to="drone_$(arg drone_id)_planning/trajectory"/>
<param name="traj_server/time_forward" value="1.0" type="double"/>
</node>
<!-- rotors仿真器 -->
<include file="$(find mbplanner)/launch/mbplanner_m100_sim_cave2.launch">
</include>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find ego_planner)/launch/mbp.rviz" required="true">
</node>
from ego-planner-v2.
I think it is necessary to copy the optimized trajectory, that is, the safe distance of the up, down, left, and right of the red trajectory, to generate a trajectory, and then detect the safety of each trajectory to prevent the trajectory from being close to obstacles, and The above mentioned bugs
from ego-planner-v2.
A collision means you have to enlarge the inflation.
from ego-planner-v2.
from ego-planner-v2.
It's just an instruction. You can following it to enlarge the resolution as well.
from ego-planner-v2.
from ego-planner-v2.
Related Issues (20)
- Hardware list HOT 1
- Running the RVIZ node does not load the preset white grid
- Drone movement is too aggressive HOT 34
- Why is multi-threaded spinner not used? HOT 12
- How is 3d point converted to 1D representation in buffer HOT 2
- 2D planning? HOT 3
- Planner not planning the path and not stopping the drone at the end of trajectory HOT 7
- few questions related to inter drone communication HOT 10
- Planner Unable to create plan in case of wide obstacles HOT 5
- If the given target point only changes the z axis, no one will be able to rotate and rise. Is this a bug? HOT 1
- software of FMU
- Sorry for a meaningless pull request
- Localization and drift correction HOT 1
- ID identification problem between drones
- Sub-optimal paths when planning around obstacles
- the drone_detect package seems not work HOT 2
- Drone node died when checkcollisionCallback and replan traj call planfromlocaltraj at the same time
- How to ensure the dynamics feasibility in trajectory optimization?
- occupancy grid not updating HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ego-planner-v2.