动捕系统、ROS、SIMULINK的通信

2023-05-16

卓翼simulink控制源码

一、路径:droneyee_ws/src/ 下的功能包的作用
1、droneyee
包含无人机主要的起飞/降落的控制程序:Publisher的程序编写、matlab_udp的IP和串口号的定义和

  1. tello_takeoff_all.cpp

main中初始化了takeoff 12345678几个发布者节点,当主程序调用达到10次,通过takeoff 12345678节点 向话题“str_message”发布消息,消息内容通过msg消息类型在外部调用传入

  1. scrips/ROS2UDP.py 定义了matlab和ros连接
    主函数try中调用UDP2ROS()初始化socket 注1:try的用法 注2:UDP服务器,其中matlab_ip、matlab_port由人为给定,便于drone连接,其中gemometry_msg,Twist,PoseStamped是ROS定义封装好的类名
#0. bind port and ip
UAV_NUM = 8
UAV_state = [[0.0] * 10] * UAV_NUM
s = list()
for i in range(UAV_NUM):
s_temp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#s_temp.bind(('127.0.0.1', 26000+i))
s.append(s_temp)

list()函数 写socket内容为九个状态数据,在经过struct.pack()函数打包到UAV_data里面

  1. UDP2ROS

1、启动optitrack

#roslaunch mocap_optitrack multi_rigidbody8.launch
#roslaunch vps_driver vps_driver.launch 
roslaunch   vrpn_client_ros    sample.launch server:=192.168.101.17
  1. send data to matlab

roslaunch network_interface droneyee_vrpn_swarm_mocapCarsCopters.launch

#检查数据是否传输
rostopic list

rostopic echo /vrpn_client_node/droneyee1/pos_sync
2、启动tello_driver
roslaunch droneyee_driver droneyee_node_all6.launch
roscd droneyee_driver/launch

chmod +x droneyee_node_all6.launch

3、tello起飞

rosrun droneyee droneyee_takeoff_all
4、运行matlab程序
5、如果要降落
停止simulink运行
如果直接起飞降落,可以使用 rosrun droneyee droneyee_land_all 指令让 droneyee 降落。

