• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

源码方式安装moveit和ompl库Ubuntu18.04+ROS Melodic版本

武飞扬头像
猿小白~
帮助1

      在机器人的控制中,ros的现有组件完全够我们把机器人控制的活灵活现, 但是要想实现一些自己独特的功能,那就要下一些功夫了,比如在moveit中自定义自己的轨迹规划算法。为了实现这个功能,环境搭建就花费了我两天的时间,把过程分享给大家,希望能帮大家减少一些弯路把。整个过程以官网的教程为基础,由加入了一些自己遇到的问题以及解决方式。

1.使用如下指令卸载系统原来安装的moveit,因为这不是以源码的方式安装的,系统内只有相关算法的.h文件,没有给我们预留自定义算法的发挥空间

sudo apt-get remove ros-kinetic-moveit-*

2.继续按照官网的教程执行以下命令,目的就是将当前的工作环境更新,避免出现版本对不上的问题

rosdep update
sudo apt-get update
sudo apt-get dist-upgrade

3.执行以下命令,安装过程中需要用到的工具

sudo apt-get install python-wstool python-catkin-tools clang-format-3.9 

4.以上指令都是在直接打开的终端中输入的,接下里创建ws_moveit工作空间,在内部完成相关操作

mkdir ~/ws_moveit
cd ~/ws_moveit 

5.进入工作空间后,更新一下环境白变量

source /opt/ros/melodic/setup.bash

6.接下来进入正题,官网以及其它网站上的教程都是如下方式,在工作空间内依次执行以下命令

wstool init src
wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall
wstool update -t src
rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}
catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release 
sodu catkin build

正常执行到第二行的时候,系统会花费一定时间,因为要从好几个网站上获取相关源码,但是,我却不可以,命令键入,直接输出以下内容

  1.  
    Traceback (most recent call last):
  2.  
    File "/home/liuxianglei/.local/bin/wstool", line 62, in <module>
  3.  
    sys.exit(wstool.wstool_cli.wstool_main(sys.argv))
  4.  
    File "/home/liuxianglei/.local/lib/python3.6/site-packages/wstool/wstool_cli.py", line 180, in wstool_main
  5.  
    return ws_commands[command](workspace, args)
  6.  
    File "/home/liuxianglei/.local/lib/python3.6/site-packages/wstool/multiproject_cli.py", line 584, in cmd_merge
  7.  
    allow_other_element=self.allow_other_element)
  8.  
    File "/home/liuxianglei/.local/lib/python3.6/site-packages/wstool/multiproject_cli.py", line 200, in prompt_merge
  9.  
    config_filename=config_filename)
  10.  
    File "/home/liuxianglei/.local/lib/python3.6/site-packages/wstool/multiproject_cmd.py", line 101, in get_config
  11.  
    as_is=True)
  12.  
    File "/home/liuxianglei/.local/lib/python3.6/site-packages/wstool/config_yaml.py", line 110, in get_path_specs_from_uri
  13.  
    yaml_spec = get_yaml_from_uri(uri)
  14.  
    File "/home/liuxianglei/.local/lib/python3.6/site-packages/wstool/config_yaml.py", line 74, in get_yaml_from_uri
  15.  
    yamldata = yaml.load(stream)
  16.  
    TypeError: load() missing 1 required positional argument: 'Loader'
学新通

初入编程的我并不知道这个问题应该怎么解决,搜索了好多网站,还是没能解决,安静下来仔细思考,这一句的作用是什么,不就是在网站上把相关的安装文件下载下来吗,我直接去下载,放在工作空间不就可以了嘛。果然,打开网站是以下内容

  1.  
    # This file is intended for users who want to build MoveIt from source.
  2.  
    # Used with wstool, users can download source of all packages of MoveIt.
  3.  
    - git:
  4.  
    local-name: moveit_msgs
  5.  
    uri: https://github.com/ros-planning/moveit_msgs.git
  6.  
    version: master
  7.  
    - git:
  8.  
    local-name: moveit_resources
  9.  
    uri: https://github.com/ros-planning/moveit_resources.git
  10.  
    version: master
  11.  
    - git:
  12.  
    local-name: geometric_shapes
  13.  
    uri: https://github.com/ros-planning/geometric_shapes.git
  14.  
    version: noetic-devel
  15.  
    - git:
  16.  
    local-name: srdfdom
  17.  
    uri: https://github.com/ros-planning/srdfdom
  18.  
    version: noetic-devel
  19.  
    - git:
  20.  
    local-name: moveit
  21.  
    uri: https://github.com/ros-planning/moveit.git
  22.  
    version: master
  23.  
    - git:
  24.  
    local-name: rviz_visual_tools
  25.  
    uri: https://github.com/PickNikRobotics/rviz_visual_tools
  26.  
    version: master
  27.  
    - git:
  28.  
    local-name: moveit_visual_tools
  29.  
    uri: https://github.com/ros-planning/moveit_visual_tools.git
  30.  
    version: master
  31.  
    - git:
  32.  
    local-name: moveit_tutorials
  33.  
    uri: https://github.com/ros-planning/moveit_tutorials.git
  34.  
    version: master
  35.  
    - git:
  36.  
    local-name: panda_moveit_config
  37.  
    uri: https://github.com/ros-planning/panda_moveit_config.git
  38.  
    version: noetic-devel
学新通

这里一共有9个文件,直接点开对应的网址去下载就好了,下载后放在刚才的src文件夹下,需要注意的是,注意下载的文件版本和自己的ros版本要相匹配,在左侧的下拉菜单中进行选择。

学新通

 7.这样在依次执行以下命令,就能够完成源码的安装了

wstool update -t src
rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO}
catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release 
sodu catkin build

这里如果出现安装失败,就定位到出错前正在编译的文件,大概率是这个文件版本不对,尝试更换为master版本或者当前的ros版本,重新编译。

编译成功之后的结果如下

学新通

 8.接下来,进行ompl的安装,这部分比较简单了,直接使用以下语句,如果克隆失败,直接去网站里下载,放在src文件中

cd ~/moveit_ws/src
git clone https://github.com/ompl/ompl
sudo catkin build

9.最后,还有一步不能忽略,就是安装moveit,具体为什么执行这一步我也没搞懂,但是不安装,就无法正常运行demo.launch文件

sudo apt-get install ros-melodic-moveit

至此就完成安装了,可以用setup测试啦

roslaunch moveit_setup_assistant setup_assistant.launch 

这篇文章转载于:学新通

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通
  • 本文地址: https://www.swvq.com/boutique/detail/tanheheeki
  • 联系方式: luke.wu●vfv.cc
系列文章
更多 icon
同类精品
更多 icon
我要评论
我的头像
精彩评论
继续加载