在ubuntu 12.04环境下配置Motion Strategy Library(MSL)

本文介绍了如何在Ubuntu 12.04环境下配置MSL,一个由UIUC开发的机器人运动规划仿真平台。首先从官方网站下载安装包,接着安装依赖如FOX、PQP和OpenGL。详细说明了手动编译和配置过程,包括解决编译过程中遇到的问题,如添加#include<cstdlib>到defs.h文件,以及可能需要添加-lXtf到Makefile.config。完成这些步骤后,即可成功安装并享受MSL带来的便利。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    MSL是UIUC的Steve Lavalle等人用C++写的机器人运动规划仿真平台,其中给出了多种PRM算法和RRT算法的完整实现和仿真,是研究机器人运动规划的有力工具。UIUC最初提供的软件包是工作在redhat linux平台上的,后来国内的王伟博士成功将其移植到windows平台上。

    然而,毫无疑问的是,linux对于我的吸引力远胜于windows。基于本人所使用的ubuntu 12.04,我决定将编译安装MSL软件包的整个过程写下来,只为后来人能少走弯路,在运动规划的科研道路上走得更顺畅一点。

    首先,去http://msl.cs.uiuc.edu/msl/ 下载安装包。这里要注意,本人推荐下载经过牛津大学的Ian Baldwin升级的软件包。与UIUC原始的软件包相比,这个包的源码修正了很多bug。

    安装MSL,首先需要安装一些MSL所依赖的软件包或者库文件,下载MSL的页面上列出了这些包的清单:FOX、PQP以及OpenGL。这些包通常都是要亲自动手编译安装的,当然,你可以上新立得,但是我自己是分别从官网下载然后手动安装的。PQP及OpenGL的安装都比较简单,稍微复杂的FOX安装可参照我的另一篇文章http://blog.youkuaiyun.com/qtyl1988/article/details/7703648。

    解压软件包,得到目录msl-2.0.mod,进入该目录,先打开Makefile.config。看名字就知道,这是个用于编译的配置文件。你会发现如下的代码:

#FOXINC = @FOX_INC_F@
#FOXLIB = @FOX_LIB_F@ @PNG_LIB_F@ @JPEG_LIB_F@ -lFOX -ljpeg -lpng
FOXLIB = -lFOX -ljpeg -lpng
FOXFLAGS = -DTIME_WITH_SYS_TIME=1 -DHAVE_UNISTD_H=1 -DHAVE_DIRENT_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_ZLIB_H=1 -DHAVE_JPEGLIB_H=1 -DHAVE_PNG_H=1 -DHAVE_OPENGL -DHAVE_JPEG

#########  PQP Configuration
#PQPINC = @INCPQP@
#PQPLIB = @LDPQP@ -lPQP
PQPLIB = -lPQP
PQPFLAGS =

######### X11 Configuration
XINC=-I
XLIB=-L -lX11 -lXmu -lXext -lXi

########   GL Configuration
#GLINC = @GL_INC_F@  @GLUT_INC_F@
#GLLIB = @GL_LIB_F@ @GLUT_LIB_F@ -lglut -lGLU -lGL 
GLLIB = -lglut -lGLU -lGL
GLFLAGS =

    其中给出了多个MSL必须依赖的库,包括libFOX、libjpeg、libpng、PQP碰撞检测包(可从http://gamma.cs.unc.edu/SSV/下载)libPQP、与xWindow相关的libX11、libXmu、libXext、libXi以及openGL的libglut等等。请确保以上所有库文件都在你的电脑里,不然在后面编译时你会遇到各种麻烦。

    也许有人会问,既然PQP和FOX都是自己动手编译安装的,那么他们的lib和include目录都在哪里呢?Good question! 在ubuntu 12.04下,FOX的include被安装在/usr/local/include下,而起lib则位于/usr/l

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值