当前位置: 首页 > news >正文

浙江省建设监理管理协会网站网站建设哪里好点

浙江省建设监理管理协会网站,网站建设哪里好点,微信群投票网站怎么做的,wordpress点击文章跳转外站本框架是基于激光雷达的无人机群自主避障代码: 其主体框架利用ORCA算法,他是经典的多智能体相互避障算法,此版本只能规避动态障碍物,不能规避环境形成的静态障碍物我们对ORVA算法稍作修改,使其可以分布式部署&#xff…
本框架是基于激光雷达的无人机群自主避障代码:
  • 其主体框架利用ORCA算法,他是经典的多智能体相互避障算法,此版本只能规避动态障碍物,不能规避环境形成的静态障碍物
  • 我们对ORVA算法稍作修改,使其可以分布式部署,并且将仿真代码修改为uav实测代码
  • ORCA算法需要知道其他智能体的绝对位置和速度作为算法输入,因此我们需要模块【1】和【2】来补充完成
  • 模块【2】是利用将lidar安装在当前uav上,并用其检测和估计其他无人机的相对位置和速度
  • 因为不满足ORVA算法需要绝对位置和速度的条件,因此需要利用模块【1】来估计当前uav的位置进行结合

【配置规范】不同的包安装在不同的工作空间中,方便管理,如catkin_ws_realsense,catkin_ws_vins,catkin_ws_lidar,catkin_ws_orca

1. 基于VIO/LIO的uav自身位置估计

[1] LIO
因为无人机安装了Lidar,所以用LIO比较好
待安装。。。

[2] VIO
VIO使用Vins,是基于D435深度相机的,具体安装参考D435i+vins-Fusion+ego-planner+yolo无人机避障实测中vins部分

roslaunch realsense2_camera rs_camera_vins.launch 
rosrun vins vins_node ~/catkin_ws_vins/src/VINS-Fusion/config/realsense_d435i/realsense_stereo_imu_config.yaml

2. 利用Lidar检测并估计其他uavs位置和速度

代码下载链接:https://gitee.com/dueen1123/lidar_esti

新建一个catkin_ws_lidar的工作空间
在其中先配置好激光雷达livox的SDK以及ROS版本的SDK,参考链接在此
然后将lidar_esti放在同一工作空间一起编译

代码运行如下:

# 启动激光雷达
roslaunch livox_ros_driver2 rviz_MID360.launch
cd ~/catkin_ws_lidar/src/lidar_esti/scripts
# 运行高反无人机检测
python3 multi_highRreflect_detect.py
# lidar到orca转换脚本
python lidar2orca.py

其中multi_highRreflect_detect.pylidar2orca.py中的DETECT_UAV_NUM变量,需要根据实际uav个数修改

3. ORCA集群避障算法

代码链接:https://gitee.com/dueen1123/orca

实测代码不同的无人机需要添加不同的node_0_true.cpp,以及相对应的rvo_node_true.launchnode_0_true.sh

(1)rvo_node.h修改copy_num_agent变量,改为本次实测的uav个数

int copy_num_agent = 2; // 复制智能体数量

(2)node_0_true.cpp,修改如下代码

void rvo_true_velCallback(const UAVPosVel::ConstPtr &sub_msg){// ...// 用哪架无人机,序号改成几float x = new_velocities[0]->x();float y = new_velocities[0]->y();float z = new_velocities[0]->z();// ...
}

(3)rvo_node_true.launch更改为当前的 node_0_true节点
(4)node_0_true.sh后面的目标点数量,修改与总uav数量一致,并且是第几架无人机,对应的目标点位置才赋值

#!/bin/bash
rosrun rvo_ros set_goals_client_0 default 1 1 1 0 0 0
sleep 8rosrun rvo_ros set_goals_client_0 default 4 1 1 0 0 0 
sleep 6

运行如下:

#启动飞机px4飞控
#启动vins绝对定位
#启动lidar相对定位
cd ~catkin_ws_orca/src/rvo_ros/scripts
# 无人机通信
python multirotor_communication.py iris 0
# 无人机悬停
python hover.py iris 1 vel 
# 启动壁障算法
roslaunch rvo_ros rvo_node_true.launch
# 设置目标点
bash node_0_true.sh

============================ 以下可以忽视 ==========================
ORCA是主要的避障算法
ORCA需要一个自定义话题的输入,也就是一个包含速度和位置的消息
但c++和python自定义消息稍有不同,不能直接引用头文件,然后直接用消息名称使用,如下

#include "UAVPosVel.h"
void rvo_true_velCallback(const UAVPosVel::ConstPtr &sub_msg);

首先,#include可能难以直接定位到UAVPosVel.h,需要在cmakelist中的include_directories添加其生成路径,即xxx/devel/include/package_name
其次,UAVPosVel.h中的类不叫UAVPosVel,他生成了一个模板函数,所以使用时应该重新定义
总结如下:

include_directories(include${catkin_INCLUDE_DIRS}${PROJECT_SOURCE_DIR}/include/3d_library  # 确保这里包含了3d_library目录/home/tju/catkin_ws_orca/devel/include/rvo_ros
)
#include "UAVPosVel.h"
typedef rvo_ros::UAVPosVel_<std::allocator<void>> UAVPosVel;
void rvo_true_velCallback(const UAVPosVel::ConstPtr &sub_msg);
http://www.yayakq.cn/news/482937/

相关文章:

  • 什么网站做ppt赚钱营销网站做的好的公司
  • 织梦网站上传路径不对世界杯网站建设
  • app程序昆明网站快速优化排名
  • 企业官网网站 优帮云湖南十大传媒公司
  • 专业商城网站搭建费用河北手机网站建设
  • 网站搬家seo网站地址验证失败
  • 做料理网站关键词怎么设置如何制作自己的网址链接
  • 网站设计参考wordpress 菜单 固定
  • 天津网站建设 文率科技什么事三合一网站
  • 网站提现功能怎么做企业门户网站建设方案及报价
  • 手机网站模板演示做网站对客户有什么帮助
  • 购物网站排名女装做视频赚钱的网站
  • 新闻类网站模板wordpress模板好用吗
  • 网站建设规划方案ppt模板做网站需要流程
  • 创研科技做网站怎么样网站内外链接怎么做
  • 制作网站服务设计师招聘网
  • 范文写作网站网页顶部导航栏设计
  • 企业网站建设发展历程上海装修公司报价明细表
  • 快法务网站开发wordpress 标签函数
  • 做文艺文创产品的网站网页制作怎么下载
  • 动漫设计工作室网站制作公司如何看网站的ftp
  • 网站制作建设怎么收费wordpress公告 通知栏插件
  • 自适应网站案例源码wordpress专业开发指南
  • c 网站开发需要什么产品画册设计公司
  • 网站正能量入口做网站上海公司
  • 扁平式网站重庆云诚度网站建设
  • 网站开发的论文引言芜湖市建设厅网站
  • 北京有哪些网站制作公司晋城做网站的公司
  • dw中做网站的步骤品牌网站制作建设
  • 盘州网站建设wordpress主题下载资源