吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用ROS與Movelt實現(xiàn)myCobot 280運動軌跡規(guī)劃和控制

大象機器人科技 ? 來源:大象機器人科技 ? 作者:大象機器人科技 ? 2023-09-18 16:07 ? 次閱讀

ROS的技術(shù)案例
Introduction
今天這篇文章將記錄我使用myCobot 280 M5stack 在ROS當(dāng)中是如何使用的。為什么使用ROS呢,因為提及到機器人都離不開ROS這個操作系統(tǒng),今天是我們第一次使用ROS這個系統(tǒng)。

今天我將從ROS的介紹,環(huán)境的配置以及mycobot280 在ROS當(dāng)中的使用。

ROS
ROS(Robot Operating System,機器人操作系統(tǒng))是一個用于編寫機器人軟件的靈活的框架。它是一個半開源的項目,為研究人員和開發(fā)者提供了一套工具和庫,以幫助他們創(chuàng)建各種機器人應(yīng)用。ROS主要用于研究和開發(fā)各種機器人系統(tǒng),如自動駕駛車輛、服務(wù)機器人、工業(yè)機器人無人機等。它使得機器人的開發(fā)更加高效,也使得機器人的功能更加強大和靈活。ROS操作系統(tǒng)目前最受關(guān)注的兩個模塊是導(dǎo)航(navigation)和機械臂控制(moveit)其中moveit可以讓用戶快速建立機械臂模型并實現(xiàn)機械臂的控制,例如建模,運動學(xué)求解,運動規(guī)劃,避障等功能。介于有這么一個強大的系統(tǒng),我想用它來仿真實現(xiàn)一些機械臂的避障,路徑規(guī)劃等功能。

wKgZomUIA_eASLadAAA1q3d5_x8828.png

環(huán)境配置
ROS主要支持Ubuntu(Linux),Mac OS(缺少部分的支持)這些操作系統(tǒng),最常見的還是在ubuntu系統(tǒng)上使用。我電腦安裝的是ubuntu18.04版本,Ubuntu18對應(yīng)的ROS版本是melodic,不同版本的ubuntu對應(yīng)不同ROS版本。

ubuntu16.04-kinetic
ubuntu18.04-melodic
ubuntu20.04-noetic
由于我電腦已經(jīng)安裝好了系統(tǒng)以及ROS環(huán)境,這邊就不一一記錄了,主要還是記錄ROS當(dāng)中的操作。 關(guān)于ubuntu系統(tǒng)的安裝和ROS環(huán)境的搭建大家可以在Google當(dāng)中搜索,ROS官網(wǎng)也有詳細的安裝教程

ROS: Getting Started

我今天使用的場景是moveit控制機械臂,所以對于電腦硬件的需求不高,這邊注意如果是使用SLAM雷達導(dǎo)航等功能,可能就需要高配一些的電腦來處理運算能力。

檢測自己是否安裝完成ROS的標(biāo)準(zhǔn),打開終端輸入“roscore”,出現(xiàn)跟下圖一樣的內(nèi)容代表安裝成功了。

wKgaomUIBCCANP5jAAGc38cIscY887.png

讓我們開始使用ROS吧。

ROS的使用
在ROS當(dāng)中創(chuàng)建一個機械臂,并且使用一些路徑規(guī)劃的功能需要執(zhí)行以下步驟。

創(chuàng)建URDF的文件,也就是機械臂的模型
將URDF文件加載到ROS服務(wù)器當(dāng)中
使用RViz進行可視化
創(chuàng)建MoveIt配置包
使用MoveIt進行運動規(guī)劃
創(chuàng)建URDF文件
首先咱得創(chuàng)建機械臂的URDF(Unified Robot Description Format)文件,這個文件至關(guān)重要,因為機械臂的3D模型,這個文件描述了機械臂的屬性,如關(guān)節(jié),鏈接和傳感器。由于該產(chǎn)品是大象機器人的一款機械臂myCobot 280 M5Stack,大象機器人在Github有提供myCobot 280的URDF文件描述了機械臂的一些物理屬性。

https://github.com/elephantrobotics/mycobot_ros/tree/noetic/mycobot_description/urdf

如何生成urdf文件:

需要使用CAD軟件制作模型,確保制作的3D模型跟實際的機械臂尺寸一致。因為導(dǎo)出的模型要是一個可以被ROS接受的格式,通常是DAE(collada)文件。

