Fedora core 6 下开发pioneer3

 
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 中机器人总是围绕一个矩形行走。

你可能感兴趣的:(Fedora core 6 下开发pioneer3)