欢迎关注小鱼的公众号《鱼香ROS》一起学习机器人~
大家好,我是正在偷吃着小仙女锅巴的小鱼。
今天有个小伙伴问小鱼Windows10下如何安装ROS2和编译,有没有什么好滴简单滴办法,于是小鱼就探索了一下,发现还真是没啥好办法,bug和需要配置的还是挺多的。
所以今天就来说说如何在Windows10上安装ROS2,跑小乌龟和编译节点。顺便劝退下要使用Windows学ROS2的小伙伴~
在Windows下安装使用ROS2有两种方式
我们这里就是要装个不套壳的(实诚小鱼,不搞套娃)
powershell是一个交互终端,其命令和linux下差不多,ls,ssh,ping,scp等等都是支持的。
可以使用win+R,输入powershell打开,也可以通过左下方搜索powershell打开。
也是个终端,大家平时见到的可能比较多,使用win+R,输入cmd即可打开,也可以通过左下方搜索打开。
vscode就是小鱼着力推荐的一款编辑器,万物皆可编辑,非常的牛。这里小鱼就不多说了~
vs指的是visual studio ,是微软出的一款炒鸡大的编辑器加编译器,今天我们需要安装它来编译程序~
这里居然也可以做到两行程序安装ROS2,太令人开心了吧~
ros2使用choco进行windows下的分发安装的,所以我们要先安装choco~
使用管理员权限打开powershell,记得一定要管理员权限
复制粘贴大法到powershell,安装好ROS2~
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
安装完成后在powershell中输入choco会是这个样子的
终端不要关闭,下面还要继续使用~
直接把下面这一大坨复制粘贴到你的终端,
mkdir c:\opt\chocolatey
set PYTHONNOUSERSITE=1
set ChocolateyInstall=c:\opt\chocolatey
choco source add -n=ros-win -s="https://aka.ms/ros/public" --priority=1
choco upgrade ros-foxy-desktop -y --execution-timeout=0
中间会自动下载安装好ros2,也是挺方便的e
搞定后,下面开始跑小乌龟~
这个时候需要打开cmd了,Win+R,cmd,输入下面的两行指令
call C:\opt\ros\foxy\x64\local_setup.bat
ros2 run turtlesim turtlesim_node
你应该可以看到下面的打印,同时有一个乌龟模拟器跳出来
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>ros2 run turtlesim turtlesim_node &
[INFO] [1631619840.995104400] [turtlesim]: Starting turtlesim with node name /turtlesim
[INFO] [1631619840.999301900] [turtlesim]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]
接着我们如法炮制,启动键盘控制节点
再启动一个窗口~
call C:\opt\ros\foxy\x64\local_setup.bat
ros2 run turtlesim turtle_teleop_key
接着就可以控制小乌龟了~是不是很简单
接着麻烦的地方来了,我们要编译代码,这一步小鱼本想跨过visual studio,奈何最后还是装了一个2019,别的不说,下载链接先挂在这里
下载好都安装好,vsstudio2019安装时选组件,记得上桌面版c++开发,我们编译的时候需要这个,真的需要,不骗你,如果忘记了可以通过主界面,工具里重新安装。
还有就是vsstudio要我们登录的时候可以跳过的,在下面有小按钮,别一直登录登不上,贼难受哈~
搞定vsstudio,就可以使用colcon编译代码了~
最终生成exe
中间除了vsstudio2019安装外,没什么周折,算是没踩啥大坑,但是小问题还有很多没解决的,比如rqt工具有一部分缺失,比如包依赖关系导致colcon编译失败。
如果大家要学习ROS2,建议还是使用linux平台,从机器人生产的角度看,为了降低价格会使用arm板子,资源有限,需要对linxu系统进行裁剪。