小乌龟程序
在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间通信方便,就连不同设备间通信也很方便,只需添加几行代码,你就可以实现多电脑间的 Topi c共享, 远程控制等功能。下面就让我们一起来实现吧!
这里假设我们有两个电脑:电脑 A 为主机端,电脑 B 为控制端。最终要实现在 A 电脑上运行roscore,并且运行 Turtlesim 程序,然后在 B 电脑上运行键盘控制程序,控制 Turtlesim 小乌龟移动。
1. 查看电脑A和电脑B的 IP 和 Hostname
查看IP,在控制台输入:
$ ifconfig
如果电脑连接的时有线网,则显示结果中,etho 部分的 inet addr 后面就是该电脑的 IP 地址;
如果电脑连接的是无线,则 wlp3s0 部分的 inet addr 后就是 IP 地址。
查看 Hostname,在控制台输入:
$ hostname
2. 修改hosts文件内容
使用如下指令,分别在电脑A和电脑B的打开 hosts 文件:
$ sudo gedit /etc/hosts
在电脑A端的 hosts文件 中添加如下加粗指令:
复制代码
127.0.0.1 localhost
127.0.1.1 [ hostname_A ]
[IP_A] [ hostname_A ]
[IP_B] [ hostname_B ]
***
复制代码
同理,在电脑B端的 hosts 文件中,加入如下加粗指令:
复制代码
127.0.0.1 localhost
127.0.1.1 [ hostname_B ]
[IP_B] [ hostname_B ]
[IP_A] [ hostname_A ]
***
复制代码
3. 修改 .bashrc 文件
使用如下指令,分别在电脑A和电脑B的打开 .bashrc 文件
$ sudo gedit ~/.bashrc
在电脑A端和电脑B端打开的 .bashrc 文件的最后一行,加入如下代码:
export ROS_MASTER_URI=http://[hostname_A]:11311
[注意] 此处假设电脑A为主机,如果改成电脑B为主机,则只需要将此步中的 [hostname_A] 改成 [hostname_B] 即可。
4. 运行小乌龟程序
电脑A端:
首先启动 ROS:
$ roscore
然后 Ctrl + T 打开新的控制台,运行:
$ rosrun turtlesim turtlesim_node
电脑B端:
$ rosrun turtlesim turtle_teleop_key
现在,你就可以用电脑 B 控制电脑 A 中的小乌龟尽情遨游啦! ~\(≧▽≦)/~啦啦啦
② 以前小学微机课学的一个小乌龟画图的编程叫什么
名为:LOGO语言。
LOGO语言是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它通过“绘图”的方式来学习编程,对初学者特别是儿童进行寓教于乐的教学方式。 LOGO语言创始于1968年,是美国国家科学基金会所资助的一项专案研究,在麻省理工大学(MIT)的人工智能研究室完成。
LOGO源自希腊文,原意即为思想,是由一名叫西摩尔·帕伯特的心理学家在从事儿童学习的研究中,发现一些与他的想法相反的教学方法,并在一个假日中出外散步时,偶然间看到一个像海龟的机械装置触发灵感,于是利用他广博的知识及聪明的才智而最终完成了LOGO语言的设计。
拓展资料
语言介绍
绘图是LOGO语言中最主要的功能,佩伯特博士就是希望能通过绘图的方式来培养学生学习电脑的兴趣和正确的学习观念。LOGO语言从开始发展到现在,已有Windows版本——MSWLogo,包括Windows 3.X版及Windows9X版等。
在以前的LOGO语言中有一个海龟,它有位置与指向两个重要参数,海龟按程序中的LOGO指令或用户的操作命令在屏幕上执行一定的动作,现在,图中的海龟由小三角形所替代。上世纪90年代,台湾推出繁体版的LOGO语言,称之为:【葛拉堡/Gerlabau】,其后国内也推出了中文化的LOGO语言,分别是“易乐谷/ELOGO”、“创新CX-LOGO/微世界”和“Flash版Logo语言”,发扬了中文编程的优势。
基本命令
1.与移动有关的指令:“前进”、“后退”和“归位”。前进命令可让海龟前移一定的单位数,例如:执行“FD(前进,forward的缩写) 50”命令后,小海龟则会向前移动50个单位;后退命令则可让小海龟向后移动,如果执行“BK(后退,back的缩写) 50”命令,那么小海龟的方向不会发生改变,而会向后退50个单位;执行归位命令后,不论当前小海龟的位置及方向怎样,它就会乖乖地回到绘图区的中央位置,并且朝向屏幕的正上方。
2.与转弯有关的指令:“右转”和 “左转”。右转命令可让小海龟按要求向右边转动一定的角度,例如:执行“RT(右转,right的缩写) 45”命令则小海龟的朝向将向右转动45度角;而执行“LT(左转,left的缩写) 45”命令则小海龟的朝向将向左转动45度角。这两种命令可以驱使小海龟绕其中心旋转一定的角度。
3.与控制有关的命令有REPEAT(重复)、IF…THEN…ELSE…(条件执行)等。如执行REPEAT 4[FD 200 RT 9O]就能画出正方形,如果直接将移动命令和转弯命令相结合,则写出的语句就比较多,但都是一些重复地使用4次“FD 100”和“RT 90”命令。