欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

搭建RobWork机器人框架(2):从源代码到安装全过程指南

最编程 2024-07-22 18:48:18
...

RobWork的安装还是比较简单的,这里我以Ubuntu系统为例,因为当前我的笔记本只安装了Ubuntu16.04系统,所以,本文主要介绍如何在Ubunut系统上源码编译安装RobWork机器人软件框架。

首先,我们需要注册一个GitLab帐号,因为RobWork的源码是托管在GitLab上的,所以这也是为什么RobWork在GitHub上的存在感那么低。我也比较好奇,RobWork作为一款优秀的机器人基础框架,官方为什么没有去大力推广,甚至都不屑于在GitHub上搞一个RobWork镜像。

Screenshot from 2021-07-16 21-38-15.png 注册好GitLab帐号之后,进入下面这个链接页面 gitlab.com/sdurobotics… ,下载RobWork源码,注意如果想要源码编译安装当前最新版本的RobWork,一定要通过 git clone 命令来 Download 源码,你可以用:

git clone git@gitlab.com:sdurobotics/RobWork.git
# 或者
git clone https://gitlab.com/sdurobotics/RobWork.git

不要使用 Download Source Code 的下载按钮下载压缩包,因为这样下载的源码基于CMake构建工程的时候会出错。旧的RobWork可以通过这种方式来下载源码,但是新的是不行的。

我们可以看到,最新的RobWork项目仓库中已经把RobWorkHardware模块移除了。可能是考虑到,大部分的RobWork用户基本不会与硬件打交道吧,具体原因我也不知道。目前,我在工作中主要用到的还是RobWork核心模块和RobWorkStudio图形用户界面。自己偶尔会根据工作需要,写一些RobWorkStudio插件来调试算法。

下载好RobWork源码之后,就是需要在你自己的电脑上安装一些依赖库: 必须安装:

sudo apt install gcc g++ cmake
sudo apt install libboost-dev 
sudo apt libboost-filesystem-dev libboost-program-options-dev libboost-serialization-dev libboost-thread-dev libeigen3-dev libqhull-dev

个人建议的可选安装:

sudo apt install qtbase5-dev (编译RobWorkStudio需要)
sudo apt install libode-dev (编译RobWorkSim需要)
sudo apt install libbullet-dev libbullet-extras-dev (编译RobWorkSim需要)
sudo apt-get install libgtest-dev
sudo apt-get install libfcl-dev
sudo apt-get install libassimp-dev
sudo apt-get install libfreeglut-dev

可选安装:

sudo apt-get install libxerces-c3.2 libxerces-c-dev
sudo apt-get install swig liblua5.3-dev python3-dev python3-numpy default-jdk

开始编译RobWork(假设RobWork源码git clone在Home目录下):

cd RobWork
mkdir Build
mkdir Build/RW
mkdir Build/RWStudio
mkdir Build/RWSim

编译核心模块RobWork:

cd ~/RobWork/Build/RW
cmake -DCMAKE_BUILD_TYPE=Release ../../RobWork
make -j4
# to build the python lua anf java language interfaces you must have swig installed and then call
make -j4 python
make -j4 lua
make -j4 java

编译GUI模块RobWorkStudio:

cd ~/RobWork/Build/RWStudio
cmake -DCMAKE_BUILD_TYPE=Release ../../RobWorkStudio
make -j4
# to build the python lua anf java language interfaces you must have swig installed and then call
make -j4 python
make -j4 lua
make -j4 java

编译仿真模块RobWorkSim:

cd ~/RobWork/Build/RWSim
cmake -DCMAKE_BUILD_TYPE=Release ../../RobWorkSim
make -j4
# to build the python lua anf java language interfaces you must have swig installed and then call
make -j4 python
make -j4 lua
make -j4 java

最后设置环境变量:

gedit ~/.bashrc
# 在.bashrc文件的末尾,添加环境变量:
export RW_ROOT=~/RobWork/RobWork/
export RWS_ROOT=~/RobWork/RobWorkStudio/
export RWSIM_ROOT=~/RobWork/RobWorkSim/
source ~/.bashrc

除了上面官方推荐的通过命令行的方式来编译RobWork,我个人更推荐使用Clion来编译RobWork框架,同样你需要先安装上面介绍的依赖库,然后下载一个Clion安装包,本文我使用的是Ubuntu系统,所以我这里下载的是Linux版本的Clion,然后解压CLion后通过clion.sh启动脚本启动Clion程序,然后就是加载RobWork工程,最后就是按需编译,或者Build All也可以。 Screenshot from 2021-07-16 22-21-01.png 使用Clion的另外一个好处是,CLion本身功能非常强大,毕竟与Java IDEA出自同一师门。用户可以浏览RobWork的源码,按需编译代码,编写自己的UT测试用例。可以快速上手RobWork框架。

RobWorkStudio编译完成之后,启动RobWorkStudio,并加载一个UR10e的机器人的场景文件,下面是UR10e机械臂加载完之后的截图: Screenshot from 2021-07-16 22-05-52.png

其中左侧栏是一个Jog插件,用户用鼠标可以拖拽每个关节,让机械臂动起来。 右侧是UR10e机械臂的3D网格模型的可视化渲染效果图。

开启碰撞检测功能后,我们还可以可视化机械臂的关节构形是否发生碰撞检测:

Screenshot from 2021-07-16 22-26-27.png