日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

matlab机械臂工作空间代码_【ROS-Moveit!】机械臂控制探索(3)——基于python的API示例代码分析...

發布時間:2023/12/4 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab机械臂工作空间代码_【ROS-Moveit!】机械臂控制探索(3)——基于python的API示例代码分析... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文參考Moveit!官方文檔。
系統:ubuntu 18.04 / 16.04
ROS:Melodic / Kinetic

概述

基于python的運動組API是最簡單的MoveIt!用戶接口。其中提供了用戶常用的大量功能封裝,例如:

  • 設置目標關節控制或笛卡爾空間位置
  • 創建運動規劃
  • 移動機器人
  • 在環境中添加對象
  • 將對象與機器人連接或斷開

下載示例功能包

我們通過官方的示例功能包來分析該API的用法。首先將兩個官方的示例下載到工作空間的src目錄并編譯:

對Kinetic版本的ROS:

sudo apt-get install ros-kinetic-franka-description cd ~/catkin_ws/src git clone -b kinetic-devel https://github.com/ros-planning/moveit_tutorials.git git clone -b kinetic-devel https://github.com/ros-planning/panda_moveit_config.git cd ~/catkin_ws/ catkin_make

對Melodic版本的ROS:

sudo apt-get install ros-melodic-franka-description cd ~/catkin_ws/src git clone https://github.com/ros-planning/moveit_tutorials.git -b melodic-devel git clone https://github.com/ros-planning/panda_moveit_config.git -b melodic-devel cd ~/catkin_ws/ catkin_make分別是機器人模型、官方教程功能包和panda機械臂的配置功能包。

運行rviz和MoveGroup節點

ctrl+alt+T 打開兩個終端,依次運行下列兩行命令。第一行命令在終端中加載完畢后,再運行第二行:

roslaunch panda_moveit_config demo.launch rosrun moveit_tutorials move_group_python_interface_tutorial.py

在第二個終端中依次敲擊回車鍵,在rviz界面中可以看到機器人執行如下動作:

  • 機器人規劃并運動到關節目標位姿
  • 機器人向目標位姿規劃一條路徑
  • 機器人規劃了一條笛卡爾空間的路徑
  • 機器人再次規劃了一條笛卡爾空間路徑
  • 機器人執行了該笛卡爾空間路徑
  • 在Panda機械臂的末端出現了一個小箱子
  • 小箱子改變了顏色,表示它現在已經附加在了機械臂上
  • 機械臂附帶著小箱子規劃并執行了一條笛卡爾空間路徑
  • 小箱子再次改變顏色,說明它現在已經脫離了機械臂
  • 小箱子消失
  • 代碼與注釋

    下面為 move_group_python_interface_tutorial.py 的代碼,已將所有注釋和打印語句翻譯,可直接替換 ~/catkin_ws/src/moveit_tutorials/doc/move_group_python_interface/scripts/ 路徑下的同名文件。

    友情提示:

    要充分理解本章的代碼,除了要懂得基本的python語法和面向對象的編程結構以外,還需要有基本的機器人運動學知識,包括但不限于:

    • 理解關節空間位置與笛卡爾空間位姿的區別
    • 什么是路徑規劃,關節空間與笛卡爾空間路徑規劃的區別
    #!/usr/bin/env python

    上一篇文章的遺留問題:公差檢測函數 all_close()決定動作是否執行

    在上一篇文章的最后,我提到了rviz規劃界面的不穩定性。這是因為函數all_close()多次用來檢測規劃狀態與當前狀態是否相符。在純粹做運動規劃的理想狀態下,即使公差很小也不會有什么影響。但實際環境或仿真環境會影響機器人的當前狀態。例如由于基座運動、剛度過小導致的位置誤差,會使得公差檢測不通過,進而導致運動規劃失敗。這種情況下,應當適當加大允許的公差范圍。

    值得研究的一個問題

    在實驗過程中,發現機械臂位姿偶爾會發生跳變,應該是求逆解時的多解造成的。難道 Moveit! 默認求解器無法處理多解情況?這個問題值得研究一下。

    演示效果

    ROS機械臂的控制API示例https://www.zhihu.com/video/1104515064329170944

    參考文獻

    [1] Move Group Python Interface

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的matlab机械臂工作空间代码_【ROS-Moveit!】机械臂控制探索(3)——基于python的API示例代码分析...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。