源码方式安装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
这篇文章转载于:学新通
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通
- 本文地址: https://www.swvq.com/boutique/detail/tanheheeki
- 联系方式: luke.wu●vfv.cc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop怎么在一张图上加图
PHP中文网 06-24 -
photoshop像素不50怎么改
PHP中文网 06-22 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
抖音国际版要用什么加速器能流畅刷Tiktok的加速器
TK小达人 08-02