Unity 与 虚拟机ROS连接

Unity 与 虚拟机ROS连接

  • 知识储备
  • 前期准备
    • ROS部分
    • Unity部分
  • 连接测试

知识储备

  1. unity官方教程: https://github.com/Unity-Technologies/Unity-Robotics-Hub
  2. Win11家庭版开启HyperV: https://zhuanlan.zhihu.com/p/577980646
  3. HyperV安装Ubuntu: https://blog.csdn.net/xianzhan_/article/details/116177434
    我安装的是WSL中的18.04,没有自己下载iso文件。
  4. Ubuntu安装ROS: https://wiki.ros.org/melodic/Installation/Ubuntu
  5. catkin_make: command not found 解决办法:
    https://blog.csdn.net/qq_41134436/article/details/107480251
  6. Unity导入URDF模型: https://blog.csdn.net/gls_nuaa/article/details/128034844

前期准备

ROS部分

  1. window11家庭版 开通HyperV,安装Ubuntu18.04;
    不需要多余的设置,ROS这面也不需要使用GPU。
  2. Ubuntu 18.04 安装 ROS-Melodic
    按官方教程安装。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
sudo apt install ros-melodic-desktop
source /opt/ros/melodic/setup.bash 
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. 安装ROS-TCP-Endpoint
mkdir ~/catkin_ws
cd ~/catkin_ws/src
git clone https://github.com/Unity-Technologies/ROS-TCP-Endpoint.git
cd ~/catkin_ws/
catkin_make
  1. 安装其他相关包
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install python-pip ros-melodic-robot-state-publisher ros-melodic-moveit ros-melodic-rosbridge-suite ros-melodic-joy ros-melodic-ros-control ros-melodic-ros-controllers ros-melodic-tf2-web-republisher
sudo -H pip install rospkg jsonpickle

Unity部分

  1. Unity 安装URDF ImporterROS-TCP-Connector
    从package manager中安装
  2. 准备一个 publisher.cs

连接测试

  1. ROS IP Address 可通过 ifconfig 得到
    在这里插入图片描述

虽然官方教程(用docker)给出的端口号是 127.0.0.1
但是我们连接虚拟机 要用的是另上面的一个端口号
在这里插入图片描述
2. ROS端

roslaunch ros_tcp_endpoint endpoint.launch
  1. Unity端 -> play game
    请添加图片描述
    ROS IP 蓝色 成功!

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

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

相关文章

可视化开源编辑器Swagger Editor本地部署并实现远程访问管理编辑文档

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 Swagger Editor本地接口文档公网远程访问1. 部署Swagge…

工业机器视觉megauging(向光有光)使用说明书(二,轻量级的visionpro)

测试程序暂时支持80万(包含1024*768)以上的gige工业相机,以后会支持640*480分辨率相机。 我们程序中使用注意力机制,其实就是感兴趣区域(roi,你看过我前面博文,就应该明白)精神的延…

如何让企业报修、派单更高效!自动派单系统有什么用?

最近有做学校后勤报修、物业、酒店民宿的朋友找到我,聊得最多的就是关于任务分发的事情,觉得工作任务派单好难!   我也从跟他们聊天过程中简单整理了以下两种报修派单中普遍存在的问题:   第一种就是有人打电话报修&#xff0…

FreeRTOS入门

目录 一、什么是任务 二、创建任务---xTaskCreate函数 三、任务的删除 四、任务优先级 1.阻塞状态(Blocked) 2.暂停状态(Suspended) 3.就绪状态(Ready) 五、Delay 六、调度算法 一、什么是任务 在FreeRTOS中,任务就是一个函数,原型如下&#xff…

保护您的数据库免受注入攻击:MSSQL注入入门指南

MSSQL注入的入门讲解 一、引言二、MSSQL注入的基础知识2.1、MSSQL数据库的基本原理和结构2.2、常见的SQL语句和操作2.3、MSSQL注入的原理和工作方式 三、MSSQL注入攻击技术3.1、基于错误的注入攻击:利用错误消息和异常信息3.2、基于时间的注入攻击:利用延…

Nacos 架构原理

基本架构及概念​ 服务 (Service)​ 服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客户端可以为不同的目的重用(例如通过跨进程的网络调用)。Nacos 支持主流的服务生态&#xff0c…

Vue3 的 inject 和 provide (附源码)

一:前言 在前端项目中牵扯的最多的莫过于组件之间的传值了,除了最最常用的 props 和 emit,其实在 Vue 中还额外提供了另外几种方法。今天分享一种组件之间通信的方法:provide 和 inject。 二:使用 1、目录结构 以下是…

