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 得到
    Unity 与 虚拟机ROS连接_第1张图片

虽然官方教程(用docker)给出的端口号是 127.0.0.1
但是我们连接虚拟机 要用的是另上面的一个端口号
Unity 与 虚拟机ROS连接_第2张图片
2. ROS端

roslaunch ros_tcp_endpoint endpoint.launch
  1. Unity端 -> play game
    Unity 与 虚拟机ROS连接_第3张图片
    ROS IP 蓝色 成功!

你可能感兴趣的:(robotic,unity,游戏引擎)