导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    Xiaoqiang tutorial (19) usage of NLlinepatrol_planner

    产品服务
    1
    1
    1081
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 weijiz 编辑

      Xiaoqiang Homepage

      The NLlinepatrol_planner included with Xiaoqiang’s host is a global path planner for visual navigation. According to Xiaoqiang’s output visual trajectory (for visual trajectory files, please refer to this post), it can output a global path link to Xiaoqiang’s current position and destination target point. It will be demonstrated below using a simulation example. The main idea is: a python script publishes virtual visual odometers and related tf trees. Another python script publishes target points to the move_base node. Finally, the move_base node obtains a global path by calling NLlinepatrol_planner and displays it in rviz.

      1. Configure NLlinepatrol_planner

      To use NLlinepatrol_planner, you need to provide visual trajectory file that NLlinepatrol_planner will read and (transformation parameters) file that is required for the coordinate transformation of the track, both files should be placed in the data folder under NLlinepatrol_planner, the file name is arbitrary, by configuring the related parameters in move_base You can specify the file that NLlinepatrol_planner reads, as explained below.

      0_1537580986505_714f44c3-a806-4a4b-b186-823cd43cd688-image.png

      In the figure above, nav1.csv is the visual trajectory file and TFSettings.txt is the transformation parameter file (the first row is the 9 elements of the rotation matrix, the array elements are arranged in the row of the c language, and the second row is the xyz of the translation vector. Components, the third one is the scale factor)

      2.Make a move_base launch file

      In this tutorial, we have provided the relevant launch file in the launch folder of the nav_test package. The file name is xq_move_base_blank_map2.launch. This launch file can be used as a template during actual use. Please pay attention to the following figure.

      0_1537581045003_d6b7246a-e65e-49c7-bbb7-c78ded924588-image.png

      The launch file will call the xq_move_base2.launch file. The xq_move_base2.launch file is also in the current directory. The contents are as follows:

      <launch>
          <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
          <param name="base_global_planner" value="NLlinepatrol_planner/NLlinepatrolPlanner"/>
          <rosparam file="$(find nav_test)/config/NLlinepatrol/costmap_common_params.yaml" command="load" ns="global_costmap" />
          <rosparam file="$(find nav_test)/config/NLlinepatrol/costmap_common_params.yaml" command="load" ns="local_costmap" />
          <rosparam file="$(find nav_test)/config/NLlinepatrol/local_costmap_params.yaml" command="load" />
          <rosparam file="$(find nav_test)/config/NLlinepatrol/global_costmap_params.yaml" command="load" />
          <rosparam file="$(find nav_test)/config/NLlinepatrol/base_local_planner_params.yaml" command="load" />
          <rosparam file="$(find nav_test)/config/NLlinepatrol/base_global_planner_params.yaml" command="load" />
        </node>
      </launch>
      

      Through the above, it is found that by setting the value of the base_global_planner parameter to specify the global path planner as NLlinepatrol_planner, it can also be seen that the other parameter configuration files of move_base are stored in the config/NLlinepatrol path in the nav_test package.

      0_1537581122849_f6fc1c88-ee13-4376-a647-9ccd84c4ff96-image.png

      For the above image, the file we need to change is base_global_planner_params.yaml, because the contents of this file correspond to the parameters actually loaded by the NLlinepatrol_planner runtime. The default content is as follows:

      NLlinepatrolPlanner:
          DumpFileName: AnnDump.sav
          strTFParsFile: TFSettings.txt
          TxtFileName: nav1.csv
          ANN_Dump_Bool: false
          connect_distance: 0.3
      

      TxtFileName specifies the name of the loaded visual track file, strTFParsFile specifies the name of the loaded transformation parameter file, and connect_distance sets the maximum distance between the connected points in the visual track file. (The distance between two points after the coordinate transformation is smaller than the value is considered as There is no obstacle between the two points, you can directly connect), ANN_Dump_Bool value is false to load the trajectory and transformation parameters from the txt file, if it is true then load from the dump file specified by the DumpFileName parameter (When using the same visual track file multiple times , start from the dump file after the second time can be accelerated)

      3. Start using after configuration

      A. Because we are virtual running this time, some of the published topics are of no practical significance but conflict with Xiaoqiang’s default ROS driver. So now we need to stop all ROS running instances.

      sudo service startup stop
      roscore
      

      B. Start virtual topic and Xiaoqiang model files

      rosrun orb_init temp.py // Publish odom 
      roslaunch xiaoqiang_udrf xiaoqiang_udrf.launch // Start the model
      

      C. Launch the xq_move_base_blank_map2.launch file produced above

      roslaunch nav_test xq_move_base_blank_map2.launch
      

      D. Start rviz and open the ros/src/nav_test/config/nav_xq2.rviz configuration file

      rviz
      

      E. Launch virtual goal publishing node (based on squre.py modification in inertial navigation)

      rosrun nav_test NLlinepatrol.py
      

      4. Now that the target global path trajectory (green line) has appeared in rviz and you want to test other goal targets, modify the code in NLlinepatrol.py.

      0_1537581365157_ba96895e-5e14-419c-9aba-6b5d29466c05-image.png

      Xiaoqiang Homepage
      Back To Index

      1 条回复 最后回复 回复 引用 0
      • 1 / 1
      • First post
        Last post
      Copyright © 2015-2023 BlueWhale community