配置攻击防范示例

1、组网需求。 如果局域网内存在Hacker向SwitchA发起畸形报文攻击、分片报文攻击和泛洪攻击,将会造成SwitchA瘫痪。为了预防这种情况,管理员希望通过在SwitchA上部署各种攻击防范措施来为用户提供安全的网络环境,保障正常的网络服务。 2、配…

【测试开发】第五节.测试——自动化测试(Selenium工具)

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:Java测试开发 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 前言 一、…

匿名结构体类型、结构体的自引用、结构体的内存对齐以及结构体传参

文章目录 🚀前言🚀结构体✈️结构体类型的声明✈️结构体变量的创建与初始化✈️结构体类型的特殊声明✈️结构体的自引用✈️结构体的内存对齐🚁修改默认对齐数 ✈️结构体传参 🚀前言 在C语言中有着各种数据类型,这…

Linux部署HDFS集群

(一)VMware虚拟机中部署 ps、其中node1、node2、node3替换为自己相应节点的IP地址,或者host文件中配置过的主机名,或者看前置准备 或者查看前置准备:Linux部署HDFS集群前置准备 1.下载压缩包 https://www.apache.or…

ChatGPT 问世一周年之际,开源大模型能否迎头赶上?

就在11月30日,ChatGPT 迎来了它的问世一周年,这个来自 OpenAI 的强大AI在过去一年里取得了巨大的发展,迅速吸引各个领域的用户群体。 我们首先回忆一下 OpenAI和ChatGPT这一年的大事记(表格由ChatGPT辅助生成)&#x…

【模型报错记录】‘PromptForGeneration‘ object has no attribute ‘can_generate‘

通过这个连接中的方法解决: “PromptForGeneration”对象没有属性“can_generate” 期刊 #277 thunlp/OpenPrompt GitHub的 问题描述:在使用model.generate() 的时候报错:PromptForGeneration object has no attribute can_generate 解决方法…

MySQL安全相关——TDE和数据脱敏功能介绍

MySQL作为一款广泛使用的开源关系型数据库管理系统(RDBMS),其安全性一直是开发者和企业关注的重点。在MySQL中,有一些与安全相关的功能,其中包括Transparent Data Encryption(TDE)和数据脱敏。本文将对这些功能进行介绍。 一、Transparent Da…

Python一键采集京*东商品数据,保存表格,零基础也能学会

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 开发环境: python 3.8 pycharm 专业版 模块使用: requests >>> 发送请求 第三方库 (需要安装) parsel >>> 第三方库 用来提取网…

RHCSA学习笔记(RHEL8) - Part1.RH124

Chapter Ⅰ 入门 - Linux 开源系统,命令行,模块化(软件包的形势) - Windows 闭源Linux是类UNIX系统,mac系统也是类UNIX系统,所以二者的图形化界面比较相似 开源许可证:公共版权;宽…

学校图书管理系统设计

基于ASP.NET MVC技术的图书管理系统的设计与实现 摘要:图书管理系统是一套高新科学技术和图书知识信息以及传统历史文化完美结合的体现。它改变了传统图书收藏的静态书本式图书服务特征,实现了多媒体存取、远程网络传输、智能化检索、跨库无缝链接、创造…

《地理信息系统原理》笔记/期末复习资料(8. 数字高程模型)

目录 8. 数字高程模型 8.1 概述 8.1.1 数字高程模型概念 8.1.2 数字高程模型特点 8.2 DEM数据分布特征 8.2.1 格网状数据 8.2.2 离散数据 8.3 DEM的表示方法 8.3.1 数学方法 8.3.2 图形方法 8.3.3 DEM三维表达方法 8.4 TIN的生成方法 8.4.1 人工方法 8.4.2 程序自…

selenium 工具 的基本使用

公司每天要做工作汇报,汇报使用的网页版, 所以又想起 selenium 这个老朋友了。 再次上手,发现很多接口都变了, 怎么说呢, 应该是易用性更强了, 不过还是得重新看看, 我这里是python3。 pip安装…

数字员工「取数宝」上新!4大优势,解决电商取数难题

全域电商,是近几年的新趋势,几乎所有商家都在布局全域,追求全域增长。但商家发现,随着投入成本的上涨,利润却没有增加。 其中最为突出的是——商家为保证全域数据的及时更新,通过堆人头的方式完成每日取数…