ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Obstacle avoidance with Open Planner

asked 2021-04-28 05:23:28 -0600

Thiago de Borba gravatar image

updated 2021-04-28 06:53:24 -0600

Hello, I am using Autoware.ai 1.14 + Carla-Autoware bridge and I am trying to implement obstacle avoidance with Open planner. I launched Voxel grid and ray ground filters, Op global planner, NDT matching, euclidean cluster and Kf contour track. For local planning I launched all Op local planner nodes with enable avoidance selected. However, when I launch the op_behaviour_selector the /Behaviour_state goes from forward and directly to END. So when I launch Twist filter and pure pursuit, the vehicle remains stopped. How can I solve this?

edit retag flag offensive close merge delete

Comments

If I launch all nodes instead of op_trajectory_evaluator, the state remains init. When I launch the op_trajectory_evaluator, the state goes directly to END.

Thiago de Borba gravatar image Thiago de Borba  ( 2021-04-28 06:07:57 -0600 )edit

also to understand your issue better, kindly post screen shots, or link to youtube screen recording of the steps and error you are facing

Hatem gravatar image Hatem  ( 2021-04-28 06:32:12 -0600 )edit

I cant upload pictures. I can send you per email.

Thiago de Borba gravatar image Thiago de Borba  ( 2021-04-28 07:01:34 -0600 )edit

upload to YouTube or any web server and share links

Hatem gravatar image Hatem  ( 2021-04-28 09:56:51 -0600 )edit

@Thiago de Borba I've given you enough karma to upload images/gifs directly to your question if needed

jayess gravatar image jayess  ( 2021-04-28 15:13:43 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
1

answered 2021-04-28 06:31:14 -0600

Hatem gravatar image

Kindly first check the discussions in the following questions:

And please check the attached documents with the openplanner-wg from the Autoware slack channels

the bottom line is, I will not be able to debug your issue on Autoware 1.14, if you use 1.13 + OpenPlanner 2.0 then I might be able to help you,

we are working now to import OpenPlanner 2.5 to Autoware 1.15 (master).

edit flag offensive delete link more

Comments

Thank you for the answer! I can detect the objects and the trajectory evaluation node generate the trajectory based on the detection. the only problem is If I launch all nodes instead of op_trajectory_evaluator, the state remains init. When I launch the op_trajectory_evaluator, the state goes directly to END. Could you please help me solve this?

Thiago de Borba gravatar image Thiago de Borba  ( 2021-04-28 06:46:16 -0600 )edit

now when I launch Open global planner , op common and op trajectory generator the system says Received new Global Path Generator and do not generate the local trajectories. If I use the 2d pose and localize again it show the local trajectory but in sequence when I launch the trajectory evaluator the system says Synchronisation at trajector evaluator... Received new global path evaluator. And this time it does no generates the Local eval trajectory. Do you know how do I solve it?

Thiago de Borba gravatar image Thiago de Borba  ( 2021-04-28 08:54:05 -0600 )edit

Can you create a screen recording video of the steps , uploaded to youtube and share the link. there could be 10s of reasons causing this issue, at least I can eliminate the obvious one from seeing the video. in the video it is important to show the terminal of the runtime manager

Hatem gravatar image Hatem  ( 2021-04-29 04:12:13 -0600 )edit
1

answered 2022-01-19 13:01:48 -0600

Vini71 gravatar image

updated 2022-01-19 13:07:45 -0600

Hi Thiago, I had this issue in my simulations too.... there is a "trick" here to put the vehicle moving. In Autoware_AI runtime_manager in the mission_planning* tab you must add the following launch file: "my_mission_planning.launch":

<launch>
  <arg name="map_source" default="0" /> <!-- Autoware=0, Vector Map Folder=1, kml file=2 -->


  <!-- dp_planner -->
  <include file="$(find dp_planner)/launch/dp_planner.launch">
    <arg name="mapSource" value="$(arg map_source)"/>
  </include>


</launch>

For some reason, the Open Planner needs to be fed with the dp_planner in order to work. I guess It feeds the local planner in order to create the rollout local planners trajectory.

Regarding your second issue: The vehicle remains stopped The trick is to add a ROS node from pure pursuit, just launch the Pure Pursuit and and Twist Filter launch files are not enough...

Therefore in the motion_planning Tab, the launch file "my_motion_planning.launch" must contain these launch files and the pure_pursuit ROS node block (under "--rosrun waypoint_follower pure_pursuit--" ):

<launch>

  <!-- Vehicle Contorl -->
  <include file="$(find runtime_manager)/launch_files/vehicle_socket.launch"/>


  <!-- pure_pursuit -->
  <!-- Copied $(find pure_pursuit)/launch/pure_pursuit.launch to use respawn attribute. -->
  <arg name="is_linear_interpolation" default="True"/>
  <arg name="publishes_for_steering_robot" default="False"/>
  <arg name="add_virtual_end_waypoints" default="False"/>
  <arg name="const_lookahead_distance" default="4.0"/>
  <arg name="const_velocity" default="5.0"/>
  <arg name="lookahead_ratio" default="2.0"/>
  <arg name="minimum_lookahead_distance" default="6.0"/>

  <!-- 0 = waypoints, 1 = provided constant velocity -->
  <arg name="velocity_source" default="0"/>

  <!-- rosrun waypoint_follower pure_pursuit -->
  <node pkg="pure_pursuit" type="pure_pursuit" name="pure_pursuit" output="log" respawn="true" respawn_delay="10">
    <param name="is_linear_interpolation" value="$(arg is_linear_interpolation)"/>
    <param name="publishes_for_steering_robot" value="$(arg publishes_for_steering_robot)"/>
    <param name="add_virtual_end_waypoints" value="$(arg add_virtual_end_waypoints)"/>
    <param name="const_lookahead_distance" value="$(arg const_lookahead_distance)"/>
    <param name="const_velocity" value="$(arg const_velocity)"/>
    <param name="lookahead_ratio" value="$(arg lookahead_ratio)"/>
    <param name="minimum_lookahead_distance" value="$(arg minimum_lookahead_distance)"/>
    <param name="velocity_source" value="$(arg velocity_source)"/>
  </node>

  <!-- twist_filter -->
  <include file="$(find twist_filter)/launch/twist_filter.launch"/>

</launch>

I believe now OpenPlanner must work, at least worked for me, but I used LGSVL simulator, instead CARLA.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2021-04-28 05:23:28 -0600

Seen: 732 times

Last updated: Jan 19 '22