1.让wsl2使用上本机的网络接口
具体做法:
- 在用户目录(写给小白,用户目录指的是C:\Users\xxxx ,这里的xxx是你自己windows下的用户名称)下创建.wslconfig(写给小白 先创建一个txt文件,将内容写好之后,再改名),内容如下:
[wsl2]
[experimental]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true - powershell设置,我只用了红线的这个(原来的网址如下:镜像网络模式)
- wsl2启动!本机的wlan ip地址出现在了wsl2里面了!!!!效果如下:
特别说明!!!:一般你完成上述步骤,roscore往往不起作用的,这是因为roscore的时候ros话题是被发布在了某一个网址上的,现在ip改变了,需要重新设置这个ip,可能每一次本机更换ip都需要设置,具体做法如下:
sudo gedit ~/.bashrc
打开的文件最底部加上:
export ROS_HOSTNAME=192.168.5.142
export ROS_MASTER_URI=http://192.168.5.142:11311
我的ip是192.168.5.142,具体情况具体分析,不能照抄!!!!
做完之后,roscore又可以了!!!
2.matlab设置主机地址
matlab命令行直接输入
setenv('ROS_MASTER_URI','http://192.168.5.142:11311')
rosinit
ok现在就完成了通信所有的设置了
3.test
在wsl2下的ros起一个节点
rosrun roscpp_tutorials talker
在matlab去查看话题
>> rostopic list
/chatter
/rosout
/rosout_agg
>> rosnode list
/matlab_global_node_10874
/rosout
/talker
>> rostopic echo /chatter
Data : hello world 426
---
Data : hello world 427
---
Data : hello world 428
---
Data : hello world 429
---
Data : hello world 430
---
Data : hello world 431
---
完毕!!