在机器人的控制中,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测试啦文章来源:https://www.toymoban.com/news/detail-492629.html
roslaunch moveit_setup_assistant setup_assistant.launch 文章来源地址https://www.toymoban.com/news/detail-492629.html
到了这里,关于源码方式安装moveit和ompl库(Ubuntu18.04+ROS Melodic版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!