文章目錄
- 前言(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-packagespip install pygame --break-system-packages
運行測試(Run test)
??打開Unity項目
??打開ROS2項目