Chinaunix首页 | 论坛 | 博客
  • 博客访问: 662808
  • 博文数量: 810
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5025
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 11:41
文章分类

全部博文(810)

文章存档

2011年(1)

2008年(809)

我的朋友

分类: LINUX

2008-08-22 11:44:54


1、引言

pioneer3-dx机器人提供的开发环境ARIA,及其仿真环境Mobilesim的windows版是以exe文件的方式发布,linux版以rpm包和源代码包两种方式发布。其windows版的安装和使用与其他的windows程序的安装和使用方式完全一致。其linux版的安装和使用方式随linux版本的不同而不同。本文以在Fedoracore6下安装和使用pioneer3-dx机器人提供的开发环境ARIA,及其仿真环境Mobilesim为例,阐述其在linux系统下安装和使用方法。

2、安装ARIA

ARIA是pioneer3-dx机器人提供的开发库,随机器人的光盘里有相应的rpm安装包和源代码包。在Fedoracore6下可以直接使用rpm包安装ARIA,如下:

进入光盘目录
#cd/path-to-ARIA/ARIA

用rpm包安装
#rpm–ivhARIA-2.5.1-0.i386.rpm

但是这样安装会出现机器人控制程序无法获取机器人位置信息的情况,因此使用机器人附件光盘里的ARIA的源码包进行安装。拷贝源码包到任意目录:

#cp../ARIA/ARIA-2.5.1.tgz/home/p3robot

解压:
#cd/home/p3robot
#tar-xzvfARIA-2.5.1.tgz

编译和安装
#cdARIA-2.5.1
#make
#makeinstall
#ldconfig

执行完上述步骤就会将ARIA安装的到/usr/local,到这里机器人pioneer3-DX的开发环境就安装完毕。

3、安装Mobilesim

由于机器人附件光盘里的mobilesim的rpm安装包需要libsft.so.1的支持,这个要求与FedoraCore6系统的libsft.so.2相冲突(linux系统常见的依赖库冲突问题),所以不能直接使用该rpm包安装,必须使用源码安装。下载MobileSim的源代码

#wget

解压:
#tgz.tar-xzvfMobileSim-src-0.4.0.tgz
#cdMobileSim-src-0.4.0

编译:
#make

安装:
#makeinstall

然后在Fedoracore6的“应用程序-->其他”里出现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-rh127.0.0.1-remoteRobotTcpPort8101

可以看到Mobilesim中机器人总是围绕一个矩形行走。 下载本文示例代码
阅读(224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~