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

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

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

AMD Kria? KR 260套件+ROS 2快速開發(fā)機(jī)器人解決方案

eeDesigner ? 來源:Adam Taylor for Mouser Electro ? 作者:Adam Taylor for Mouse ? 2024-06-21 16:35 ? 次閱讀

在這個項目中,我們將配置AMD Kria? KR 260機(jī)器人入門套件來控制Trossen Robotics ReactorX 150機(jī)器人手臂。這個復(fù)雜的機(jī)器人手臂使用ROBOTIS ? IXEL伺服系統(tǒng),其中不僅包含電機(jī),還包含微控制器網(wǎng)絡(luò)功能。雖然這使得機(jī)器人應(yīng)用所需的復(fù)雜電機(jī)驅(qū)動成為可能,但這也意味著每個伺服系統(tǒng)都有幾個不同的驅(qū)動和控制機(jī)制。通常,當(dāng)使用這種復(fù)雜的伺服和機(jī)器人應(yīng)用時,需要大量的處理來規(guī)劃和解決機(jī)器人運動。

為了與這些機(jī)器人進(jìn)行交互和控制,工程師們經(jīng)常使用運行在Linux上的機(jī)器人操作系統(tǒng)ROS)。最常用的ROS版本是ROS 2,它更新了ROS框架和工具,以與更廣泛的環(huán)境一起工作,提供對實時環(huán)境的支持,并使用顯著更新的API。ROS 2為開發(fā)人員提供了硬件驅(qū)動程序、機(jī)器人模型、數(shù)據(jù)庫等功能,并支持感知和同步定位與地圖(SLAM)。ROS 2還提供了一系列工具來幫助系統(tǒng)的開發(fā)或操作,例如提供3D可視化的RViz和模擬器Gazebo。

ROS 2是圍繞圖架構(gòu)構(gòu)建的;在此架構(gòu)中,處理發(fā)生在可以接收和發(fā)布有關(guān)節(jié)點的數(shù)據(jù)的節(jié)點中,例如傳感器,控制,規(guī)劃,執(zhí)行器定位或當(dāng)前狀態(tài)。節(jié)點通過主題連接在ROS圖上,主題是節(jié)點可以發(fā)布數(shù)據(jù)和接收信息通信管道。沿著節(jié)點和主題,節(jié)點還可以廣告服務(wù)。這些服務(wù)具有單一結(jié)果,例如捕獲視頻幀、對傳感器進(jìn)行采樣或打開執(zhí)行器。

物料清單

AMD Kria? KR 260機(jī)器人入門套件

顯示器與DisplayPort?兼容

USB鍵盤和鼠標(biāo)

ROBOTIS ReactorX In150機(jī)械

資源

適用于AMD Kria? KR 260機(jī)器人入門套件(Ubuntu)的Ubuntu Linux發(fā)行版映像

AMD Kria KR260機(jī)器人入門套件(AMD)

VcXsrv Windows X Server Files文件

軟件Setup

在本項目中,我們將在AMD Kria? KR 260機(jī)器人入門套件上安裝Trossen Robotics軟件包和ROS 2,這將使您能夠控制機(jī)器人手臂。

安裝Ubuntu

首先下載并安裝AMD Kria? KR 260套件的Ubuntu Linux發(fā)行版映像,該映像可在參考資料部分找到。映像可用后,按照AMD在參考資料部分的Kria KR 260機(jī)器人入門套件入門中提供的說明將映像閃存到SD卡。

一旦您成功啟動AMD Kria KR 260套件,您將需要更新Ubuntu安裝,以確保我們可以正確安裝ROS 2。

安裝resolvconf。

sudo apt update

sudo apt install resolvconf

安裝resolvconf后,確保它正在運行。

sudo systemctl status resolvconf.service

確認(rèn)服務(wù)正在運行后,添加首選DNS服務(wù)器。在這個例子中,我們使用Google DNS。

