1、
引言
pioneer3-dx
机器人提供的开发环境
ARIA
,及其仿真环境
Mobilesim
的
windows
版是以
exe
文件的方式发布,
linux
版以
rpm
包和源代码包两种方式发布。其
windows
版的安装和使用与其他的
windows
程序的安装和使用方式完全一致。其
linux
版的安装和使用方式随
linux
版本的不同而不同。本文以在
Fedora core 6
下安装和使用
pioneer3-dx
机器人提供的开发环境
ARIA
,及其仿真环境
Mobilesim
为例,阐述其在
linux
系统下安装和使用方法。
2、
安装
ARIA
ARIA
是
pioneer3-dx
机器人提供的开发库,随机器人的光盘里有相应的
rpm
安装包和源代码包。在
Fedora core 6
下可以直接使用
rpm
包安装
ARIA
,如下:
进入光盘目录
#cd /path-to-ARIA/ARIA
用
rpm
包安装
#rpm –ivh ARIA-2.5.1-0.i386.rpm
但是这样安装会出现机器人控制程序无法获取机器人位置信息的情况,因此使用机器人附件光盘里的
ARIA
的源码包进行安装。拷贝源码包到任意目录:
#cp ../ARIA/ARIA-2.5.1.tgz /home/p3robot
解压:
#cd /home/p3robot
#tar -xzvf ARIA-2.5.1.tgz
编译和安装
#cd ARIA-2.5.1
#make
#make install
#ldconfig
执行完上述步骤就会将
ARIA
安装的到
/usr/local,
到这里机器人
pioneer3-DX
的开发环境就安装完毕。
3、
安装
Mobilesim
由于机器人附件光盘里的
mobilesim
的
rpm
安装包需要
libsft.so.1
的支持,这个要求与
Fedora Core 6
系统的
libsft.so.2
相冲突
(linux
系统常见的依赖库冲突问题
)
,所以不能直接使用该
rpm
包安装,必须使用源码安装。下载
MobileSim
的源代码
#wget http://robots.mobilerobots.com/MobileSimSource/download/MobileSim-src-0.4.0.tgz
解压:
#tgz. tar -xzvf MobileSim-src-0.4.0.tgz
#cd MobileSim-src-0.4.0
编译:
#make
安装:
#make install
然后在
Fedora core 6
的“应用程序
-->
其他”里出现
Mobilesim
注意:在使用
Mobilesim
进行仿真的时候必须让
eth0
处于激活状态,并且必须用网线连接到路由器,否则会出现无法打开
TCPPORT
的错误(反正我使用双机对连线连接到另一台机器来激活
eth0
也不能进行仿真)这个问题在其他版本的
linux
系统中可能不会出现。
4、
编写
pioneer3-dx
机器人控制程序
以
ARIA
提供的例子gotoActionExample.cpp为例,将gotoActionExample.cpp复制到/home/robot-p3dx目录下。在该目录下创建一个名为Makefile的文件,文件内容如下:
SOURCE=gotoActionExample.cpp
OBJECTS=$(SOURCE:%.c=%.o)
TARGET = Goto
OPTION=-Wall -g -pthread
INCLUDEPATH= -I/usr/local/Aria/include
LIBPATH=-L/usr/local/Aria/lib
LIBS=-lAria -lArNetworking -lAriaJava -lArNetworkingJava
CC=gcc
$(TARGET):$(OBJECTS)
$(CC) $(OPTION) $(INCLUDEPATH) $(LIBPATH) $(LIBS) -o $(TARGET) $(OBJECTS)
clean:
-rm -f $(TARGET) *.o *~
打开一个终端,进入这个目录
#cd /home/robot-p3dx
编译
#make
编译后生成一个名为
Goto
的可执行文件。打开
Mobilesim
,不加载
map
,可以看到
mobilesim
打开了一个
TCP
端口
8101
等待机器人控制程序的连接。运行刚才生成的可执行程序
Goto
#./Goto -rh 127.0.0.1 -remoteRobotTcpPort 8101
可以看到
Mobilesim
中机器人总是围绕一个矩形行走。