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

      在机器人的控制中,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

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

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

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

# This file is intended for users who want to build MoveIt from source.
# Used with wstool, users can download source of all packages of MoveIt.
- git:
    local-name: moveit_msgs
    uri: https://github.com/ros-planning/moveit_msgs.git
    version: master
- git:
    local-name: moveit_resources
    uri: https://github.com/ros-planning/moveit_resources.git
    version: master
- git:
    local-name: geometric_shapes
    uri: https://github.com/ros-planning/geometric_shapes.git
    version: noetic-devel
- git:
    local-name: srdfdom
    uri: https://github.com/ros-planning/srdfdom
    version: noetic-devel
- git:
    local-name: moveit
    uri: https://github.com/ros-planning/moveit.git
    version: master
- git:
    local-name: rviz_visual_tools
    uri: https://github.com/PickNikRobotics/rviz_visual_tools
    version: master
- git:
    local-name: moveit_visual_tools
    uri: https://github.com/ros-planning/moveit_visual_tools.git
    version: master
- git:
    local-name: moveit_tutorials
    uri: https://github.com/ros-planning/moveit_tutorials.git
    version: master
- git:
    local-name: panda_moveit_config
    uri: https://github.com/ros-planning/panda_moveit_config.git
    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 

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
要在ROS安装OMPL,可以按照以下步骤进行操作: 1. 首先确保你已经安装ROS,并且已经更新到最新的版本。可以使用以下命令来更新ROS: ``` sudo apt-get update sudo apt-get upgrade ``` 2. 接下来,需要安装OMPL的依赖项。可以使用以下命令来安装OMPL的依赖项: ``` rosdep install -y --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} ``` 请确保将`${ROS_DISTRO}`替换为你正在使用的ROS发行版。 3. 然后,使用以下命令将OMPL源码合并到你的ROS工作区中: ``` wstool init src wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall wstool update -t src ``` 4. 接下来,配置你的ROS工作区并设置构建类型为Release: ``` catkin config --extend /opt/ros/${ROS_DISTRO} --cmake-args -DCMAKE_BUILD_TYPE=Release ``` 同样,确保将`${ROS_DISTRO}`替换为你正在使用的ROS发行版。 5. 最后,构建并编译OMPL:[3] ``` sudo catkin build ``` 请注意,这可能需要一些时间来完成编译过程,具体取决于你的电脑性能和网络速度。 完成上述步骤后,OMPL将被成功安装在你的ROS系统中。现在你可以在ROS中使用OMPL了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ROS melodic安装Moveit,OMPL](https://blog.csdn.net/qq_41035283/article/details/125690393)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [源码方式安装moveit和omplUbuntu18.04+ROS Melodic版本)](https://blog.csdn.net/m0_62534602/article/details/129196602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值