中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

德陽網(wǎng)站建設(shè)平臺(tái)百度收錄軟件

德陽網(wǎng)站建設(shè)平臺(tái),百度收錄軟件,微信公眾號(hào)怎么登錄賬號(hào),網(wǎng)站迅速備案文章目錄環(huán)境安裝概述ros_control框架ros_control數(shù)據(jù)流文件配置附加工具故障問題解決參考接前兩篇:ROS MoveIT1(Noetic)安裝總結(jié) Solidworks導(dǎo)出為URDF用于MoveIT總結(jié)(帶prismatic) MoveIT1 Assistant 總結(jié) 環(huán)境 Ubu…

文章目錄

    • 環(huán)境
    • 安裝
    • 概述
      • ros_control框架
      • ros_control數(shù)據(jù)流
    • 文件配置
    • 附加工具
    • 故障問題解決
    • 參考

接前兩篇:

ROS MoveIT1(Noetic)安裝總結(jié)
Solidworks導(dǎo)出為URDF用于MoveIT總結(jié)(帶prismatic)
MoveIT1 Assistant 總結(jié)

環(huán)境

  • Ubuntu20.04;
  • ROS1 Noetic;
  • VMware

安裝

sudo apt-get install ros-noetic-joint-state-controller
sudo apt-get install ros-noetic-effort-controllers
sudo apt-get install ros-noetic-position-controllers
sudo apt-get install ros-noetic-joint-trajectory-controller
sudo apt-get install ros-noetic-controller-manager
sudo apt-get install ros-noetic-gazebo-ros-control
sudo apt-get install ros-noetic-ros-controllers

概述

URDF 用于創(chuàng)建機(jī)器人模型、Rviz 可以顯示機(jī)器人感知到的環(huán)境信息,Gazebo 用于物理環(huán)境仿真。

先在Moveit!端配置關(guān)節(jié)和傳感器接口yaml文件,將其加載到rviz端;再在機(jī)器人端配置ros_control和接口yaml文件,將機(jī)器人加載到Gazebo。

最后同時(shí)啟動(dòng)加載有ros_control的Gazebo和加載有Moveit的rviz,達(dá)到聯(lián)合仿真的目的。

ros_control框架

在這里插入圖片描述
在這里插入圖片描述
ros_control包由以下幾部分:

  • combined_robot_hw(硬件包):一個(gè)允許將多個(gè)RobotHW組合成一個(gè)“RobotHW”的軟件包。

  • controller_interface(controller接口)

  • controller_manager(controller管理器):提供了一個(gè)近乎實(shí)時(shí)的controller管理器,用于管理(加載、卸載、啟停)controllers。

  • controller_manager_msg(controller管理器的消息類型):定義了controller的狀態(tài)消息類型msg,以及調(diào)用controller_manager的服務(wù)類型srv。

  • hardware_interface(硬件底層的接口):向硬件發(fā)送(write())命令并從硬件接收(read())聯(lián)合狀態(tài)。
    https://github.com/ros-controls/ros_control/wiki/hardware_interface
    在這里插入圖片描述

  • joint_limits_interface(joints限制接口):根據(jù)URDF中的limit標(biāo)簽,將joint limit載入到硬件層中。

  • transmission_interface(傳動(dòng)接口):根據(jù)URDF中的transmission標(biāo)簽將該關(guān)系載入到硬件層中。

  • realtime_tools(實(shí)時(shí)控制工具):包含一組可以從硬實(shí)時(shí)線程中使用的工具,而不會(huì)破壞實(shí)時(shí)行為。

ros_control數(shù)據(jù)流

在這里插入圖片描述

  • Controller Manager:每個(gè)機(jī)器人可能有多個(gè)controller,所以這里有一個(gè)控制器管理器的概念,提供一種通用的接口來管理不同的controller。controller manager的輸入就是ROS上層應(yīng)用的輸出。

  • Controller:controller可以完成每個(gè)joint的控制,請(qǐng)求下層的硬件資源,并且提供了PID控制器,讀取硬件資源接口中的狀態(tài),在發(fā)布控制命令。
    在這里插入圖片描述

  • Hardware Rescource:為上下兩層提供硬件資源的接口。

  • RobotHW:硬件抽象層和硬件直接打交道,通過write和read方法來完成硬件的操作,這一層也包含關(guān)節(jié)限位、力矩轉(zhuǎn)換、狀態(tài)轉(zhuǎn)換等功能。

  • Real Robot:實(shí)際的機(jī)器人上也需要有自己的嵌入式控制器,接收到命令后需要反映到執(zhí)行器上,比如接收到位置1的命令后,那就需要讓執(zhí)行器快速、穩(wěn)定的到達(dá)位置1。

【控制流】
ROS中的Controller manager接收load_controller、unload_controller等命令來加載和運(yùn)行不同類型的controller(例如joint_position),這些controller通過Hardware Resource接口向硬件抽象層RobotHW讀取和發(fā)布控制命令,這些命令再輸入到機(jī)器人上的嵌入控制器上,然后有執(zhí)行器執(zhí)行。

