1.新建文件夹 controllers.yaml
arm_moveit_config/config/controllers.yaml
或者 复制 arm_moveit_config/config/fake_controllers.yaml,修改名称为controllers.yaml
controllers.yaml
复制代码进去,根据自己情况修改
controller_list:
- name: arm_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- joint1
- joint2
- joint3
- joint4
- joint5
- joint6
- 修改 arm_moveit_config/launch/demo.launch
注释这些内容
<arg name="fake_execution" value="false"/> <!---参数是false-->
3.修改 arm_moveit_config/launch/arm_moveit_controller_manager.launch.xml
修改刚刚新建的 controllers.yaml 名称
4.新建文件 arm_moveit_config/launch/arm_planning.launch
<launch>
<!-- 不使用仿真时间 -->
<param name="/use_sim_time" value="false" />
<!-- 启动 arbotix driver-->
<arg name="sim" default="true" />
<param name="robot_description" textfile="$(find arm)/urdf/arm.urdf" />
<node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen">
<rosparam file="$(find arm_moveit_config)/config/arm.yaml" command="load" />
<param name="sim" value="true"/>
</node>
<node pkg="robot_state_publisher" type="robot_state_publisher" name="rob_st_pub" />
<include file="$(find arm_moveit_config)/launch/move_group.launch" />
<!-- 启动rviz可视化界面 -->
<node name="rviz" pkg="rviz" type="rviz " />
<!-- <node name="rviz" pkg="rviz" type="rviz" args="-d $(find marm_planning)/urdf/arm_planning_rviz.rviz" required="true" /> -->
</launch>
5.新建文件 arm_moveit_config/scripts/moveit_fk_demo.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import rospy, sys
import moveit_commander
from control_msgs.msg import GripperCommand
class MoveItFkDemo:
def __init__(self):
# 初始化move_group的API
moveit_commander.roscpp_initialize(sys.argv)
# 初始化ROS节点
rospy.init_node('moveit_fk_demo', anonymous=True)
# 初始化需要使用move group控制的机械臂中的arm group
arm = moveit_commander.MoveGroupCommander('arm')
# 设置机械臂的允许误差值
arm.set_goal_joint_tolerance(0.001)
# 控制机械臂先回到初始化位置
arm.set_named_target('home')
arm.go()
rospy.sleep(2)
# 设置机械臂的目标位置,使用六轴的位置数据进行描述(单位:弧度)
joint_positions = [-0.0867, -1.274, 0.02832, 0.0820, -1.273, -0.003]
arm.set_joint_value_target(joint_positions)
# 控制机械臂完成运动
arm.go()
rospy.sleep(1)
# 关闭并退出moveit
moveit_commander.roscpp_shutdown()
moveit_commander.os._exit(0)
if __name__ == "__main__":
try:
MoveItFkDemo()
except rospy.ROSInterruptException:
pass
6.开始执行
roslaunch arm_moveit_config arm_planning.launch
7.rviz进行配置如下:
把下面这个取消选择,你的机器人就全部是灰色了。
设置好了保存一下,ctrl+shift+c
arm_planning_rviz.rviz
roslaunch arm_moveit_config arm_planning.launch
rosrun arm_moveit_config moveit_fk_demo.py