Unity 与 虚拟机ROS连接
- 知识储备
- 前期准备
- ROS部分
- Unity部分
- 连接测试
知识储备
- unity官方教程: https://github.com/Unity-Technologies/Unity-Robotics-Hub
- Win11家庭版开启HyperV: https://zhuanlan.zhihu.com/p/577980646
- HyperV安装Ubuntu: https://blog.csdn.net/xianzhan_/article/details/116177434
我安装的是WSL中的18.04,没有自己下载iso文件。 - Ubuntu安装ROS: https://wiki.ros.org/melodic/Installation/Ubuntu
- catkin_make: command not found 解决办法:
https://blog.csdn.net/qq_41134436/article/details/107480251 - Unity导入URDF模型: https://blog.csdn.net/gls_nuaa/article/details/128034844
前期准备
ROS部分
- window11家庭版 开通HyperV,安装Ubuntu18.04;
不需要多余的设置,ROS这面也不需要使用GPU。 - 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
- 安装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
- 安装其他相关包
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部分
- Unity 安装
URDF Importer
和ROS-TCP-Connector
;
从package manager中安装 - 准备一个 publisher.cs
连接测试
- ROS IP Address 可通过
ifconfig
得到
虽然官方教程(用docker)给出的端口号是 127.0.0.1
但是我们连接虚拟机 要用的是另上面的一个端口号
2. ROS端
roslaunch ros_tcp_endpoint endpoint.launch
- Unity端 -> play game
ROS IP 蓝色 成功!