Movelt!——一个易于使用的集成化开发平台
由一系列移动操作的功能包组成(运动规划、操作控制、3D感知、运动学、控制与导航算法等)
提供友好的GUI
可应用于工业、商业、研发和其它领域
ROS社区中使用度排名前三的功能包
Movelt!三大核心功能
运动学:KDL、Trac-IK、IKFast、、、
路径规划:OMPL、CHOMP、SBPL、、、
碰撞检测:FCL、PCD、、、
Movelt!核心节点——move_group
用来接收外部的很多参数信息,例如用户接口、ROS参数服务器、机器人等
用户接口(User Interface)
C++:使用move_group_interface包提供的API
Python:使用moveit_commander包提供的API
GUI:使用Movelt!的rviz插件
其它接口
ROS参数服务器
URDF:robot_description参数,获取机器人URDF模型的描述信息
SRDF:robot_description_semantic参数,获取机器人模型的配置信息
config:机器人的其它配置信息,例如关节限位、运动学插件、运动规划插件等
机器人
Action和Topic通信,TF
Movelt!使用步骤
组装:创建机器人URDF模型
配置:使用MoveIt!Setup Assistant工具生成配置文件
驱动:添加机器人控制器插件(controller)
控制:MoveIt!控制机器人运动(算法仿真、物理仿真)
MoveIt!可视化配置
因为这个可视化工具是通过节点来运行的,所以在运行节点之前,我们要先启动roscore。没有下载moveit_setup_assistant功能包的还要下载一下,输入以下命令即可:
$sudo apt-get install ros-kinetic-moveit
启动Setup Assistant,启动之后,按照打开的界面指引,按顺序进行配置即可,主要是加载模型、配置自碰撞检测、配置规划组、预定义机器人位姿、输入作者信息、自动生成配置包:
$rosrun moveit_setup_asssistant moveit_setup_assistant
注:由于在配置过程中的ROS Control和Simulation是新添加的,用这个产生的配置文件可能会有些问题,关于这些模块的建议手动配置。
MoveIt!启动
在按照以上步骤配置完成后,可以输入以下命令启动MoveIt!,命令中功能包的名字是在以上配置过程中自己命名的功能包名字:
$roslaunch probot_anno_moveit_config demo.launch
MoveIt!+Gazebo仿真
要新建一个YAML格式的配置文件,配置一下Joint Trajectory Controller(关节轨迹控制器)、Joint State Controller(关节状态控制器)、Follow Joint Trajectory(),前两个是Gazebo/Robot方面,后一个是MoveIt!方面的。