[云讷科技]DASA数字孪生机器人概念

DASA数字孪生机器人概念

我们在 虚幻引擎 (UE) 的帮助下在 DASA 中建立了数字孪生机器人概念。 UE 是 Epic Games 开发的 3D 计算机图形游戏引擎,广泛应用于视频游戏、电影和电视。我们在 DASA 中利用强大的 UE 功能来实现外观逼真的数字机器人,并允许与现实中的对应机器人进行实时同步。

在这里插入图片描述

软件构成

在这里插入图片描述

数字孪生机器人概念由几个组件组成,如上图所示:

  • DASA 基础设施软件模块:DASA 软件提供机器人定位、通信和消息同步,如教程 Start Localization Process in Indoor DASA System 中所示。该软件位于 ~/DASA_space/catkinws_dasa。
  • UE 引擎:UE 4.27 引擎安装在 DASA 桌面中,该桌面随我们的解决方案一起提供,位于 /home/dasa/src/UnrealEngine-4.27-plus 下,我们为 DASA 机器人创建带有插件的定制项目。
  • Airsm ROS 包装器:Airsim ROS 包装器通过向 ROS 网络公开接口,实现与 UE 引擎中的数字机器人的交互。

设置步骤

  1. 机器人端

我们需要在机器人机载电脑端安装和编译最新的catkinws_dasa工作区软件,参考
启动过程章节,并设置好在局域网内同步的topic信息, 以下是 1 架无人机和 2 辆无人车的共享话题:

'/dasa/local_position/pose',
/uav1/dasa/local_position/pose', '/uav1/dasa/local_position/velocity',
'/rover2/dasa/local_position/pose', '/rover2/dasa/local_position/velocity',
'/rover3/dasa/local_position/pose', '/rover3/dasa/local_position/velocity'
  1. DASA 计算机配置
  • 我们必须以与机器人端相同的方式安装和构建 catkinws_dasa 工作区。
  • 我们需要配置位于文件 ~/Documents/Airsim/settings.json 中的 Airsim 插件。默认情况下,用户不需要更改该文件。请记住在进行任何修改之前备份它。

如何启动

  1. 机器人端

我们需要打开 DASA_SWARM 路由器,然后启动每个机器人。默认情况下,每个机器人将启动与 catkinws_dasa 工作区对应的节点并连接到 DASA_SWARM 网络。用户也可以参考教程 Start Localization Process in Indoor DASA System 了解详细信息。

  1. DASA 计算机配置
  • 通过ping指令查看各机器人是否连接到本地局域网,例如:
ping uav1
ping rover2
ping rover3
# or ping their corresponding ip address directly
ping 192.168.0.101
ping 192.168.0.102
ping 192.168.0.103

如果ping有返回值,证明各机器人端已经联网,否则需要查看和排查网络连接情况。

  • 启动~/DASA_space/catkinws_dasa/scripts目录下的run_gcs_visualization.sh脚本,之后通过rostopic 指令,我们可以看到所有机器人发布的位姿话题。
  • 启动UE引擎,并运行城市沙盘项目,点击play按钮。
  • 启动Airsim的ROS wrapper,之后可以尝试手动移动机器人查看UE引擎显示,正常情况下虚拟世界的机器人位姿和实际的是同步的
~/src/cloudkernel_proj/Airsim/ros
source devel/setup.bash;
roslaunch airsim_ros_pkgs airsim_node.launch;

在这里插入图片描述

关于我们

云讷科技(深圳)有限公司是一家机器人科技教育公司,我们提供下述产品和服务:

  • 提供基于无人系统技术的教育产品和课程:包括无人机,无人车,无人飞车和人工智能教育;
  • 提供部分行业核心解决方案,如无人机飞行控制器,无人驾驶软件方案等。

我们的主页是 https://cloudkernel.cn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索Python新境界:Buzhug库的神秘面纱

