来源:
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
解压:
#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中机器人总是围绕一个矩形行走。
阅读(241) | 评论(0) | 转发(0) |