echo "nameserver 8.8.8.8" | sudo tee -a /etc/resolvconf/resolv.conf.d/head

echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolvconf/resolv.conf.d/head

由于我們進(jìn)行了更改,因此需要重新啟動服務(wù)。

sudo systemctl restart resolvconf.service

sudo systemctl restart systemd-resolved.service

防止KR260上的Ubuntu進(jìn)入睡眠狀態(tài)。

sudo gsettings set org.gnome.desktop.session idle-delay 0

sudo systemctl mask suspend.target

安裝ROS 2

為了安裝ROS 2和控制Trossen Robotics X系列手臂的軟件包,我們將稍微修改Raspberry Pi的指令,Raspberry Pi與AMD Kria? KR 260套件一樣,使用Arm64(aarch64)指令集架構(gòu)。

Trossen的庫支持的最新版本的ROS 2是ROS 2 Humble。使用以下命令安裝ROS 2和Trossen庫:

cd ~

sudo apt install curl

curl 'https://raw.githubusercontent.com/Interbotix/interbotix_ros_manipulators/main/interbotix_ros_xsarms/install/rpi4/xsarm_rpi4_install.sh' > xsarm_rpi4_install.sh

sed -i 's/sudo apt-get update && sudo apt -y upgrade/sudo apt-get update/g' xsarm_rpi4_install.sh

chmod +x xsarm_rpi4_install.sh

./xsarm_rpi4_install.sh -d humble -j rx150

演示應(yīng)用程序

在AMD Kria? KR 260套件上安裝ROS 2后,我們將運行其中一個提供的演示應(yīng)用程序。在KR260上打開兩個終端窗口。

在第一個終端窗口中,輸入以下命令:

ros2 launch interbotix_xsarm_control xsarm_control.launch.py robot_model:=rx150

在第二個終端中,輸入以下命令:

python3 /home/ubuntu/interbotix_ws/src/interbotix_ros_manipulators/interbotix_ros_xsarms/interbotix_xsarm_control/demos/python_ros2_api/bartender.py

這將運行一個演示機(jī)器人手臂控制的應(yīng)用程序。

演示細(xì)分

通過檢查這個應(yīng)用程序中的代碼,我們可以看到如何使用Python編程語言控制手臂。首先,我們需要從安裝的InterbotiX庫導(dǎo)入InterbotixManipulatorXS arm包。為此,請輸入以下命令:from interbotix_xs_modules.arm import InterbotixManipulatorXS

安裝這些包后,我們可以開始創(chuàng)建使用Python應(yīng)用程序操縱手臂的應(yīng)用程序。

查看示例代碼,我們可以看到我們要做的第一件事是使用機(jī)器人的參數(shù)、模型、類型及其末端效應(yīng)器對其進(jìn)行初始化。

定義了機(jī)器人(在代碼中顯示為bot)后,應(yīng)用程序首先檢查機(jī)器人是否具有用于演示的正確關(guān)節(jié)數(shù)。一旦確認(rèn)機(jī)器人適合演示,就可以使用幾個Python命令來控制機(jī)器人,這些命令可以根據(jù)需要設(shè)置姿勢或單個位置。也可以使用Python調(diào)用打開和關(guān)閉夾持器。

bot = InterbotixManipulatorXS("rx150", "arm", "gripper")

if (bot.arm.group_info.num_joints < 5):

print('This demo requires the robot to have at least 5 joints!')

sys.exit()

bot.arm.set_ee_pose_components(x=0.3, z=0.2)

bot.arm.set_single_joint_position("waist", np.pi/2.0)

bot.gripper.open()

bot.arm.set_ee_cartesian_trajectory(x=0.1, z=-0.16)

bot.gripper.close()

最后,演示結(jié)束時,安全地將機(jī)器人定位到原位。

bot.arm.go_to_home_pose()

bot.arm.go_to_sleep_pose()

