

在前幾期中,我們實(shí)現(xiàn)了PIPER機(jī)械臂的點(diǎn)位控制、軌跡錄制與視覺識(shí)別陀螺儀控制。本期實(shí)現(xiàn)的是:通過深度相機(jī)(如奧比中光Gemini)檢測(cè)手部關(guān)鍵點(diǎn)(指關(guān)節(jié)、掌心),將手部在三維空間中的姿態(tài)與位置映射到PIPER機(jī)械臂末端執(zhí)行器上,實(shí)現(xiàn)低成本“手勢(shì)驅(qū)動(dòng)機(jī)械臂運(yùn)動(dòng)”。
這項(xiàng)技術(shù)不僅僅是“識(shí)別手勢(shì)”,更是實(shí)現(xiàn)了從人體動(dòng)作到機(jī)器人末端的坐標(biāo)映射與運(yùn)動(dòng)同步。
更重要的是——所有代碼已開源,歡迎動(dòng)手實(shí)踐!
開源鏈接:https://github.com/agilexrobotics/Agilex-College
? 奧比中光 Petrel(帶對(duì)齊的深度圖像與RGB圖像:640*400@30fps)
? (可選):intel realsense D435(帶對(duì)齊的深度圖像與RGB圖像:640*480@30fps)
? (可選):奧比中光 gemini(帶對(duì)齊的深度圖像與RGB圖像:640*400@60fps)
? NVIDIA 3050laptop (帶3050移動(dòng)端的筆記本)
? AgileX robotics PiPer機(jī)械臂
? Ubuntu 20.04
? ROS noetic
? 安裝依賴的ROS功能包
sudoapt install -y ros-noetic-sensor-msgs ros-noetic-image-transport ros-noetic-cv-bridge ros-noetic-vision-msgs ros-noetic-image-geometry ros-noetic-pcl-conversions ros-noetic-pcl-ros ros-noetic-message-filtersgit cloen https://github.com/agilexrobotics/Agilex-College.gitcdAgilex-College/piper/cp-r piper_kinematics/ your_ws/src/catkin_make
? PIPER機(jī)械臂驅(qū)動(dòng)部署請(qǐng)參考:https://github.com/agilexrobotics/piper_sdk/blob/1_0_0_beta/README(ZH).MD
? PIPER機(jī)械臂ROS控制節(jié)點(diǎn)部署參考:https://github.com/agilexrobotics/piper_ros/blob/noetic/README.MD
? 克隆并編譯此功能包
cdyour_ws/srcgit cloen https://github.com/agilexrobotics/Agilex-College.gitcdAgilex-College/piper/cp-r handPoseTeleoperation/ your_ws/src/cdyour_ws/catkin_makesourcedevel/setup.bash
? 需要相機(jī)能自動(dòng)對(duì)齊深度圖像與彩色圖像(D2C),此項(xiàng)目暫時(shí)不支持沒有自動(dòng)對(duì)齊功能的相機(jī),對(duì)齊后的深度圖像與RGB圖像長(zhǎng)寬一致。此項(xiàng)目使用奧比中光 Genimi深度相機(jī)作為功能測(cè)試,具體配置運(yùn)行示例以及設(shè)置請(qǐng)參考奧比中光相機(jī)驅(qū)動(dòng)倉庫
? 奧比中光 Genimi使用下面的命令啟動(dòng),需要先在gemini.launch文件中配置深度對(duì)齊功能
sourcedevel/setup.bashroslaunch roslaunch astra_camera gemini.launch
? realsense D435使用下面的命令啟動(dòng)
roslaunch realsense2_camera rs_aligned_depth.launch
? 將連接到機(jī)械臂的can模塊插入PC,查找機(jī)械臂CAN總線,并啟動(dòng)機(jī)械臂驅(qū)動(dòng)節(jié)點(diǎn)
# 尋找機(jī)械臂的CAN端口./find_all_can_port.sh# 連接到機(jī)械臂的CAN端口./can_activate.shroslaunch piper start_single_piper.launch
? 使用piper_kinematics中的交互式標(biāo)記interactive_pose_marker工具,通過拖拽機(jī)械臂到達(dá)期望的home點(diǎn)
? 啟動(dòng)piper_kinematics中的逆解節(jié)點(diǎn),下達(dá)對(duì)Piper的控制指令到控制節(jié)點(diǎn)
rosrun piper_kinematics piper_ik_node rosrun piper_kinematics interactive_pose_marker.py
? 啟動(dòng)手部姿態(tài)檢測(cè)節(jié)點(diǎn)
rosrun handpose_det handpose_det_new_ik.py
? 啟動(dòng)rviz實(shí)時(shí)觀察圖像檢測(cè)情況,其中MarkerArray中的紅色圓點(diǎn)為指關(guān)節(jié)對(duì)應(yīng)點(diǎn),綠色圓點(diǎn)為手掌形心
? 保持握拳5秒姿勢(shì)不動(dòng),五秒結(jié)束后會(huì)定義當(dāng)前手部所處的姿態(tài)為手部坐標(biāo)系的原點(diǎn),隨后張開五指開始映射手部相在手部坐標(biāo)系的原點(diǎn)相對(duì)的姿態(tài)。(選取手部坐標(biāo)系的原點(diǎn)時(shí)候,盡量選擇圖像中心的部位,且不宜距離相機(jī)過遠(yuǎn)導(dǎo)致手部識(shí)別不穩(wěn)定,也不宜過近導(dǎo)致因相機(jī)視野受限導(dǎo)致的遙操作空間過?。?/p>
? 調(diào)整大拇指與食指的距離控制夾爪開合
結(jié)語
最后,不知道大家學(xué)‘廢’了嗎,控制機(jī)械臂不需要復(fù)雜的編程,脫離手機(jī),直接通過手勢(shì)識(shí)別控制機(jī)械臂,實(shí)現(xiàn)“手在哪,臂就到哪”的自然交互。下一期技術(shù)生態(tài)教程持續(xù)更新中,敬請(qǐng)期待!
松靈機(jī)器人成立于2016年,是全球領(lǐng)先的機(jī)器人底盤制造商和移動(dòng)機(jī)器人系統(tǒng)解決方案服務(wù)商。目前,松靈機(jī)器人已經(jīng)擁有多款適用于不同地形的室內(nèi)外移動(dòng)機(jī)器人底盤,在載重、續(xù)航、速度、運(yùn)動(dòng)模式等不同需求場(chǎng)景下實(shí)現(xiàn)全矩陣覆蓋。同時(shí),松靈機(jī)器人還推出了自動(dòng)駕駛解決方案,平行駕駛解決方案,機(jī)器人科研教育套件等移動(dòng)機(jī)器人底盤配套產(chǎn)品,幫助客戶在自動(dòng)駕駛、機(jī)械控制、計(jì)算機(jī)、車輛等領(lǐng)域完成實(shí)驗(yàn)驗(yàn)證。
憑借領(lǐng)先的研發(fā)技術(shù),松靈機(jī)器人已經(jīng)與包括阿里巴巴、華為、本田、中建三局在內(nèi)的30多家行業(yè)領(lǐng)軍企業(yè),以及中科院、清華大學(xué)、南方科技大學(xué)、北京理工大學(xué)、新加坡國(guó)立大學(xué)、紐約大學(xué)等國(guó)內(nèi)外50多所頂尖學(xué)府開展了深度合作。