wKgaomUIBDCATGYcAAFzj1SauAA440.png

wKgaomUIBEKAaHpAAACSIimIX00453.png

將URDF加載到ROS服務(wù)器
創(chuàng)建ROS包
創(chuàng)建一個存放URDF文件的包,在終端執(zhí)行下面的代碼

catkin_create_pkg mycobot_description rospy std_msgs sensor_msgs

其中‘rospy’,‘std_msgs'和’sensor_msgs'是ROS的依賴包

將生成的urdf文件添加到mycobot_description/urdf的目錄下

創(chuàng)建啟動文件
在mycobot_description/launch目錄下創(chuàng)建一個load_urdf.launch文件,在其中添加以下內(nèi)容

啟動ROS文件qi
我們在打開終端輸入下面的命令。

roslaunch my_robot_description load_urdf.launch

運行完之后,就可以在RViz當(dāng)中看到我們創(chuàng)建的模型了。

wKgZomUIBI6AZOvSAAMmJgykyz4158.png

配置MoveIt
啟動MoveIt Setup Assistant:

在終端中,運行以下命令來啟動MoveIt Setup Assistant:

roslaunch moveit_setup_assistant setup_assistant.launch

wKgZomUIBJ2AL7jYAAMwNgZzm6k897.png

在MoveIT當(dāng)中加載URDF

在MoveIt Setup Assistant的主界面,點擊“Create New MoveIt Configuration Package”按鈕。然后,在彈出的對話框中,選擇我的URDF文件(在ROS參數(shù)robot_description中)。點擊“Load Files”按鈕來加載你的URDF文件。顯示下圖就加載成功了。

wKgZomUIBHaAczDeAAHZxIAAado580.png

配置我的機器人

根據(jù)自己的需求來配置自己的機器人。這里簡要介紹幾個配置:

Self-Collisions:MoveIt會自動計算你的機器人的自碰撞矩陣。可以點擊“Regenerate Default Collision Matrix”按鈕來生成默認的自碰撞矩陣。
Virtual Joints:可以為你的機器人定義虛擬關(guān)節(jié)。虛擬關(guān)節(jié)通常用于連接你的機器人和世界。
Planning Groups:可以定義你的機器人的規(guī)劃組。規(guī)劃組是一組需要一起移動的關(guān)節(jié)和鏈。例如,你可以創(chuàng)建一個包含所有手臂關(guān)節(jié)的規(guī)劃組。
Robot Poses:可以定義你的機器人的預(yù)設(shè)姿態(tài)。預(yù)設(shè)姿態(tài)可以在規(guī)劃中被重復(fù)使用。
運行moveit

配置完成之后會生成.launch的文件,我們運行它就可以在moveit中使用機械臂了。

wKgaomUIBHyAEC0SAAKoMX9eVVY098.png

我們來看看moveit的功能如何進行路徑規(guī)劃,拖動機械臂末端的坐標(biāo),可以對機械臂進行運動的變化,也可以隨機生成路徑。

wKgZomUIBMaAYrxgABhSJ1qClu8396.png

物體避障

我們在moveit中添加一個障礙物讓機械臂進行避障,添加一個方塊,讓機械臂在做軌跡的時候繞過它。

wKgaomUIBNeAepITABLGL5Df-sA962.png

除此之外moveit還有許多功能例如,運動規(guī)劃,可以為多關(guān)節(jié)的機器人進行路徑規(guī)劃,避免碰撞,并且還可以是用多種運動規(guī)劃算法RRT,EST,LBKPIECE等;碰撞檢測,可以進行復(fù)雜的3D碰撞檢測,包括子碰撞和環(huán)境碰撞(障礙物);仿真,可以于gazebo機器人仿真器繼承,進行真實的物理仿真等等功能。

總結(jié)
MoveIt提供了一套完整的工具集,可以用于機械臂的運動規(guī)劃和控制的研究,無需從頭開始構(gòu)建復(fù)雜的運動規(guī)劃系統(tǒng)。這可以使得開發(fā)人員將更多的經(jīng)理集中在實現(xiàn)具體的應(yīng)用功能上,而不是解決底層的運動規(guī)劃和控制問題上。總的來說,ROS和MoveIt為機器人技術(shù)的發(fā)展提供了強大的支持。它們不僅降低了開發(fā)難度,提高了開發(fā)效率,而且還推動了機器人技術(shù)的創(chuàng)新和應(yīng)用。無論你是機器人技術(shù)的研究者,還是實際應(yīng)用的開發(fā)者,ROS和MoveIt都將是你不可或缺的工具。

