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


文章目录

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

前言(Introduction)

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

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

参考:

实现在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容器

shell 复制代码
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

shell 复制代码
# 可选
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

❇️安装相关软件

shell 复制代码
# 按照鱼香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项目

相关推荐
青少儿编程课堂34 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:中缀表达式求值解析
c++·python·算法·bfs·信息学竞赛
修己xj1 小时前
在 AMD 机器上拉取 ARM 架构 Docker 镜像
docker
灿飞屋3 小时前
Kotlin与Java虚拟机四:函数
java·python·kotlin·安卓·android jetpack
瑞克-桑切斯4 小时前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
一晌小贪欢4 小时前
Python基础:第 09 篇 · while 循环:重复直到不满足
开发语言·c++·python·数据可视化·面向对象·python办公
一条大祥脚5 小时前
CuTe 与 CuTe DSL:从 C++ 模板元编程到 Python DSL 的 GPU 编程演进
开发语言·c++·python·cutlass·cute·cute dsl
10年前端老司机5 小时前
Milvus 8种检索能力实践
数据库·python·agent
Sakura_j_h_6 小时前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
大草原的小灰灰6 小时前
LLM应用的标准开发框架LangChain(八)- 中间件
python·中间件·langchain
卷无止境6 小时前
百万 token 时代的真相:主流大模型上下文窗口与最大输出的横向对比分析
人工智能·python