Moveit
- MOVEit!是目前针对移动操作最先进的软件。
- 它结合了运动规划、操纵、3D 感知、运动学、控制和导航方面的最新进展
- 它为开发先进的机器人应用程序、评估新的机器人设计和构建集成机器人产品提供了一个易于使用的平台
- 广泛应用于工业、商业、研发等领域。
- MOVEit!是最广泛使用的开源软件的操作,并已被用于超过65个机器人
1.安装 ROS Noetic
安装教程:http://wiki.ros.org/noetic/Installation/Ubuntu
安装 ROS 后,请确保您拥有最新的软件包:
rosdep update
sudo apt update
sudo apt dist-upgrade
安装catkin ROS构建系统:
sudo apt install ros-noetic-catkin python3-catkin-tools python3-osrf-pycommon
python3-catkin-tools python3-osrf-pycommon可能装不上,用pip3装
pip install python3-catkin-tools python3-osrf-pycommon
安装wstool:
sudo apt install python3-wstool
2.创建 Catkin 工作区并下载 MoveIt 源
需要从源代码构建所有 MoveIt。您将需要有一个catkin工作区设置:
mkdir -p ~/ws_moveit/src
cd ~/ws_moveit/src
wstool init .
wstool merge -t 。https://raw.githubusercontent.com/ros-planning/moveit/master/moveit.rosinstall
wstool remove moveit_tutorials # this is cloned in the next section
wstool update -t .
3.下载示例代码
在catkin工作区中,下载教程和panda_moveit_config软件包。
cd ~/ws_moveit/src
git clone https://github.com/ros-planning/moveit_tutorials.git -b master
git clone https://github.com/ros-planning/panda_moveit_config.git -b melodic-devel
4.建立 Catkin 工作区
ROS原始的编译和打包系统是rosbuild,而catkin是现在ROS官方指定的系统。catkin的原理和流程和CMake很类似,与rosbuild相比,它的可移植性,以及对交叉编译的支持更好。
cd ~/ws_moveit/src
rosdep install -y –from-paths . –ignore-src –rosdistro noetic
配置你的 catkin 工作区:
cd ~/ws_moveit
catkin config –extend /opt/ros/${ROS_DISTRO} –cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build
source ~/ws_moveit/devel/setup.bash
5.RViz 可视化平台
Rviz 是 ROS 中的主要可视化工具,也是调试机器人技术的非常有用的工具。MoveIt Rviz 插件允许您设置虚拟环境(场景),交互式地为机器人创建开始和目标状态,测试各种运动规划器,并可视化输出。
启动演示并配置插件
roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
加载空场景
在 RViz 显示选项卡中,按Add:
从 moveit_ros_visualization 文件夹中,选择“MotionPlanning”作为 DisplayType。按“OK”。
在 RViz 中看到 Panda 机器人:
拖动小球将机械臂移动到目标位置
plan后点击“Plan & Execute”或“Execute”会将轨迹发送给机器人,机器人会移动到目标位置
在Joints可以对每个关节进行调节
6.使用 Python 控制机器人
打开两个shell。启动 RViz 并等待所有内容在第一个 shell 中完成加载:
roslaunch panda_moveit_config demo.launch
现在使用以下命令直接在另一个 shell 中运行 Python 代码rosrun:
rosrun moveit_tutorials move_group_python_interface_tutorial.py
按下enter后
- 机器人计划并将其手臂移动到联合目标。
- 机器人规划到姿势目标的路径。
- 机器人规划一条笛卡尔路径。
- 机器人再次显示笛卡尔路径规划。
- 机器人执行笛卡尔路径计划。
- Panda 末端执行器的位置会出现一个框。
- 该框更改颜色以指示它现在已附加。
- 机器人计划并执行带有盒子的笛卡尔路径。
- 该框再次更改颜色以指示它现在已分离。
- 盒子消失了。
要使用 Python MoveIt 接口,我们将导入moveit_commander命名空间。这个命名空间为我们提供了一个MoveGroupCommander类、一个PlanningSceneInterface类和一个RobotCommander类。
7.MoveIt Commander 脚本
moveit_commander Python 包为MoveIt中提供的功能提供了包装器。简单的界面可用于运动规划、笛卡尔路径计算以及拾取和放置。该moveit_commander软件包还包括一个命令行界面,moveit_commander_cmdline.py.
打开两个shell。启动 RViz 并等待所有内容在第一个 shell 中完成加载:
roslaunch panda_moveit_config demo.launch
在另一个 shell 中启动接口:
rosrun moveit_commander moveit_commander_cmdline.py
在命令行中输入
use panda_arm
您要命令的组名在哪里。这会将您连接到正在运行的 move_group 节点实例。您现在可以在该组上执行命令。
current
current将显示您的组的当前状态
rec c
这将记住名称下机器人组的当前关节值c。类似 Matlab 的语法可用于修改关节值。上面的代码将 c 的联合值复制到一个名为goal 的新变量中。goal然后我们修改to的第一个关节0.2。您可能需要使用不同的值而不是0.2(它需要在您允许的范围内并且不会导致冲突)。该go命令计划一个动作并执行它。
goal = c
goal[0] = 0.2
go goal
版权声明:本文为博主菜鸟来求学原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/qq_27545821/article/details/123036044