|
视频链接:
仓库代码:GitHub - LitchiCheng/ros2_package
就换一行,我们打开《一文搞定!ROS2 中用 MoveIt2 精准操控 Panda 机械臂末端至固定位姿》中写的Package,将原来的这行
moveit::planning_interface::MoveGroupInterface move_group(node, "panda-arms");
改成如下即可
moveit::planning_interface::MoveGroupInterface move_group(node, "so-arm100-groups");
控也能控,但Z的位置反转了,增加一个变换矩阵进行反转即可
// 定义转换矩阵
Eigen::Matrix3d transform_matrix;
transform_matrix << 1, 0, 0,
0, 1, 0,
0, 0, -1;
// 将位置向量转换为Eigen向量
Eigen::Vector3d original_position(target_pose.position.x, target_pose.position.y, target_pose.position.z);
// 进行矩阵乘法
Eigen::Vector3d new_position = transform_matrix * original_position;
// 更新目标位置
target_pose.position.x = new_position(0);
target_pose.position.y = new_position(1);
target_pose.position.z = new_position(2);
先运行so-arm100的moveit场景
source install/setup.bash
ros2 launch so_arm100_moveit demo.lanuch.py
在运行控制位姿的程序,这里我们Package名称不变,还是之前的Panda,固定位姿
target_pose.position.x = 0.2;
target_pose.position.y = 0.1;
target_pose.position.z = 0.1;
source install/setup.bash
ros2 run panda_moveit_controller panda_moveit_control