了解了這一點,我們可以開始創(chuàng)建自己的自定義應(yīng)用程序,如本視頻所示。但首先,我們需要能夠在AMD Kria? KR 260板上遠(yuǎn)程開發(fā)應(yīng)用程序。

遠(yuǎn)程開發(fā)

為了開發(fā)我們的遠(yuǎn)程應(yīng)用程序,我們將在開發(fā)機(jī)器上使用Visual Studio Code。我們在開發(fā)機(jī)器上使用Visual Studio Code創(chuàng)建的Python應(yīng)用程序?qū)⑽挥贏MD Kria? KR 260套件的文件系統(tǒng)中。這樣做的好處是不需要連接顯示器、鍵盤或鼠標(biāo),因為我們可以從開發(fā)環(huán)境訪問所有內(nèi)容。

我們還希望能夠在開發(fā)應(yīng)用程序時(在模擬模式或?qū)嶋H執(zhí)行中)遠(yuǎn)程查看機(jī)器人手臂的可視化。

要啟用遠(yuǎn)程開發(fā)和可視化,我們必須建立SSH連接并啟用X11轉(zhuǎn)發(fā)。

使用Windows Powershell通過以下命令安裝OpenSSH。

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

# Install the OpenSSH Client

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

# Start the sshd service

Start-Service sshd

# OPTIONAL but recommended:/code>

Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify

if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {

Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."

New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

} else {

Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."

}

安裝OpenSSH后,使用以下命令創(chuàng)建一個密鑰。

ssh-keygen

默認(rèn)情況下,系統(tǒng)將保存密鑰到C:Users/.ssh/id_rsa.

使用以下命令交換密鑰。

type $env:USERPROFILE.sshid_rsa.pub | ssh ubuntu@ "cat >> .ssh/authorized_keys"

要從Visual Studio Code建立SSH連接,我們必須首先從擴(kuò)展安裝遠(yuǎn)程SSH選項(圖1)。


wKgaomZ1QQWAAY0YAAEJBy4SaK0459.png

