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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ros创建工作空间_ROS入门学习之七Moveit机械臂控制

發(fā)布時間:2023/12/15 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ros创建工作空间_ROS入门学习之七Moveit机械臂控制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.MoveIt!系統(tǒng)架構

MoveIt是什么:

  • 一個易于使用的集成化開發(fā)平臺
  • 由一系列移動操作的功能包組成:運動規(guī)劃、操作控制、3D感知、運動學、控制與導航算法
  • 提供友好的GUI
  • 可應用于工業(yè)、商業(yè)、研發(fā)和其他領域
  • ROS社區(qū)中使用度排名前三的功能包

系統(tǒng)架構

用戶接口(User Interface)

  • C++:使用move_group_interface包提供的API
  • Python:使用moveit_commander包提供的API
  • GUI:使用Moveit!的rviz插件

ROS參數(shù)服務器

  • URDF:robot_description參數(shù),獲取機器人URDF模型的描述信息
  • SRDF:robot_description_semantic參數(shù),獲取機器人模型的配置信息
  • config:機器人的其他配置信息,例如關節(jié)限位、運動學插件、運動規(guī)劃插件

機器人

Topic和Action通信

系統(tǒng)架構

約束條件

  • 位置約束:限制link的運動區(qū)域
  • 方向約束:限制link的運動方向(roll、pitch和yaw)
  • 可見性約束:限制link上的某點在某區(qū)域內(nèi)的可見性(通過視覺傳感器)
  • joint約束:限制joint的運動范圍
  • 用戶定義約束:用戶通過回調(diào)函數(shù)自定義所需的約束條件

適配器

  • FixStartStateBounds:修復joint的初始極限
  • FixWorkspaceBounds:設置一個默認尺寸的工作空間
  • FixStateCollision:修復碰撞配置文件
  • FixStatePathConstraints:找到滿足約束的姿態(tài)作為機器人的初始姿態(tài)
  • AddTimeParameterization:為空間軌跡進行速度、加速度約束,為每個軌跡點加入速度、加速度、時間等參數(shù)

監(jiān)聽信息

  • 狀態(tài)信息(State Information)機器人的關節(jié)話題joint_states
  • 傳感器信息(Sensor Information)機器人的傳感器信息
  • 外界環(huán)境信息(World geometry Information)通過傳感器建立的周圍環(huán)境信息

MoveIt!使用步驟

  • 1)組裝:創(chuàng)建機器人URDF模型
  • 2)配置:使用MoveIt!Setup Assistant工具生成配置文件
  • 3)驅(qū)動:添加機器人控制器插件(controller)
  • 4)控制:MoveIt!控制機器人運動(算法仿真、物理仿真)

2.創(chuàng)建機械臂模型與配置文件

宏定義

link與joint

gazebo屬性

可視化

模型可視化

roslaunch marm_description view_arm.launch

啟動MoveIt!Setup Assistant

rosrun moveit_setup_assistant moveit_setup_assistant

啟動demo

roslaunch marm_moveit_config demo.launch

拖動規(guī)劃

隨機目標點規(guī)劃

設置初始位姿

加入場景物體

碰撞檢測

3.MoveIt!編程練習

編程接口

關節(jié)空間規(guī)劃

關節(jié)空間規(guī)劃例程

roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_fk_demo.py

工作空間規(guī)劃

工作空間規(guī)劃例程

roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_ik_demo.py

笛卡爾路徑規(guī)劃

工作空間規(guī)劃例程

roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_cartesian_demo.py _cartesian:=True(走直線) rosrun marm_planning moveit_cartesian_demo.py _cartesian:=False(走曲線)

避障規(guī)劃

自主避障規(guī)劃例程

roslaunch marm_moveit_config demo.launch rosrun marm_planning moveit_obstacles_demo.py

4.Gazebo機械臂仿真

關節(jié)軌跡控制器

Joint Trajectory Controller

  • 線性樣條:位置連續(xù),速度、加速度不連續(xù)
  • 三次樣條:位置和速度連續(xù),加速度不連續(xù)
  • 五次樣條:位置、速度、加速度都連續(xù)

MoveIt!控制器

啟動仿真環(huán)境

roslaunch marm_gazebo arm_bringup_moveit.launch

5.ROS-I框架介紹

將ROS強大的功能應用到工業(yè)生產(chǎn)的過程中 為工業(yè)機器人的研究與應用提供快捷有效的開發(fā)途徑 為工業(yè)機器人創(chuàng)建一個強大的社區(qū)支持 為工業(yè)機器人提供一站式的工業(yè)級ROS應用開發(fā)支持

總體架構

  • GUI:ROS中現(xiàn)在已有的UI工具和專門針對工業(yè)機器人通用的UI工具
  • ROS Layer:ROS基礎框架,提供核心通信機制
  • MoveIt!Layer:為工業(yè)機器人提供規(guī)劃、運動學等核心功能的解決方案
  • ROS-I Application Layer:處理工業(yè)生產(chǎn)的具體應用,目前也是針對未來的規(guī)劃
  • ROS-I Interface Layer:接口層,工業(yè)機器人的客戶端,通過simple message協(xié)議與機器人的控制器通信
  • ROS-I Simple Message Layer:通信層,定義了通信的協(xié)議,打包和解析通信數(shù)據(jù)
  • ROS-I Controller Layer:機器人廠商開發(fā)的工業(yè)機器人控制器

sudo apt-get install ros-kinetic-industrial-core

基于ROS-I框架的應用(Kungfu Arm)

總結

以上是生活随笔為你收集整理的ros创建工作空间_ROS入门学习之七Moveit机械臂控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。