Moveit2还真有python接口版本?带你使用关节位置控制(有小坑需要避免哦)!

视频讲解:

Moveit2还真有python接口版本?带你使用关节位置控制(有小坑需要避免哦)!

最近一个视频中小伙伴评论说moveit2没有python的接口,翻了一下,还真有,如下,库封装的很简单,操作说明也很简单,来复现一下,等下会讲下过程中的小细节需要处理的,不然复现是不成功的。

仓库地址:git@github.com:AndrejOrsula/pymoveit2.git(别忘了给人家点星,也别忘了给我点个)

cd ~/ws_moveit2/src
git clone git@github.com:AndrejOrsula/pymoveit2.git

clone后的文件夹如下

colcon编译的方式改成我这个,不参考github上的

rosdep install -y -r -i --rosdistro ${ROS_DISTRO} --from-paths .
colcon build --packages-select pymoveit2

source下setup.bash,使用一下

先打开panda机械臂场景

source install/setup.bash 
ros2 launch moveit2_tutorials demo.launch.py rviz_config:=panda_moveit_config_demo_empty.rviz

我们使用如下example中的例子

ws_moveit2/src/pymoveit2/examples/ex_joint_goal.py

ros2 run pymoveit2 ex_joint_goal.py --ros-args -p joint_positions:="[1.57, -1.57, 0.0, -1.57, 0.0, 1.57, 0.7854]"

但不动,panda的控制台报错了,找不到arm这个group,这里需要做一点修改,因为官方的group name不是panda的group规划组名

ws_moveit2/src/pymoveit2/pymoveit2/robots/panda.py

这里面定义的组名是"arm"

MOVE_GROUP_ARM: str = "arm"
MOVE_GROUP_GRIPPER: str = "gripper"

所以我们可以修改ws_moveit2/src/pymoveit2/examples/ex_joint_goal.py,将

# Create MoveIt 2 interface
    moveit2 = MoveIt2(
        node=node,
        joint_names=robot.joint_names(),
        base_link_name=robot.base_link_name(),
        end_effector_name=robot.end_effector_name(),
        group_name=robot.MOVE_GROUP_ARM,
        callback_group=callback_group,
    )

换成如下

# Create MoveIt 2 interface
    moveit2 = MoveIt2(
        node=node,
        joint_names=robot.joint_names(),
        base_link_name=robot.base_link_name(),
        end_effector_name=robot.end_effector_name(),
        group_name="panda_arm",
        callback_group=callback_group,
    )

再colcon build一下,运行,可以看到机械臂可以运动到固定位姿了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值