Robotstudio軟體:基於Random組件的工件位置隨機生成

2021-01-07 工業機器人虛擬仿真

對機器人工作站進行仿真的時候,往往會有對隨機數的需求,比如使用機器視覺進行機器人位姿引導仿真時,就需要工件的位置進行隨機擺放。針對這種需求,ABB機器人虛擬仿真軟體Robotstudio提供了一個專門用於生成隨機數的Smart組件,即Random子對象組件,它可以在指定的範圍內隨機生成數值。本期,就來為大家介紹一下基於Random子對象組件的工件位置隨機擺放的仿真操作方法。

外圍設備布局

Robotstudio軟體中,利用「建模」菜單欄下的建模功能,分別創建矩形體、圓柱體,並將其擺放到合適位置,所有的零部件的創建均以仿真軟體的世界坐標係為基準,並且角點位置保持空置。

工件擺放與框架創建

首先,在工作檯圓形表面的中心位置處,創建一個坐標框架。然後,再創建一個矩形體,並將其放置到工作檯的圓形表面中心位置處,作為工件。

工件隨機位置擺放Smart組件創建

Robotstudio軟體的「建模」菜單欄下,創建一個空的Smart組件。然後,在其中分別添加1個Timer子對象組件、3個Random子對象組件、2個VectorConverter子對象組件、1個Positioner子對象組件。

其中,Timer是定時器組件,Random是隨機數生成組件,VectorConverter是向量值轉換組件,Positioner是對象定位組件。

Smart組件屬性配置

Timer子對象組件是在仿真時,在指定的時間脈衝間隔輸出一個數字量信號。對其進行屬性配置,設定第一個脈衝之前的時間StartTime為1s,脈衝寬度Interval下設定為1s,設定完成後點擊「Active」,激活定時器組件。

Random子對象組件是在指定的最小值與最大值之間生成一個隨機數。這裡要注意的是:在生成X、Y坐標數據時,數值單位是m;生成繞Z軸旋轉的角度數據時,數值的單位是rad(弧度)。

角度ω與弧度a之間的轉換關係如下:

a=(ω×π)/180

VectorConverter子對象組件用於數值與坐標X、Y、Z向量值之間的轉換,轉換後的向量值為Double類型。此子對象組件屬性保持默認即可。

Positioner子對象組件用於設定對象的位置與姿態。對其進行屬性配置,移動對象Object下選擇要移動的工件,對象移動參考類型Reference下選擇Object,參考對象ReferenceObject下選擇創建好的框架。

Smart組件屬性連結與信號連接

在Smart組件編輯窗口中的「設計」標籤下,按照下圖所示設置子對象組件的屬性連結與信號連接,其中綠色有向線段表明子對象組件之間的信號邏輯關係,棕色有向線段表明子對象組件之間的屬性傳遞關係。

以上設定表明:使用定時器組件Timer定時觸發隨機數生成組件Random生成隨機數,同時觸發對象定位組件Positioner進行對象定位。

Random隨機生成對象的X、Y坐標數值與Rz旋轉角度數值,然後將這些隨機數值分別傳遞給向量值轉換組件VectorConverter,進行數值向量化轉換,最後將轉換後的向量值傳遞給對象定位組件Positioner實現對象定位操作。

仿真運行

對創建的工件位置隨機生成項目進行仿真運行測試,可以看到工件在工作檯面上指定的區域內進行隨機位置與姿態的切換,並且切換時間間隔為1s,仿真效果如下動態圖所示。

The End

上一篇:ABB機器人:基於現場通信方式向西門子PLC發送實時位置數據的方法