圖1:SSH遠(yuǎn)程連接應(yīng)用程序。(來源:貿(mào)澤電子

安裝完成后,我們可以連接到AMD Kria KR 260板(圖2),這將允許我們在KR 260文件系統(tǒng)中遠(yuǎn)程開發(fā)應(yīng)用程序。

wKgZomZ1OzCAJkpGAAAg1F8rqEY955.png

圖2:建立SSH遠(yuǎn)程連接。(來源:貿(mào)澤電子)

為了能夠使用X11轉(zhuǎn)發(fā),我們必須首先在我們的開發(fā)機(jī)器上安裝cXsrv Windows X Server(在參考資料部分中提供)。運行X服務(wù)器并按照圖3-6所示進(jìn)行配置。

wKgZomZ1QSKAZQhjAAHURiBFEGc365.png

圖三:X服務(wù)器顯示設(shè)置。(來源:貿(mào)澤電子)

wKgZomZ1QTOAGED3AAGX8RqLgNA290.png

圖4:X Server客戶端啟動設(shè)置。(來源:貿(mào)澤電子)

wKgaomZ1QUmATgy3AAGeR6GD868141.png

圖5:X服務(wù)器額外設(shè)置。(來源:貿(mào)澤電子)

wKgZomZ1QWeAFj55AADFOZBNgUk756.png

圖6:X服務(wù)器已完成配置。(來源:貿(mào)澤電子)

通過在開發(fā)計算機(jī)上的命令窗口中運行以下命令連接到顯示器:

set DISPLAY=127.0.0.1:0.0

然后,我們可以啟動與AMD Kria KR 260板的SSH連接,并開始開發(fā)機(jī)器人應(yīng)用程序。

ssh -Y @

當(dāng)它運行時,機(jī)械臂將移動,您將在X Server上看到此移動的可視化效果(圖7)。

wKgaomZ1QX-AV0VfAAQUGpuIE5M647.png

圖7:X Server機(jī)械臂可視化(來源:貿(mào)澤電子)

結(jié)束

機(jī)器人可能很復(fù)雜。在這個項目中,我們已經(jīng)看到AMD Kria? KR 260套件可以使用ROS 2快速開發(fā)機(jī)器人解決方案。KR260能夠加速可編程邏輯元件內(nèi)的功能,或在可編程邏輯內(nèi)集成其他系統(tǒng)控制元件,如時間敏感網(wǎng)絡(luò)。

AMD和AMD箭頭徽標(biāo)、Kria及其組合是Advanced Micro Devices,Inc.的商標(biāo)。本文中使用的其他產(chǎn)品名稱僅用于識別目的,可能是其各自所有者的商標(biāo)。

作者:Adam Taylor for Mouser Electronics

審核編輯 黃宇

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

    關(guān)注

    25

    文章

    5402

    瀏覽量

    133705
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    27989

    瀏覽量

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

    關(guān)注

    1

    文章

    276

    瀏覽量

    16919
  • 機(jī)器人手臂
    +關(guān)注

    關(guān)注

    1

    文章

    7

    瀏覽量

    2569
收藏 人收藏

    評論

    相關(guān)推薦

    AMD 機(jī)器人入門套件開啟未來智慧工廠

    )和開發(fā)套件 產(chǎn)品組合的最新成員。作為一款面向機(jī)器人的可擴(kuò)展、開箱即用型開發(fā)平臺,Kria KR26
    的頭像 發(fā)表于 05-18 16:19 ?3211次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>機(jī)器人</b>入門<b class='flag-5'>套件</b>開啟未來智慧工廠

    AMD Kria KR260 DPU配置教程

    這篇文章我們將為 AMD Kria KR260AMD Vitis 上創(chuàng)建硬件加速平臺。 我們將從 KR260 預(yù)設(shè)文件開始,添加平臺所
    的頭像 發(fā)表于 01-12 09:36 ?964次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Kria</b> <b class='flag-5'>KR260</b> DPU配置教程

    AMD Kria KR260 DPU配置教程2

    在上一篇文章中 開發(fā)者分享|AMD Kria KR260 DPU 配置教程 1 我們導(dǎo)出了 platform 的設(shè)計工程 XXX.xsa。接下來我們將使用 pfm.tcl 來生成 pl
    的頭像 發(fā)表于 01-19 10:16 ?2567次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Kria</b> <b class='flag-5'>KR260</b> DPU配置教程<b class='flag-5'>2</b>

    PROPHESEE 攜手 AMD,推出業(yè)界首款兼容 Kria? KV260 視覺 AI 入門套件的事件視覺解決方案

    套件AMD Kria? KV260 Vision AI Starter Kit),兩者的強(qiáng)強(qiáng)聯(lián)合將加速高級邊緣機(jī)器視覺應(yīng)用的
    發(fā)表于 05-30 10:41 ?907次閱讀
    PROPHESEE 攜手 <b class='flag-5'>AMD</b>,推出業(yè)界首款兼容 <b class='flag-5'>Kria</b>? KV<b class='flag-5'>260</b> 視覺 AI 入門<b class='flag-5'>套件</b>的事件視覺<b class='flag-5'>解決方案</b>

    ROS機(jī)器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    ,簡單快捷地調(diào)用合適的算法庫,以提高開發(fā)效率,加快開發(fā)進(jìn)程。 (2) 開源免費,架構(gòu)精簡 ROS系統(tǒng)是一個開源免費,架構(gòu)精簡的機(jī)器人操作
    發(fā)表于 07-09 11:38

    最新的達(dá)芬奇機(jī)器人開發(fā)套件方案

    科技提供的達(dá)芬奇機(jī)器人開發(fā)板,充分利用了達(dá)芬奇的技術(shù)優(yōu)勢,集成了圖像處理,馬達(dá),探測傳感器 接口(紅外線或超聲波),包含有各種例子源代碼(輸入、輸出、定時器、串口、外部中斷、機(jī)器人漫步、循跡等
    發(fā)表于 04-23 15:09

    最實用的STM32和ROS機(jī)器人的串口通信方案

    全網(wǎng)最實用的STM32和ROS機(jī)器人的串口通信方案小白學(xué)移動機(jī)器人同名公眾號:小白學(xué)移動機(jī)器人創(chuàng)作聲明:內(nèi)容包含虛構(gòu)創(chuàng)作內(nèi)容中的情節(jié)存在虛構(gòu)
    發(fā)表于 08-20 06:33

    怎樣將微型ROS移植到機(jī)器人的RA MCU中呢

    瑞薩電子公司與專門從事中間解決方案的公司 eProsima 合作,將微型 ROS 移植到 RA 微控制器 (MCU) 中,以便更輕松地開發(fā)用于物聯(lián)網(wǎng) (IoT) 和工業(yè)系統(tǒng)的專業(yè)
    發(fā)表于 02-11 06:19

    【KV260視覺入門套件試用體驗】KRS編譯與安裝

    KRS編譯與安裝 1. KRS是什么 KRS(Kria Robotics Stack)是Xilinx Kira基于ROS2二次開發(fā)機(jī)器人開發(fā)套件
    發(fā)表于 09-17 00:13

    【KV260視覺入門套件試用體驗】KV260開發(fā)板初使用

    SOM 基于 Zynq UltraScale+ MPSoC EV 架構(gòu)并配備風(fēng)扇和散熱器的主動散熱解決方案用于加速工業(yè)級機(jī)器人解決方案開發(fā),維護(hù)和商業(yè)化,同時使用自適應(yīng)計算。
    發(fā)表于 09-18 14:56

    Xilinx Kria KV260套件的第一個硬件項目

    電子發(fā)燒友網(wǎng)站提供《Xilinx Kria KV260套件的第一個硬件項目.zip》資料免費下載
    發(fā)表于 11-04 09:57 ?0次下載
    Xilinx <b class='flag-5'>Kria</b> KV<b class='flag-5'>260</b><b class='flag-5'>套件</b>的第一個硬件項目

    AMD Xilinx 機(jī)器人入門套件加速設(shè)計和開發(fā)

    AMD Xilinx 機(jī)器人入門套件加速設(shè)計和開發(fā)
    的頭像 發(fā)表于 12-28 09:51 ?1518次閱讀
    <b class='flag-5'>AMD</b> Xilinx <b class='flag-5'>機(jī)器人</b>入門<b class='flag-5'>套件</b>加速設(shè)計和<b class='flag-5'>開發(fā)</b>

    Rpi SenseHAT與AMD-Xilinx Kria KR260和Petalinux的接口

    電子發(fā)燒友網(wǎng)站提供《Rpi SenseHAT與AMD-Xilinx Kria KR260和Petalinux的接口.zip》資料免費下載
    發(fā)表于 07-13 10:18 ?0次下載
    Rpi SenseHAT與<b class='flag-5'>AMD</b>-Xilinx <b class='flag-5'>Kria</b> <b class='flag-5'>KR260</b>和Petalinux的接口

    Kria KR260機(jī)器人入門套件:通過硬件加速釋放機(jī)器人

    電子發(fā)燒友網(wǎng)站提供《Kria KR260機(jī)器人入門套件:通過硬件加速釋放機(jī)器人.pdf》資料免費下載
    發(fā)表于 09-14 10:16 ?4次下載
    <b class='flag-5'>Kria</b> <b class='flag-5'>KR260</b><b class='flag-5'>機(jī)器人</b>入門<b class='flag-5'>套件</b>:通過硬件加速釋放<b class='flag-5'>機(jī)器人</b>

    AMD Kria KR260 DPU配置教程3

    最后我們需要生成能夠在 AMD Kria KR260 上運行的固件。
    的頭像 發(fā)表于 01-26 09:33 ?1841次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Kria</b> <b class='flag-5'>KR260</b> DPU配置教程3