看飞机位置
rostopic echo /bebop1/pos_sync

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动捕系统、ROS、SIMULINK的通信 的相关文章

  • C++ 中在函数的前面加上static的作用

    在一般的函数前面加上static 作用是 xff1a 加了static后表示该函数失去了全局可见性 xff0c 只在该函数所在的文件作用域内可见 当函数声明为static以后 编译器在该目标编译单元内只含有该函数的入口地址 没有函数名 其它
  • 网络字节序跟主机字节序有什么区别

    网络字节序跟主机字节序有什么区别 xff0c 这是我16年9月份校招面试腾讯被问到的一个问题 xff0c 也是Linux服务器开发岗常考的面试题 字节序分为大端字节序和小端字节序 大端字节序是指一个整数的高位字节 xff08 32 31bi
  • 不使用strcat函数,实现两个字符串连接

    设计思路 xff1a 1 首先我们要找到目标字符串的结尾 xff0c 即 0 处 2 然后我们再依次把源字符串依次添加到目标字符串的结尾即可 实现源码如下 xff1a span class token macro property span
  • 使用环形缓冲区ringbuffer实现串口数据接收

    文章目录 1 ringbuffer简单介绍2 ringbuffer的代码实现2 1 ringbuffer数据结构定义2 2 ringbuffer初始化2 3 ringbuffer写数据2 4 ringbuffer读数据 3 在串口中使用ri
  • 结构体(struct)

    什么是结构体 结构是程序员定义数据类型 xff0c 与类非常相似 它们有数据成员和函数成员 xff0c 虽然相似 xff0c 但是有许多区别 xff0c 区别如下 xff1a 类是引用类型二结构是值类型 结构是隐式密封的 xff0c 这意味
  • 【C语言】——结构体进阶:结构体的内存对齐(超详细)

    前言 xff1a 上一篇已经讲了结构体的基本用法 相信各位小伙伴以经学会怎么使用 但是还有一个问题没有弄明白 结构体到底多大 xff0c 占内存空间多不多 xff0c 以经系统到底怎么访问结构体内的数据的 接下来 xff0c 详细分析一下结
  • 【HTTP】摘要认证 Digest access authentication

    第三方接口对接 xff1a 摘要认证 Digest access authentication HTTP认证方式 xff1a BASIC 认证 xff08 基本认证 xff09 xff1b DIGEST 认证 xff08 摘要认证 xff0
  • 自己编译安装OpenCV (linux/windows)

    简单介绍一下OpenCV OpenCV 是 Open Source Computer Vision Library 的简称 xff0c 在计算机视觉领域中是一个非常重要的开源库 xff0c 该库使用的是BSD开源协议 xff0c 这个开源协
  • 基于TCP的项目学习历程(一)实现简单的socket请求。瞎扯的,不要评论。

    毕业至今不到两年 xff0c 但从大四刚开始就在外面开始从事开发工作了 但是一直从事的WEB项目的开发 xff0c 一直没啥长进 最近由于需要 xff0c 需要学习基于TCP的服务器开发 xff0c 由此决定 xff0c 写点东西 xff0
  • laravel框架如何生成Authorization值

    1 xff0c 创建密码授权客户端 在laravel当前目录执行 php artisan passport client password 生成如下值 Client ID 11 Client Secret fOxGavTYTJFP7Eqo0
  • eclipse mysql 数据库报错 com.mysql.jdbc.Driver

    eclipse 项目使用mysql数据库 报一下错误 Caused by java lang ClassNotFoundException com mysql jdbc Driver 解决方法 xff1a 1 xff1a 首先查看项目中是否
  • eclipse svn 报错 文件夹已经不存在

    最近做项目用eclipse 遇到个很奇怪的问题 xff0c 前几天svn还是可以用的 xff0c 突然一下子不能用了 xff0c 于是网上各种找解决方法啊 xff0c 终于问题解决了 xff0c 总结一下 查看svn报错信息 xff1a s
  • Java 提供接口供其它应用调用

    64 author 会员 接口类 相关参数协议 xff1a 00 请求失败 01 请求成功 02 返回空值 03 请求协议参数不完整 04 用户名或密码错误 05 FKEY验证失败 64 Controller 64 RequestMappi
  • H5 下载文件到本地

    H5 下载文件到本地 其实 xff0c 目前下载文件到本地有很多中方法 xff0c 不管是 JavaScript 或者 jQuery 也好 xff0c 都有各色各样的方法 xff0c 都可以做的到 xff0c 在这里我介绍下我发现的一个比较
  • Javaweb QQ第三方登录

    这是第三方登录的第二篇 xff0c 关于web接入微博第三方登录可以参考我之前的博文 xff0c 之前的博文比较详细的讲解了该如何进行第三方登录的申请和准备工作 http blog csdn net cwfjimogudan article
  • vmware 虚拟机启动失败, Intel VT-x 处于禁用状态

    错误提示 xff1a 已将该虚拟机配置为使用 64 位客户机操作系统 但是 xff0c 无法执行 64 位操作 此主机支持 Intel VT x xff0c 但 Intel VT x 处于禁用状态 如果已在 BIOS 固件设置中禁用 Int
  • java 35 个 Java 代码性能优化总结

    前言 代码优化 xff0c 一个很重要的课题 可能有些人觉得没用 xff0c 一些细小的地方有什么好修改的 xff0c 改与不改对于代码的运行效率有什么影响呢 xff1f 这个问题我是这么考虑的 xff0c 就像大海里面的鲸鱼一样 xff0
  • 基于51单片机超声波红外避障语音导盲仪设计(全套资料)

    基于51单片机的超声波红外避障语音导盲仪设计 本系统采用STC89C52单片机 43 4位高亮白色LED灯 43 红外避障传感器电路 43 超声波电路 43 光敏电阻模块 43 语音报警电路 43 震动电路 43 液晶1602电路 43 电
  • linux 解压zip压缩包命令

    unzip 文件名 zip d 解压位置 例如 xff1a unzip 微信 zip d demowx
  • linux 文件授权命令

    文件授权 chmod 43 x sh

