文章目录
ros本身就是分布式的系统,是支持主从机通讯的,远程控制无非就是主从机的发布控制的消息。
一.pc与pc端
这里两个pc端可以理解为:一个pc是我们写代码的pc,一个是部署在小车上的工控机,为了方便调试(总不能拿的电脑跟小车跑)
假设A主机的ip为:192.168.0.1,B主机的ip为:192.168.0.2。实际中可以通过“ifconfig”来查看ip地址, 使用“hostname”查看主机名称
步骤1: 彼此添加对方IP
相互添加对方的IP到系统文件里:/etc/hosts
sudo gedit /etc/hosts
在A主机里添加:
192.168.0.2 B主机的计算机名称
在B主机里添加:
192.168.0.1 A主机的计算机名称
步骤2: 检查是否IP互通
在A主机尝试ping:
ping 192.168.0.2
出现下面字段,表示ping通了(这里IP是B主机的)
在B主机尝试ping:
ping 192.168.0.1
出现下面字段,表示ping通了(这里IP是A主机的)
步骤3: 设置ROS Master(管理员调度中心)
选择其中一台作为主机(这里选择A为主机),其他的作为从机,主机只有一台,从机可以有多台。
在命令行打开配置文件
sudo gedit ~/.bashrc
在文中添加:()
ROS_MASTER_URL=http://192.168.0.1:11311
二.手机与pc端
这里手机端和pc端可以理解为:手机端就是我们人手一个的安卓手机环境,pc端是部署在小车上的工控机。
(1)pc端:
开热点,手机连接这个热点(反过来也可以,总之在同一网段内)安装好ros环境
步骤1: 运行 roscore
步骤2: 新开一个终端运行,运行 rosrun turtlesim turtlesim_node
步骤3: 新建一个终端查看ip,运行ifconfig
记住这个ip,一会儿再手机端要用到,ifconfig没有这个命令行,请按提示安装工具。
步骤4:查看控制话题:rostopic list
这里控制的话题是“/turtle1/cmd_vel”,后面手机端需要填写这个话题。
(2)手机端:
步骤1: 下载官方的app
链接: https://pan.baidu.com/s/1bTNUjUfkupbaNVghjuP5CQ?pwd=ehqm 提取码: ehqm
步骤2: 安装和配置ip
和普通的app程序一样安装即可,在“Master URL”下添加刚才在pc端的ip
步骤3: 添加遥控
点击Add widget + 号即可添加,摇杆Joystick
步骤4: 配置摇杆话题
步骤5: 回到VIZ界面,便可以看到控制按钮了
不出意外的话,此时通过摇杆就可以控制小乌龟移动了。