我在未來也會繼續(xù)探索更多的機械臂項目,并不定期分享我的發(fā)現(xiàn)和成果。如果你發(fā)現(xiàn)本文中有一些錯誤歡迎跟我進行溝通,如果你喜歡這篇文章留下你的點贊和評論是對我最大的支持!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關(guān)注

    關(guān)注

    211

    文章

    28646

    瀏覽量

    208434
  • 機械臂
    +關(guān)注

    關(guān)注

    12

    文章

    520

    瀏覽量

    24726
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    280

    瀏覽量

    17102
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用PLC控制myCobot 320機械臂

    根據(jù)持續(xù)的用戶反饋,目前市場對 PLC 與 myCobot 系統(tǒng)集成的需求很大,因此本文提供的案例介紹了如何使用 PLC(可編程邏輯控制器)來控制 myCobot 320 機械臂。本案
    的頭像 發(fā)表于 01-23 14:03 ?243次閱讀
    如何使用PLC<b class='flag-5'>控制</b><b class='flag-5'>myCobot</b> 320機械臂

    使用myCobot 280機械臂結(jié)合ROS2系統(tǒng)搭建機械分揀站

    這篇文章是來自Automatic Addison的開源項目,已獲作者授權(quán)轉(zhuǎn)載自github。本項目的主要內(nèi)容是使用myCobot 280機械臂結(jié)合ROS2系統(tǒng)搭建機械分揀站。
    的頭像 發(fā)表于 01-15 09:22 ?141次閱讀
    使用<b class='flag-5'>myCobot</b> <b class='flag-5'>280</b>機械臂結(jié)合<b class='flag-5'>ROS</b>2系統(tǒng)搭建機械分揀站

    在Mac上使用Docker構(gòu)建noVNC環(huán)境并運行MyCobot

    這篇文章主要內(nèi)容是關(guān)于如何在 Ros2 環(huán)境中構(gòu)建在 Mac 上模擬 Mycobot 280 M5 的環(huán)境。
    的頭像 發(fā)表于 01-15 09:17 ?160次閱讀
    在Mac上使用Docker構(gòu)建noVNC環(huán)境并運行<b class='flag-5'>MyCobot</b>

    運動控制中如何實現(xiàn)路徑軌跡預(yù)測

    運動控制中,軌跡執(zhí)行時間的預(yù)測對于多軸的協(xié)同、路徑預(yù)處理等方面有著重要的作用。CODESYS系列控制器提供了預(yù)測軌跡執(zhí)行時間功能塊。要
    的頭像 發(fā)表于 01-05 11:04 ?231次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制</b>中如何<b class='flag-5'>實現(xiàn)</b>路徑<b class='flag-5'>軌跡</b>預(yù)測

    EtherCAT運動控制器PT/PVT實現(xiàn)用戶自定義軌跡規(guī)劃

    EtherCAT運動控制器PT/PVT實現(xiàn)用戶自定義軌跡規(guī)劃
    的頭像 發(fā)表于 08-15 11:49 ?718次閱讀
    EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制</b>器PT/PVT<b class='flag-5'>實現(xiàn)</b>用戶自定義<b class='flag-5'>軌跡</b><b class='flag-5'>規(guī)劃</b>

    運動控制器的主要功能是什么?

    運動控制器是一種用于控制機械運動的設(shè)備,它在工業(yè)自動化、機器人技術(shù)、航空航天等領(lǐng)域有著廣泛的應(yīng)用。運動
    的頭像 發(fā)表于 06-13 09:21 ?911次閱讀

    運動控制和過程控制的區(qū)別和聯(lián)系

    和過程控制的區(qū)別和聯(lián)系。 運動控制 定義: 運動控制是指對機械設(shè)備的運動進行精確
    的頭像 發(fā)表于 06-13 09:19 ?3216次閱讀

    運動控制器與plc編程一樣嗎

    差異 運動控制器主要用于實現(xiàn)高精度、高速度的運動控制,它可以控制多個軸的同步
    的頭像 發(fā)表于 06-12 11:03 ?795次閱讀

    運動控制系統(tǒng)的組成與作用

    運動控制系統(tǒng)作為現(xiàn)代自動化技術(shù)的核心之一,其廣泛應(yīng)用于工業(yè)自動化、機器人技術(shù)、精密制造等領(lǐng)域。它通過控制電機或其他執(zhí)行器,使機器或設(shè)備按照預(yù)期的軌跡和速度
    的頭像 發(fā)表于 06-05 16:35 ?2776次閱讀

    基于VPLC711的曲面外觀檢測XYR運動控制解決方案

    驅(qū)動器,控制XYR軸運動; ●EtherNET接口:千兆網(wǎng)口,接支持Gige協(xié)議的面陣相機和線掃相機,實現(xiàn)視覺定位、旋轉(zhuǎn)中心點確定、軌跡糾偏、曲面連續(xù)采圖等應(yīng)用。 解決方案硬件配置
    發(fā)表于 04-16 17:58

    利用6軸姿態(tài)模塊來計算,物體的運動軌跡能不能實現(xiàn)

    僅僅利用6軸姿態(tài)模塊來計算,物體的運動軌跡能不能實現(xiàn)? 本人采用stm32f103采集姿態(tài)模塊數(shù)據(jù),姿態(tài)模塊采用的是維特jy901s,為什么積分計算距離之后誤差非常大。 我還發(fā)現(xiàn)姿態(tài)模塊在靜止的時候也會有加速度產(chǎn)生,我該如何
    發(fā)表于 03-29 11:34

    EtherCAT運動控制器在ROS上的應(yīng)用開發(fā)案例(下)

    本篇文章我們主要介紹正運動技術(shù)動態(tài)鏈接庫環(huán)境配置以及EtherCAT運動控制器在ROS下的單軸運動
    的頭像 發(fā)表于 03-17 11:11 ?1028次閱讀
    EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制</b>器在<b class='flag-5'>ROS</b>上的應(yīng)用開發(fā)案例(下)

    EtherCAT運動控制器在ROS上的應(yīng)用開發(fā)案例(上)

    本文以正運動技術(shù)EtherCAT運動控制器ZMC432和ZMC408CE為例,介紹正運動技術(shù)運動控制
    的頭像 發(fā)表于 03-17 11:06 ?1444次閱讀
    EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制</b>器在<b class='flag-5'>ROS</b>上的應(yīng)用開發(fā)案例(上)

    EtherCAT運動控制器在ROS上的應(yīng)用(下)

    運動技術(shù)動態(tài)鏈接庫環(huán)境配置以及EtherCAT運動控制器在ROS下的單軸運動
    的頭像 發(fā)表于 03-13 14:54 ?682次閱讀
    EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制</b>器在<b class='flag-5'>ROS</b>上的應(yīng)用(下)

    EtherCAT運動控制器在ROS上的應(yīng)用(上)

    本文以正運動技術(shù)EtherCAT運動控制器ZMC432和ZMC408CE為例,介紹正運動技術(shù)運動控制
    的頭像 發(fā)表于 03-06 11:47 ?1301次閱讀
    EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制</b>器在<b class='flag-5'>ROS</b>上的應(yīng)用(上)
    哪个百家乐平台信誉好| 百家乐玩法及细则| 百家乐官网如何投注法| 大发888赌博| 百家乐赢新全讯网| 百家乐官网路珠价格| 六盘水市| 大发888官方 3000| 百家乐最新产品| 百家乐官网麻将筹码币| 至尊百家乐官网贺一航| bet365备用器| 百家乐是娱乐场最不公平的游戏 | 波音百家乐| 富田太阳城二手房| 百家乐高手的心得| 做生意的十大风水禁忌| 网络百家乐官网怎样出千| 百家乐官网攻略投注法| 皇冠球网| 大发888破解| 天天百家乐的玩法技巧和规则 | 葡京百家乐官网玩法| bet365网站| sz新全讯网xb112| 百家乐破战| 百家乐游戏机在哪有| 庞博百家乐官网的玩法技巧和规则| 澳门百家乐官网娱乐城开户| 灵台县| bet365手机客户端| 全讯网最方便的新全讯网| 网上百家乐是假还是真的| 百家乐真钱电玩| 利都百家乐官网国际娱乐场开户注册| 百家乐官网龙虎的投注法| 网络百家乐官网路单图| 临潭县| 澳门赌场招聘网| 开花财国际| bet365主页|