文件配置

/home/gw2/ws_moveit/src/assis_1/config/robot_controller.yaml中定義的是"position_controllers/JointTrajectoryController",則URDF中定義的transmission中如果使用的是PositionJointInterface必須要對(duì)應(yīng),否則會(huì)提示找不到controller。

    <transmission name="trans_Joint1"><type>transmission_interface/SimpleTransmission</type><joint name="Joint1"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface></joint><actuator name="Joint1_motor"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface><mechanicalReduction>1</mechanicalReduction></actuator></transmission><transmission name="trans_Joint2"><type>transmission_interface/SimpleTransmission</type><joint name="Joint2"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface></joint><actuator name="Joint2_motor"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface><mechanicalReduction>1</mechanicalReduction></actuator></transmission><transmission name="trans_Joint3"><type>transmission_interface/SimpleTransmission</type><joint name="Joint3"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface></joint><actuator name="Joint3_motor"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface><mechanicalReduction>1</mechanicalReduction></actuator></transmission><transmission name="trans_Joint4"><type>transmission_interface/SimpleTransmission</type><joint name="Joint4"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface></joint><actuator name="Joint4_motor"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface><mechanicalReduction>1</mechanicalReduction></actuator></transmission><transmission name="trans_Joint5"><type>transmission_interface/SimpleTransmission</type><joint name="Joint5"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface></joint><actuator name="Joint5_motor"><hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface><mechanicalReduction>1</mechanicalReduction></actuator></transmission>

在urdf中加入gazebo的ros_control插件,如果不加,運(yùn)行g(shù)azebo會(huì)顯示機(jī)械臂都耷拉在地上,仿佛電機(jī)沒有使能一樣。

    <gazebo><plugin name="gazebo_ros_control"  filename="libgazebo_ros_control.so"><plugin name="joint_state_publisher" filename="libgazebo_ros_joint_state_publisher.so"><jointName>Joint1,Joint2,Joint3,Joint4,Joint5</jointName></plugin><robotNamespace>/</robotNamespace></plugin></gazebo>

檢查ros_controllers.launch的args="control"不要有空格。

修改ros_controllers.yaml:

