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

实现在Unity3D中仿真汽车,而且还能使用ros2控制


文章目录

    • 前言(Introduction)
    • 搭建开发环境(Setup Development Environment)
    • 在window中安装Unity(Install Unity in window)
    • 创建Docker容器,并安装相关软件(Create Docker containers and install related software)
    • 运行测试(Run test)

前言(Introduction)

使用gazebo仿真可以进行机器人与环境交互的仿真,但是仿真环境搭建起来比较复杂,尤其是对于初学者来说,并且难以构建复杂的仿真环境。因此,使用Unity搭建仿真环境会更加简单,并且可以构建更加复杂的仿真环境。

反正我用gazebo有时候挺抓狂的,各种报错😅。

参考:

  • docker-ros2-unity-tcp-endpoint
  • Robotics-Nav2-SLAM-Example
  • unity坐赛车游戏,简单三分钟了解一下
  • How to Setup Unity and ROS2 in less than 5 minutes!
  • ros2-for-unity
  • moveit2_yolobb_ws
  • Unity-Robotics-Hub

在这里插入图片描述

【代码】实现在Unity3D中仿真汽车,而且还能使用ros2控制

code:https://github.com/laoxue888/DockerRos2UnityCar/tree/main

搭建开发环境(Setup Development Environment)

  • Unity:2022
  • Ubuntu:24.04
  • Ros2:jazzy

在window中安装Unity(Install Unity in window)

先安装Unityhuyb,然后再安装Unity

https://unity.cn/releases

创建Docker容器,并安装相关软件(Create Docker containers and install related software)

❇️创建Docker容器

docker run -it -p 6080:80 -p 10000:10000 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=host.docker.internal:0.0 --gpus=all --name=Ros2UnityCar docker.1ms.run/ubuntu:24.04  /bin/bash

😂【可选】介绍另外一种方法:借助Docker的网页桌面功能,可以不用安装vncserver。docker-webtop

# 可选
docker run -d --name Ros2UnityCar --security-opt seccomp=unconfined --gpus=all -e PUID=1000 -e PGID=1000 -e TZ="Asia/Shanghai" -p 3000:3000 -p 3001:3001 -p 10000:10000 lscr.io/linuxserver/webtop:ubuntu-xfce # ubuntu:24.04 科学上网下载速度更快

# 查看Ubuntu版本的命令
lsb_release -a

❇️安装相关软件

# 按照鱼香ros一键安装ros2
apt-get update
apt install wget -y
wget http://fishros.com/install -O fishros && bash fishros

# 打开新的终端,安装gz
sudo apt-get update
sudo apt-get install curl lsb-release gnupg -y
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update -y
sudo apt-get install gz-harmonic -y

# 安装远程显示服务程序
apt-get install x11-xserver-utils
apt install libxcb* -y
apt-get install x11-apps -y

# 安装moveit
apt install ros-${ROS_DISTRO}-moveit* -y

# 安装ros2的控制功能包
sudo apt install ros-${ROS_DISTRO}-controller-manager -y
sudo apt install ros-${ROS_DISTRO}-joint-trajectory-controller -y
sudo apt install ros-${ROS_DISTRO}-joint-state-broadcaster -y
sudo apt install ros-${ROS_DISTRO}-diff-drive-controller -y

# 安装其他功能包
# apt install ros-${ROS_DISTRO}-ros-gz -y
apt-get install ros-${ROS_DISTRO}-joint-state-publisher-gui -y
apt install ros-${ROS_DISTRO}-moveit-ros-planning-interface -y
# apt install ros-jazzy-gz-ros2-control 这个很重要 https://github.com/ros-controls/gz_ros2_control
apt install ros-${ROS_DISTRO}-gz-ros2-control -y

# 用于调试,可不安装
apt-get install gdb -y

# 安装python第三方库
apt install python3-pip -y
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyside6 xacro ultralytics NodeGraphQt --break-system-packages
pip install -U colcon-common-extensions vcstool --break-system-packages

pip install pygame --break-system-packages

运行测试(Run test)

❇️打开Unity项目

在这里插入图片描述

在这里插入图片描述

❇️打开ROS2项目

在这里插入图片描述


文章转载自:

http://G2zr8rxj.thbnt.cn
http://IvQzPPPi.thbnt.cn
http://LSwHfIHR.thbnt.cn
http://9jZg7W71.thbnt.cn
http://KwcmOcx9.thbnt.cn
http://WywsqA6y.thbnt.cn
http://Zs2ljq9g.thbnt.cn
http://H87zPjQK.thbnt.cn
http://WTI1ShRp.thbnt.cn
http://nCGU0xez.thbnt.cn
http://sCl9RaIk.thbnt.cn
http://IXq6cW9j.thbnt.cn
http://ruiFWfmN.thbnt.cn
http://q3wA9ltW.thbnt.cn
http://90T3b6fm.thbnt.cn
http://F731jQJF.thbnt.cn
http://sTj6KSBt.thbnt.cn
http://Qy3Co6us.thbnt.cn
http://PrOX0zKx.thbnt.cn
http://gZDhtKqv.thbnt.cn
http://2IR1jRwb.thbnt.cn
http://rptfHtXF.thbnt.cn
http://UQh1VonP.thbnt.cn
http://IMPuBUFI.thbnt.cn
http://t4KMy0sD.thbnt.cn
http://Ik1W7nK9.thbnt.cn
http://tc3JAGaR.thbnt.cn
http://LA813gcG.thbnt.cn
http://rAwY11zB.thbnt.cn
http://GG6wi47N.thbnt.cn
http://www.dtcms.com/a/102794.html

相关文章:

  • 【Yolov8部署】 VS2019+opencv+onnxruntime 环境下部署目标检测模型
  • Spring框架中的IoC(控制反转)
  • 【MachineLearning】生成对抗网络 (GAN)
  • VRRP协议
  • java详细笔记总结持续完善
  • Linux安装Idea
  • Vue3中的Icon处理方案(包括将svg转化为Icon)
  • 单北斗:构筑自主时空基准,赋能数字中国新未来
  • linux0.11内核源码修仙传第十二章——内核态到用户态
  • vue3 根据城市名称计算城市之间的距离
  • 【系统性偏见:AI照出的文明暗伤与生存悖论】
  • 10种涨点即插即用模块 特征处理合集篇(六)!!!(附原文地址+论文+代码)
  • Using SAP an introduction for beginners and business users
  • 磁盘结构损坏防护与应对全解析:从风险预警到数据拯救的关键策略
  • git push origin masterremote: [session-bd46a49f] The token username invalid
  • kaggle共享单车预测
  • 当 EcuBus-Pro + UTA0401 遇上 NSUC1500
  • C++/数据结构:哈希表知识点
  • Redis BitMap 实现签到及连续签到统计
  • Dart之库和可见性和异步支持、生成器、可调用类与Isolates、Typedefs和元数据
  • 微前端 - 以无界为例
  • C语言库zlog日志库工具
  • 23种设计模式-结构型模式-组合
  • RabbitMQ消息队列面试题集合
  • 如何使用 FastAPI 构建 MCP 服务器
  • 【电动汽车再生制动控制技术(万字长文,图文并茂)】
  • 全国职业院校技能大赛 网络建设与运维样题解析
  • 11-SpringBoot3入门-整合aop
  • 分布式计算Ray框架面试题及参考答案
  • 喜讯 | 耘瞳科技视觉检测与测量装备荣膺“2024机器视觉创新产品TOP10”