探索Franka機器人 | 設(shè)備操作運行
一、官方示例

官方example:
【控制夾爪】roslaunch franka_gripper franka_gripper.launch robot_ip:=<fci-ip>
【可視化】roslaunch franka_visualization franka_visualization.launch robot_ip:=<fci-ip> load_gripper:=<true|false>
【運行Franka控制器】roslaunch franka_control franka_control.launch robot_ip:=<fci-ip> load_gripper:=<true|false>?
【通過笛卡爾坐標運動】roslaunch franka_example_controllers cartesian_pose_example_controller.launch robot_ip:=<fci-ip> load_gripper:=<true|false>?
?
二、機械臂進行運動,抓取負載以內(nèi)的物體
編譯franka_hinyeung_example:
安裝必要的編譯工具:sudo apt install build-essential cmake git libpoco-dev libeigen3-dev
建工作空間:mkdir franka_workspace
cd franka_workspace
mkdir src
catkin_make
然后把franka_hinyeung_example包拷進src文件夾
安裝依賴:rosdep install --from-paths src --ignore-src --rosdistro melodic -y --skip-keys libfranka
編譯:catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/opt/ros/melodic/include/libfranka
添加環(huán)境變量:source devel/setup.bash
?
使用franka_hinyeung_example:
打開終端:roscore
新打開終端進入root模式: sudo su
添加環(huán)境變量:source /opt/ros/melodic/setup.bash
cd franka_workspace
source devel/setup.bash
?
示例1:
move_joint_to_start使用說明:
該例子是讓機械臂回到合理的起始位置。
命令行:roslaunch franka_hinyeung_controllers move_joint_to_start.launch robot_ip:=172.16.0.2
?

示例2:
cartesian_pose_example_controller使用說明:
該例子控制機械臂的XYZ運動,并可以實現(xiàn)抓取。
命令行啟動:
roslaunch franka_hinyeung_controllers cartesian_pose_example_controller.launch robot_ip:=172.16.0.2
新打開終端并配置環(huán)境:
cd franka_workspace
source devel/setup.bash ???
控制機械臂以相對位置移動:
例:rostopic pub -1 /moveXYZ geometry_msgs/Vector3 '{x: 0.1,y: 0.1,z: 0.1}'
讓機械臂運動到相對初始位置X距離為0.1,Y距離0.1,Z距離0.1的目標位置,xyz單位為米
?
夾爪控制:
初始化homing:rostopic pub -1 /franka_gripper/homing/goal franka_gripper/HomingActionGoal '{}'
初始化會先閉合再張開,在使用夾爪時要先初始化
?

抓取物品:
rostopic pub -1 /franka_gripper/grasp/goal franka_gripper/GraspActionGoal '{goal: {width: 0.02,
epsilon: {inner: 0.02,outer: 0.02},speed: 0.1,force: 20}}'
width:抓取物品的寬度,單位m;
epsilon:抓取的偏差:夾爪實際走到的位置與width差值的容忍值;
speed:夾爪運行速度;
force:夾爪抓取的力,單位N
移動moving:rostopic pub -1 /franka_gripper/move/goal franka_gripper/MoveActionGoal '{goal: {width: 0.06,speed: 0.1}}'
?