参考网址
以下网址给出gazebo中抓取固定的相关配置。
https://github.com/JenniferBuehler/gazebo-pkgs/wiki/The-Gazebo-grasp-fix-plugin
https://github.com/JenniferBuehler/gazebo-pkgs/tree/master/gazebo_grasp_plugin
https://github.com/JenniferBuehler/jaco-arm-pkgs/blob/master/jaco_arm/jaco_gazebo/urdf/gzplugin_grasp_fix.urdf.xacro
https://github.com/Luchuanzhao/UR5-robotiq85_gripper-gazebo
roswiki地址
http://wiki.ros.org/rqt_joint_trajectory_controller
Graphical frontend for interacting with joint_trajectory_controller instances.
我估计他这里就相当于充当了action通信机制的一端。
模型问题
http://wiki.ros.org/xacro
https://answers.ros.org/question/358472/xacro-insert_block-parameter/
他这里夹爪部分模型有问题。
部分标签以及块参数被消除了,需要重新给出。不然会报错。
散架
散架问题是因为gazebo中被动关节插件需要经过编译后才能生效。
catkin_mkae
roslaunch gazebo.launch 就能成功了
ur机械臂问题
ur3的 moveit config中的 move group的luanch文件和别的不太一样
<!--<include file="$(find moveit_config)/launch/planning_context.launch" /> -->
<include file="$(find moveit_config)/launch/planning_context.launch">
<arg name="limited" value="$(arg limited)" />
</include>
然后在context中
<group if="$(arg load_robot_description)">
<param unless="$(arg limited)" name="$(arg robot_description)" command="$(find xacro)/xacro --inorder '$(find ur_robotiq_description)/urdf/robotiq_gazebo.xacro'" />
<param if="$(arg limited)" name="$(arg robot_description)" command="$(find xacro)/xacro --inorder '$(find ur_robotiq_description)/urdf/robotiq_gazebo_limited.xacro'" />
</group>
但是他这里<arg name="load_robot_description" default="false"/>
ur官方的文件中也是
似乎也没有什么作用。
注意
需要修改
<arg name="fake_execution" value="true"/>
否则gazebo中的机械臂不会运动。
此外,针对命名空间问题:
控制器的命名空间要对应,会默认将 机器人名+控制器名 配对 到 控制器名+follow joint trajectory
arm_controller:
type: position_controllers/JointTrajectoryController
- name: ""
action_ns: follow_joint_trajectory
<!-- Remap follow_joint_trajectory -->
<remap if="$(arg sim)" from="/follow_joint_trajectory" to="/arm_controller/follow_joint_trajectory"/>
问题报错
报错1
[ERROR] [1651221605.918761759, 2852.104000000]: Unable to identify any set of controllers that can actuate the specified joints: [ gripper_finger1_joint ]
[ERROR] [1651221605.918787603, 2852.104000000]: Known controllers and their joints:
[ERROR] [1651221827.007905879, 2760.509000000]: The list of joints for controller gripper_controller is not specified as an array
moveit助手导出来的配置文件ros_controllers.yaml中robotiq的配置只有一个关节,缺少一个 -
joints:
- gripper_finger1_joint
最后一句话的区别,默认导出没有横向,导致不识别问一个关机组,后面控制执行也会出问题
报错2
Transform error: Lookup would require extrapolation into the future. Requested time 2816.648000000 but the latest data is at time 2816.638000000, when looking up transform from frame [robotiq_85_left_finger_link] to frame [_kinect2_rgb_optical_frame]
Transform error: Lookup would require extrapolation into the future. Requested time 2949.649000000 but the latest data is at time 2949.638000000, when looking up transform from frame [robotiq_85_left_finger_link] to frame [_kinect2_rgb_optical_frame]
[ERROR] [1650886342.926551327, 2949.752000000]: Transform cache was not updated. Self-filtering may fail.
尝试在rviz中最下面的时间栏reset按钮。