随机推荐

  • linux tomcat常用命令

    startup sh 启动tomcat shutdown sh 关闭tomcat ps ef grep tomcat 查看Tomcat运行 kill 9 4723 杀进程 tail f catalina out 查看tomcat运行日志 c
  • linux redis常用命令

    flushall 清空redis缓存 redis cli 进入redis xff08 需要进入redis的安装目录下 xff09 get key 查找key del key 删除key
  • java DateUtils时间工具栏

    package com eeye common utils import org apache commons lang3 time DateFormatUtils import java text ParseException impor
  • unity3d:Astar寻路,A星,A*,二叉堆优化Open表

    原理视频 油管 xff1a https youtu be i0x5fj4PqP4 别人的B站翻译 xff1a https www bilibili com video BV1v44y1h7Dt spm id from 61 333 999
  • TCP/IP 、HTTP、Socket的区别与联系

    1 Socket和http的区别 http xff1a 如何封装数据 xff1b 基于TCP协议 xff0c 简单的对象访问协议 xff0c 对应于应用层 xff1b xff08 货物 xff09 tcp协议 xff1a 数据在网络中的传输
  • 【亲测一次成功】将本地代码上传到Gitee码云

    1 在Gitee码云上创建仓库 2 在本地新建一个文件夹 3 右击新建的文件夹 xff0c 使用git bush here 4 输入 git init 5 输入 git remote add origin 43 仓库地址 6 输入 git
  • keil5打开工程报错:error:not found device

    1 error not found device 解决方法 xff1a 将Project文件夹中的工程扩展名由 uvproj改为 uvprojx 原因 xff1a 前提是所有的库安装都是正常且正确的 xff0c 所以应该是如下问题 xff1
  • STM32学习笔记:IWDG_独立看门狗

    1 简介 独立看门狗就是一个12位的递减计数器 xff0c 最大值0xFFF xff1b 计数器的值从某一个值减到0时 xff0c 系统产生一个复位信号 xff08 IWDG RESET xff09 xff1b 在计数器没减到0之前 xff
  • 基于单片机避障导盲智能拐杖控制设计(毕设资料)

    本设计研究为盲人提供行走时 xff0c 遇到前方障碍物提前躲避的智能避障预警系统 以AT89S52单片机作为核心处理器 xff0c 采用超声波回波时间差测量人与物体之间的安全距离 xff0c 实现了提前预警使用者避让障碍物 xff0c 起到
  • Matlab:excel文件 转 txt文件 (只需2行代码)

    亲测有用 xff0c 只需两行代码 xff0c 将EXCEL文件 xff0c 转换成txt文件 xff1a Data 61 readtable 39 TEST xls 39 writetable Data 39 test txt 39 ex
  • 快速理解C语言——指针

    1 地址和内存 把值存在内存中 xff0c 内存就给每一个值分配一个地址 xff1a 100 104 108 112 116就是每个值分别对应的地址 xff1b 给每个内存地址起个别名 xff0c 就是 xff1a 变量 2 值和类型 如下
  • 亲测有用!完美关闭win10不断自动更新

    自从更新到win10以来 xff0c 每次开关机都会遇到win10更新的问题 试过CSDN和其他很多种方法都没有用 xff0c 最后在知乎上看到一个大神写的 用以下方法完美解决 xff0c 再没出现过自动更新的问题 如何完美解决win10自
  • 一文解决所有PCA问题——这是我看过最好的讲解PCA理论文章

    转载 xff1a http blog codinglabs org articles pca tutorial html PCA xff08 Principal Component Analysis xff09 是一种常用的数据分析方法 P
  • C语言解析http协议

    C语言解析http协议 1 关键解析函数1 1 strstr xff08 xff09 1 2 strncmp 2 代码 1 关键解析函数 1 1 strstr xff08 xff09 函数原型 xff1a span class token
  • 大小端问题

    本来我想说 xff0c Windows平台一般是小端 xff0c Linux一般是大端 xff1b 但是 实际上大小端CPU架构有关 xff0c 当然和系统也可能有关 xff0c 可以配置大小端 xff1b 对于CPU框架 xff0c AR
  • android socket通讯

    项目中要用到进程间通讯 xff0c 服务端接收应用的请求数据 xff0c 对串口进行读写操作 考虑到android的socket服务比较实用 xff0c 并且可以支持多个客户端同时连接 服务端写成一个服务 xff0c 在init rc中启动
  • LwIP之套接字接口

    套接字结构体 struct lwip sock API连接指针 struct netconn conn 前一次读剩下的数据 void lastdata 前一次读数据的偏移量 u16 t lastoffset 接收数据的次数 s16 t rc
  • Simulink之功率场效应晶体管(P-MOSFET)

    功率场效应管 xff08 P MOSFET xff09 属于电压全控型器件 xff0c 门极静态电阻极高 驱动功率小 工作频率高 热稳定性好 xff1b 但是电流容量小 耐压低 功率不易做大 xff0c 常用于中小功率开关电路 电气符号 外
  • Simulink之变压器隔离的直流-直流变换器

    半桥式隔离降压变压器 全桥式隔离降压变压器
  • 动捕系统、ROS、SIMULINK的通信

    卓翼simulink控制源码 一 路径 xff1a droneyee ws src 下的功能包的作用 1 droneyee 包含无人机主要的起飞 降落的控制程序 xff1a Publisher的程序编写 matlab udp的IP和串口号的