相關焦點

  • Robotstudio軟體:基於Smart組件的輸送鏈輸送工件仿真
    現實機器人工作站中常常會用到輸送鏈設備,用於將加工工件由一個工位自動傳送到另一個工位上。那麼,在仿真軟體中是否可以實現這一功能呢?答案是肯定的。本期就來為大家介紹一下在Robotstudio軟體中基於Smart組件的輸送鏈輸送工件仿真。
  • Robotstudio軟體:基於Smart組件的機器人抓手工具製作
    Smart組件與事件管理器類似,都是Robotstudio軟體中實動畫效果的功能,但是Smart組件要比事件管理器能夠實現更多的動畫效果,同時也能夠更加高度逼真的模擬現場設備的I/O接口與控制邏輯。本期就來講解一下基於Smart組件的抓手工具動作仿真。
  • Robotstudio軟體:ABB機器人機器視覺位姿引導虛擬仿真
    機器人與視覺系統創建在上一期創建的工件位置隨機生成仿真環境中,添加一臺IRB2600機器人,機器人工具與相機分別使用Robotstudio軟體設備庫中自帶的焊槍AW_Gun_PSF_25、Integrated Vision camera Cam00X。
  • JavaScript用Math.random()生成隨機數
    基本概念顧名思義,Math.random()方法就是用於生成隨機數的,因為單詞random的意思正是「隨機的」。該方法生成的結果是 [0, 1) 範圍內的浮點數,注意這是一個左閉右開的區間,即該區間包含0而不包含1。官方文檔指出Math.random()方法生成的隨機數在該區間上要大致符合均勻分布。
  • Python 模塊學習:random 隨機數生成
    模塊用於生成隨機數。random.randomrandom.random()用於生成一個0到1的隨機符點數: 0 <= n < 1.0random.uniformrandom.uniform的函數原型為:random.uniform(a, b),用於生成一個指定範圍內的隨機符點數,兩個參數其中一個是上限,一個是下限。
  • Robotstudio軟體:工具機上下料工作站機器人工具Smart組件添加
    上一期為大家介紹了工具機上下料機器人工作站基於Smart組件的輸送帶運動機構的創建,本期再來為大家介紹一下機器人工具抓取工件的Smart組件的添加與配置。二、機器人工具Smart組件添加與屬性配置1.在創建機器人工具Smart組件之前,首先將機器人的J5軸旋轉到90°位置處,使得機器人工具TCP的Z軸垂直向下。2.「建模」菜單下添加Smart組件,將其重命名為SM_Hand,作為機器人工具Smart組件。
  • Python random模塊詳解,指定分布類型的隨機樣本生成
    random模塊的隨機數生成函數有以下幾種:choicerandintrandom_integersrandomrandom_sample>choice和randint的區別,choice能指定待選的數組和指定概率分布,randint只能給定上下限參數a和b,在np.arange(a, b)中選取,因此choice可以完全替代randintrandom##生成[0,1)中的1個均勻隨機浮點數
  • 跟我學:如何使用Robotstudio實現離線仿真漢字書寫
    robotstudio是ABB公司推出的工業機器人仿真軟體,只能適用於ABB品牌的機器人,不支持第三方品牌。經常在各種展會上,可以看到機器人書寫漢字,初次看到感覺很好玩,很神奇,那麼是如何實現的呢?實際上是使用仿真軟體完成機器人軌跡離線仿真,再自動生成機器人運動軌跡,然後導入到機器人中實現的,下邊就介紹如何使用使用Robotstudio離線仿真漢字「片」的書寫。學完以後,都可以讓機器人寫漢字。1、打開robotstudio,新建一個虛擬機器人。
  • 條碼軟體應用之隨機生成0-9個位數字
    在條碼軟體中隨機生成0-9個位數字有兩種方法,一是應用條碼軟體自帶的「隨機生成」工具,二是利用「腳本編程」工具。條碼軟體中數據對象類型有一個「隨機生成」功能,可以簡單快捷的隨機生成0-9個位數字。接下來看看具體的工具應用。
  • Robotstudio軟體:基於Smart組件的給料裝置運動機構創建
    本期再來為大家介紹一下自動給料裝置基於Smart組件添加、屬性配置與仿真運行。一、給料機構Smart組件添加1.「建模」菜單下使用「Smart組件」命令為給料機構A創建Smart組件,並將其命名為feeder unit A。
  • R包randomForest 隨機森林
    1 randomForest的安裝    基於R包randomForest的隨機森林分析 >install.packages("randomForest")>library("randomForest")
  • 隨機生成N個立方體,學習blender Python隨機數生成
    打開blender控制臺首先輸入import random print(random.randint(0,9))多次執行print(random.randint(0,9)),就能見到系統每次都生成0-9內的隨機整數使用了
  • 在Python中生成隨機數據(指南)
    PRNGs的工作方式有些許不同,通常使用軟體而非硬體進行相關操作。如下是一個簡單的描述:它們以一個偽隨機數開始,即種子,然後使用一種算法在此基礎上生成一個偽隨機比特序列。有些時候,您可能被告知要「閱讀文檔!」。好吧,這些人並沒有錯。
  • 第43P,隨機數,Python內置庫之random
    一、常用的random方法1、隨機小數隨機生成0到1之間的小數:random.random();隨機生成x到y之間的小數:random.uniform(x,y);2、>隨機整數開區間,隨機生成x到y之間的整數:random.randint(x,y);注意:開區間,是包含x和y的。
  • 如何使用PHP生成隨機字符串
    源 / php中文網      源 / www.php.cn使用PHP生成隨機,唯一,字母數字字符串。-生成從0到字符串長度-1的隨機索引。-列印該索引處的字母。-執行此步驟n次(其中n是所需字符串的長度)。程序代碼如下:<?
  • 隨機數生成及其在統計模擬中的應用
    下面關於隨機數生成的效率和後面的統計檢驗,都以生成224224個為基準,是1600多萬個,取這麼多,一方面為了比較程式語言實現的發生器產生隨機數的效率,另一方面是後面的遊程檢驗需要比較大的樣本量。Matlab內置的發生器及大部分的函數,底層實現都是C或者Fortran,MathWorks創始人Cleve B.
  • python隨機函數random分配應用,隨機分配8名老師到3個教室中
    羽憶教程最近遇到一個問題,要隨機分配8名老師到3個辦公室中,這時小編想要了python中的隨機函數random來進行分配工作,感覺小編像個月老一樣。python隨機函數python隨機函數在python中,想要生成隨機數,就需要使用到python隨機函數random。
  • 隨機森林(Random Forest)原理小結
    隨機森林(RF)2.1 RF 分類2.2 特徵重要性2.3 RF 回歸3. 模型評價4.參考接著上一章節的決策樹模型,接下來會介紹一些基於決策樹的,具有代表性的集成模型,如隨機森林(RF),GBDT,XGBoost以及lightGBM。
  • 利用Python隨機生成100道加法題
    其中第4行是隨機生成100對整數,並保存為tuple類型,如圖所示:第5行是將兩個隨機整數轉換為加法的形式,如圖所示:其中代碼中的random.randint表示生成隨機整數,下面我們就對random模塊進行詳細介紹。
  • R包randomForest的隨機森林分類模型以及對重要變量的選擇
    R包randomForest的隨機森林分類模型以及對重要變量的選擇隨機森林(random forest)是一種組成式的有監督學習方法,可視為決策樹的擴展。隨機森林通過對對象和變量進行抽樣構建預測模型,即生成多個決策樹,並依次對對象進行分類。最後將各決策樹的分類結果匯總,所有預測類別中的眾數類別即為隨機森林所預測的該對象的類別,分類準確率提升。