前言:ubuntu20.04 ros noetic
试过很多教程,要么直接运行:
sudo apt-get install ros-noetic-moveit
#或者
wget -O $HOME/moveit1_install.sh https://raw.githubusercontent.com/auromix/ros-install-one-click/main/moveit1_install.sh && sudo chmod +x $HOME/moveit1_install.sh && sudo bash $HOME/moveit1_install.sh && rm $HOME/moveit1_install.sh
#如果读者使用上述代码成功了,那后文可以不看了
就可以安装成功,但是尝试过却会出现很多问题,因为ROS noetic 版本下的Moveit需要首先下载Moveit源码并成功编译后才能够安装成功,否则无法运行roslaunch moveit_setup_assistant setup_assistant.launch。
下载依赖文件
Moveit源代码安装需要wstool,catkin_tools和可选的clang三类文件:
(如果你是ros其他版本,本文中的代码均要考虑在你的那个版本对应的是什么,否则会出现无法定位软件包的问题,可以问gpt或者其他大模型)
在ros noetic中:打开终端
sudo apt-get install python3-wstool python3-catkin-tools clang-format-10
在ros melodic中则是
sudo apt-get install python3-wstool python3-catkin-tools clang-format-13
创建工作区和软件源
首先创建一个名为ws_moveit的工作区,在该工作区中执行安装操作:
mkdir ~/ws_moveit
cd ~/ws_moveit
下载源代码
下载所需的存储库,并从catkin工作区的根目录中进行构建:
1.
wstool init src
2.
wstool merge -t src https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall
此处出现error,网络问题,切换网络多执行几遍即可
这个输出表明wstool merge命令已经成功地将moveit.rosinstall文件中列出的软件包添加到了你的ROS工作空间中。这些软件包包括:
geometric_shapes
moveit
moveit_msgs
moveit_resources
moveit_tutorials
moveit_visual_tools
panda_moveit_config
rviz_visual_tools
srdfdom
此外,它还覆盖了现有的.rosinstall文件,并提示你可能需要运行wstool update来更新SCM条目。
3.注意,这里版本不同,/opt/ros/noetic处也不同
wstool update -t src
rosdep install -y --from-paths src --ignore-src --rosdistro noetic
catkin config --extend /opt/ros/noetic --cmake-args -DCMAKE_BUILD_TYPE=Release
安装编译器缓存(可选环节)
从源代码构建全部甚至部分MoveIt可能需要一个小时。 编译器缓存可以防止重新编译未更改的文件,从而可以将此时间减少到几分钟。 最常用的编译器缓存是适用于gcc和其他类似编译器的ccache。
安装ccache:
sudo apt-get install ccache
安装后需要对ccache进行一系列的配置,要在所有受支持的编译器中自动使用ccache,需要将/ usr / lib / ccache目录放在PATH之前(对于Debian或Ubuntu以外的系统,此目录可能有所不同)
#这个操作在所有的Linux发行版中都是相同的,包括使用ROS Noetic的系统。
echo 'export PATH=/usr/lib/ccache:$PATH' >> $HOME/.bashrc
source $HOME/.bashrc
第一个命令会将export PATH=/usr/lib/ccache:$PATH
这行内容追加到你的.bashrc
文件中,这样可以在每次启动新的终端时自动设置PATH
。
第二个命令source $HOME/.bashrc
是立即重新加载.bashrc
文件,这样你就可以在当前的终端会话中立即使用更新后的PATH
设置。
使用以下命令,可以利用ccache查看build过程中命中率和缓存使用情况的统计信息:
ccache --show-stats
大致效果如下:
编译Moveit
catkin build
我已经使用'colcon'构建过,这里便不展示编译成功的样子:
配置Catkin工作区环境变量:
cd ~/ws_moveit
source devel/setup.bash
安装Moveit
执行完以上步骤后,运行以下命令即可安装Ros noetic版本下的Moveit
sudo apt-get install ros-noetic-moveit
如果是ros melodic,则运行 sudo apt-get install ros-melodic-moveit。
更新环境变量:
source /opt/ros/noetic/setup.bash
检测是否安装成功,启动Moveit-Setup-Assistant:
roslaunch moveit_setup_assistant setup_assistant.launch
启动成功后出现如下界面,恭喜你已经成功安装ros noetic下的Moveit!