文章目录 探索Python新境界:Buzhug库的神秘面纱第一部分:背景介绍第二部分:Buzhug库是什么?第三部分:如何安装Buzhug库?第四部分:Buzhug库函数使用方法第五部分:Buzhug库使用场景第六…

微信小程序的上拉刷新与下拉刷新

效果图如下&#xff1a; 上拉刷新 与 下拉刷新 代码如下&#xff1a; joked.wxml <scroll-view class"scroll" scroll-y refresher-enabled refresher-default-style"white" bindrefresherrefresh"onRefresh" refresher-triggered&qu…

Java唯一键实现方案

数据唯一性 1、生成UUID1.1 代码中实现1.2 数据库中实现优点缺点 2、数据库递增主键优点 3、数据库递增序列3.1 创建序列3.2 使用序列优点缺点 在Java项目开发中&#xff0c;对数据的唯一性要求&#xff0c;业务数据入库的时候保持单表只有一条记录&#xff0c;因此对记录中要求…

《向量数据库指南》——BGE-M3:引领多模态RAG系统新风尚!

BGE-M3 BGE-M3 是一个多功能的 Embedding 模型,能够处理多种语言的文本,并支持不同的粒度级别。例如,您可以处理短句,也可以处理长达 8192 个 Token 的长文档。这个 Embedding 模型还能够输出两种不同的向量类型:稠密向量(Dense embedding)和稀疏向量(Sparse embeddin…

在Ubuntu上安装TensorFlow与Keras

文章目录 1. 查看系统和Python版本信息1.1 查看Ubuntu版本信息1.2 查看Python版本信息 2. 安装pip2.1 下载get-pip.py2.2 运行get-pip.py2.3 查看pip版本 3. 安装Jupyter Notebook3.1 安装Jupyter Notebook3.2 运行Jupyter Notebook3.3 安装jupyter-core3.4 配置Jupyter Notebo…

江协科技STM32学习- P34 I2C通信外设

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

大学生软件测试2024(练习赛)

本人不太会java语法&#xff0c;主要是本专业老师主讲java&#xff0c;所以不得不使用java语言进行编写&#xff0c;不当之处请见谅&#xff01; 背景说一哈&#xff0c;有点摸鱼的成分&#xff0c;主要是期末课设和这个有关&#xff0c;想学着看看&#xff0c;不知道能不能得…

研究了100个小绿书十万加之后,我们发现2024小绿书独家秘籍就是:在于“先抄后超,持续出摊,量大管饱”!

小绿书作为今年最大的红利&#xff0c;很多人已经吃到了螃蟹。看——&#xff1a; 今天我们总结了100个10万爆款&#xff0c;我们发现要在这个平台上脱颖而出&#xff0c;找到属于自己的方法尤为重要。在这里分享一个主题——小绿书的秘诀就是“先抄后超&#xff0c;持续出摊”…

SQLark百灵连接——整合项目监控过程

关键词&#xff1a;SQL编写、数据查询、数据导入、达梦数据库、项目管理、信息透明 项目监控背景 作为新手项目经理的我&#xff0c;经常觉得哪儿哪儿都是问题&#xff0c;今天催这个&#xff0c;明天推那个&#xff0c;可就是什么事都推不动&#xff0c;谁都不配合。后来&…

【论文解读】EdgeYOLO:一种边缘实时目标检测器(附论文地址)

论文地址&#xff1a;https://arxiv.org/pdf/2302.07483 这篇文章的标题是《EdgeYOLO: An Edge-Real-Time Object Detector》&#xff0c;由中国北京理工大学的Shihan Liu、Junlin Zha、Jian Sun、Zhuo Li和Gang Wang共同撰写。这篇论文提出了一个基于最新YOLO框架的高效、低复…

github打不开网络问题

当打开github出现超时或者网络不能访问的情况时&#xff0c;我们进行如下方法解决&#xff1a; 1&#xff0c;ping gitbub.com查看域名分析的DNS IP C:\Users\86156>ping github.com 正在 Ping github.com [20.205.243.166] 具有 32 字节的数据: 来自 20.205.243.166 的回复…

详解K8S--声明式API

23-0-声明式API 这些API对象&#xff0c;有的描述应用&#xff0c;有的为应用提供服务。但为使用这些API对象提供的能力&#xff0c;都要编写对应YAML文件交给k8s。 这YAML正是k8s声明式API必备要素。 1 用YAML代替命令行操作&#xff0c;就是声明式API&#xff1f; Swarm编排操…

如何策划一场战争?

前言 这个世界并不和平&#xff0c;我们只是生活在一个和平的国家。克服恐惧&#xff0c;最好的办法就是面对它。本文结合作者对于《孙子兵法》和毛泽东军事思想的部分了解&#xff0c;介绍了一般战争的发起、过程和结束的情况。 零、战争定义 首先要说明战争的定义是什么。《…

【Windows】X-DOC:无需NAS使用Windows也能安装Jellyfin玩私人影音媒体平台

【Windows】X-DOC&#xff1a;无需NAS使用Windows也能安装Jellyfin玩私人影音媒体平台 1、前言2、Jellyfin服务搭建2.1 Jellyfin简介2.2 Jellyfin下载2.3 Jellyfin安装2.4 Jellyfin设置2.5 Jellyfin使用 3、终端访问3.1 浏览器访问 4、内网穿透 1、前言 下载收藏高清电影、电视…

Rust的enum枚举的强大用法

在Rust中&#xff0c;enum&#xff08;枚举&#xff09;是一种非常强大的类型&#xff0c;它可以包含多个变体&#xff08;variants&#xff09;&#xff0c;每个变体可以是不同的类型&#xff0c;包括复杂类型。这使得enum在Rust中不仅用于表示简单的状态或选项集合&#xff0…

jmeter基础01-2_环境准备-Mac系统安装jdk

Step1. 查看系统类型 方法&#xff1a;苹果菜单 - 关于本机&#xff0c;看到本机为M1芯片。&#xff08;Mac系统芯片有M系列和Intel两种&#xff09; Step2. 官网下载安装包 https://www.oracle.com/java/technologies/downloads/ 根据芯片类型&#xff0c;选择安装包进行下…

引起what(): basic_string::_M_replace_aux问题的一个原因以及解决方法

自己在做一个项目的时候&#xff0c;报了下面的这个问题&#xff1a; terminate called after throwing an instance of std::length_error what(): basic_string::_M_replace_aux 经过自己的研究&#xff0c;发现是在读取文件的时候没有加上错误判断。 通过网站直接访问一个…

论文阅读:Computational Long Exposure Mobile Photography (一)

这篇文章是谷歌发表在 2023 ACM transaction on Graphic 上的一篇文章&#xff0c;介绍如何在手机摄影中实现长曝光的一些拍摄效果。 Abstract 长曝光摄影能拍出令人惊叹的影像&#xff0c;用运动模糊来呈现场景中的移动元素。它通常有两种模式&#xff0c;分别产生前景模糊或…

【canal 中间件】canal 常见的启动方式

文章目录 一、安装 canal-admin1.1 拉取镜像1.2 启动 canal-admin 容器(使用脚本)1.2.1 下载脚本1.2.2 执行脚本1.2.3 初始化元数据库(可选) 1.3 启动 canal-admin 容器(直接使用 Docker 命令)1.3.1 启动容器1.3.2 查看启动日志 1.4 访问页面 二、 安装 canal-server2.1 拉取镜…

Python复习1:

一、数据类型 1.数字&#xff1a;int、float、bool 2.字符串&#xff1a;string 3.列表&#xff1a;list 4.集合&#xff1a;set 5.字典&#xff1a;dictionary 二、Test 1.print输出固定格式 num110 str1"hello world" #输出的固定格式 print("num1%d&…