control:type: position_controllers/JointTrajectoryControllerjoints:- Joint1- Joint2- Joint3- Joint4- Joint5gains:Joint1: { p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint2: { p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint3: { p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint4: { p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint5: { p: 12000, d: 50, i: 0.0, i_clamp: 10000 }

運(yùn)行rviz和gazebo:

source ~/ws_moveit/devel/setup.bash
roslaunch assis_1 demo_gazebo.launch

可以看到Rviz中的運(yùn)動(dòng)在Gazebo中可以同步運(yùn)動(dòng)。
在這里插入圖片描述

在這里插入圖片描述

附加工具

rqt_graph
創(chuàng)建一個(gè)顯示當(dāng)前系統(tǒng)ROS程序運(yùn)行情況的動(dòng)態(tài)圖形

安裝:

sudo apt install ros-noetic-rqt
sudo apt install ros-noetic-rqt-common-plugins

運(yùn)行:

rosrun rqt_graph rqt_graph

可以看到結(jié)果:
在這里插入圖片描述

在這里插入圖片描述
通過這個(gè)圖可以看到:
/move_group發(fā)送/control/follow_joint_trajectory/goal【目標(biāo)位置】到機(jī)器人,機(jī)器人發(fā)送/joint_states【軸狀態(tài)】到/move_group和/robot_state_publisher

rqt_joint_trajectory_controller
安裝:

sudo apt-get install ros-noetic-rqt-joint-trajectory-controller

運(yùn)行:

roslaunch assis_1 demo_gazebo.launch 或 roslaunch assis_1 gazebo.launch
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller

效果:拖動(dòng)進(jìn)度條可以在Gazebo實(shí)現(xiàn)各個(gè)關(guān)節(jié)的運(yùn)動(dòng)。

在這里插入圖片描述

rqt_controller_manager
rqt插件,該插件以圖形化方式加載,卸載,啟動(dòng)和停止控制器;同時(shí)用來顯示加載的控制器的信息。

安裝:

sudo apt-get install ros-noetic-rqt-controller-manager

運(yùn)行:可以看到control和joint_state_controller兩個(gè)控制器。

rosrun rqt_controller_manager rqt_controller_manager

在這里插入圖片描述

故障問題解決

Spawn service failed. Exiting.
cmd /opt/ros/noetic/lib/gazebo_ros/gzserver -e ode worlds/empty.world
parse as old deprecated model file failed.
這三個(gè)錯(cuò)誤往往一起出現(xiàn),最后通過在urdf文件中添加解決:
filename=“l(fā)ibgazebo_ros_control.so”

https://blog.csdn.net/qq_60018807/article/details/128543981

ERROR: cannot launch node of type [controller_manager/spawner]: controller_manager接著一堆錯(cuò)誤。

sudo apt-get install ros-kinetic-controller-manager

https://blog.csdn.net/weixin_45839124/article/details/106589576

模型自己轉(zhuǎn)動(dòng),亂跑

sudo apt-get install ros-noetic-gazebo-ros-control

[ERROR] [1675950367.646886773, 0.307000000]: Failed to initialize the controller
[ERROR] [1675950367.649888591, 0.308000000]: Initializing controller ‘control’ failed
[ERROR] [1675950368.653177, 0.650000]: Failed to load control

在ros_controllers.yaml中添加前述代碼。

[ERROR] [1675950605.984213275]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/Joint1
[ERROR] [1675950605.988813331]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/Joint2
[ERROR] [1675950605.991700327]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/Joint3
[ERROR] [1675950605.995635439]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/Joint4
[ERROR] [1675950605.999769977]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/Joint5

添加修改ros_controllers.yaml文件:
/gazebo_ros_control:
pid_gains:

control:type: position_controllers/JointTrajectoryControllerjoints:- Joint1- Joint2- Joint3- Joint4- Joint5/gazebo_ros_control:pid_gains:Joint1: {p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint2: {p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint3: {p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint4: {p: 12000, d: 50, i: 0.0, i_clamp: 10000 }Joint5: {p: 12000, d: 50, i: 0.0, i_clamp: 10000 }

但是加上以后發(fā)現(xiàn)Gazebo模型開始扭動(dòng)起來,沒眼看。最終無視這個(gè)錯(cuò)誤即可。

https://blog.csdn.net/qq_32896521/article/details/111143282?spm=1001.2014.3001.5501
https://zhuanlan.zhihu.com/p/392635284

參考

https://blog.csdn.net/qq_34935373/article/details/95886151
https://ros-planning.github.io/moveit_tutorials/doc/gazebo_simulation/gazebo_simulation.html
http://www.guyuehome.com/890
https://blog.csdn.net/qq_41035283/article/details/120572465
http://wiki.ros.org/ros_control?distro=noetic

http://www.risenshineclean.com/news/8832.html

相關(guān)文章:

  • 專門做稀有產(chǎn)品的網(wǎng)站seo代碼優(yōu)化包括哪些
  • 工作室有專門的網(wǎng)站如何找友情鏈接
  • 有什么國外的黃網(wǎng)站百度服務(wù)中心投訴
  • 課程設(shè)計(jì)代做網(wǎng)站推薦優(yōu)化疫情二十條措施
  • 寶雞做網(wǎng)站公司谷歌瀏覽器下載官網(wǎng)
  • 公司網(wǎng)站建設(shè)怎么選擇主機(jī)大小百度推廣個(gè)人怎么開戶
  • 太原網(wǎng)站建設(shè)制作報(bào)價(jià)南寧seo營銷推廣
  • 網(wǎng)站建設(shè)維護(hù)及使用管理辦法自動(dòng)友鏈網(wǎng)
  • 企業(yè)網(wǎng)站運(yùn)營推廣難做嗎天津seo數(shù)據(jù)監(jiān)控
  • erp系統(tǒng)哪家做得好武漢整站seo數(shù)據(jù)上云
  • 如何做網(wǎng)站呢上海網(wǎng)絡(luò)推廣平臺(tái)
  • 蘇州專業(yè)網(wǎng)站建設(shè)定制正規(guī)考證培訓(xùn)機(jī)構(gòu)
  • 在哪里學(xué)做網(wǎng)站網(wǎng)絡(luò)seo優(yōu)化公司
  • 自己可以做開獎(jiǎng)網(wǎng)站嗎方象科技服務(wù)案例
  • 重慶做網(wǎng)站微信的公司百度灰色詞排名代發(fā)
  • 做海報(bào)的參考網(wǎng)站怎么做線上銷售
  • 用群暉nas做網(wǎng)站營銷策劃經(jīng)典案例
  • 做網(wǎng)站收會(huì)員費(fèi)徐州seo
  • 網(wǎng)站注冊(cè)協(xié)議怎樣自己做網(wǎng)站
  • 怎樣自建網(wǎng)站網(wǎng)頁優(yōu)化建議
  • 平面設(shè)計(jì)海報(bào)圖片seo按天計(jì)費(fèi)系統(tǒng)
  • 巨鹿網(wǎng)站建設(shè)網(wǎng)絡(luò)公司關(guān)鍵詞查詢工具
  • 安陽做網(wǎng)站的公司流量寶
  • 網(wǎng)站類型分類有哪些電商網(wǎng)站建設(shè) 網(wǎng)站定制開發(fā)
  • 長春網(wǎng)絡(luò)營銷外包泰州seo推廣
  • 網(wǎng)站節(jié)日制作快速網(wǎng)站輕松排名
  • 社交網(wǎng)站開發(fā)語言俄羅斯引擎搜索
  • 網(wǎng)站交換鏈接怎么做百度競價(jià)個(gè)人開戶
  • 網(wǎng)站代理什么意思百度seo排名優(yōu)化助手
  • 在合肥做網(wǎng)站多少錢千川推廣官網(wǎng)