精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

機器人學(xué)科建設(shè)沙盤套件!智慧農(nóng)業(yè)3D分揀套裝詳解

大象機器人科技 ? 來源:大象機器人科技 ? 作者:大象機器人科技 ? 2023-06-30 18:02 ? 次閱讀

作為最熱門的技術(shù)領(lǐng)域,機器人技術(shù)正在徹底改變產(chǎn)業(yè),并推動全球的創(chuàng)新。為了滿足這個快速發(fā)展的領(lǐng)域?qū)夹g(shù)人才日益增長的需求,開發(fā)了一個開創(chuàng)性的機器人教育解決方案。這個創(chuàng)新的解決方案將自動化水果采摘機的模擬與水果分揀和運送的自動化復(fù)合機器人結(jié)合起來,為學(xué)生提供了一個在最受歡迎和最有趨勢的技術(shù)領(lǐng)域中的全面學(xué)習(xí)經(jīng)驗。

在本文中我們將詳細為你介紹水果采摘和分揀機器人場景。我們將會從套裝的介紹和使用的場景介紹,到套裝功能機械臂的實現(xiàn)。

智慧農(nóng)業(yè)套裝

圖中所展示的就是我們的智慧農(nóng)業(yè)套裝,它是由以下的內(nèi)容組成。

mechArm 270 M5Stack *2
傳送帶 *1
3D攝像頭/深度攝像頭 *2
仿真模擬果樹 *1
結(jié)構(gòu)件 若干

你肯定很好奇這個套裝是怎么運轉(zhuǎn)的,接下來我將為你介紹這個套裝的運作流程。

首先你可以看到我們有兩臺機械臂,他們分別執(zhí)行不同的功能,離果樹最近的那一臺機械臂是采摘機器人下面簡稱R1;中間那臺機械臂是分揀機器人下面簡稱是R2。從他們的名字上就可以知道它們分別做的是什么工作,R1負責(zé)將果樹上的果實采摘下來放置在傳送帶上,R2則是將傳送帶上不合格的水果分揀出來。

流程:

采摘:R1通過深度攝像頭對果樹上果實的識別然后對果子進行定位,將果實的坐標發(fā)送給R1去采摘。

運輸:通過R1的采摘,果實被放置在傳送帶上。傳送帶經(jīng)過運轉(zhuǎn)將果實運輸?shù)絉2可識別的范圍內(nèi)進行果實好壞的判斷。

分揀:R2上方的攝像頭將視線范圍內(nèi)的果實進行識別算法的判斷,判斷為好果實的話,果實將隨著傳送帶傳輸?shù)焦麑嵤占瘏^(qū);判斷為壞果實的話,將壞果實的坐標信息傳遞給R2,R2將壞果實目標進行抓取出來,放置在特定區(qū)域。

持續(xù)循環(huán)上面的流程:采摘->運輸->分揀->采摘->運輸

產(chǎn)品介紹

下面將簡要介紹套裝中的產(chǎn)品。

Robotic Arm - mechArm 270 M5Stack

這是一款小六軸機械臂,以M5Stack-Basic為核心控制,ESP32為輔助控制,結(jié)構(gòu)是中心對稱結(jié)構(gòu)(仿工業(yè)結(jié)構(gòu))。mechArm 270-M5本體重量1kg, 負載250g,工作半徑270mm,設(shè)計緊湊便攜,小巧但功能強大,操作簡單,能與人協(xié)同、安全工作。

傳送帶

傳送帶是一種用于運輸物品的機械設(shè)備,通常由一個帶狀物體和一個或多個滾動軸組成。它們可以運輸各種物品,例如包裹、箱子、食品、礦石、建筑材料等等。傳送帶的工作原理是將物品放置在運動的帶子上,然后將其移動到目標位置。傳送帶通常由電機、傳動系統(tǒng)、帶子和支撐結(jié)構(gòu)組成。電機提供動力,傳動系統(tǒng)將動力傳遞給帶子,使其移動。

目前市面上可以根據(jù)用戶的需求定制各種傳送帶,例如傳送帶的長寬高,履帶的材質(zhì)等。

深度攝像頭

隨著使用場景的多樣性,普通的2D攝像頭無法滿足我們使用的需求。在場景中我們使用到的是深度攝像頭。深度攝像頭是一種能夠獲取場景深度信息的相機。它不僅能夠捕捉場景的顏色和亮度信息,還能夠感知物體之間的距離和深度信息。深度攝像頭通常使用紅外線或其他光源來進行測量,以獲取物體和場景的深度信息。

攝像頭1.png

它可以獲取很多信息,例如深度的畫面,彩色的畫面,紅外線的畫面,點云畫面。

有了深度相機,我們就可以精準的獲取到果樹上果實的位置,以及顏色信息。

自適應(yīng)夾爪-機械臂末端執(zhí)行器

夾爪1.jpeg

自適應(yīng)夾爪是一種用來抓取、握取或夾持物體的末端執(zhí)行器,它由兩個可移動的爪子組成,可以通過機械臂的控制系統(tǒng)來控制其開合程度和開合速度。

項目功能的實現(xiàn)

我們先要準備好編譯的環(huán)境,該場景是用Python語言來進行編寫的。在使用和學(xué)習(xí)的時候得安裝好環(huán)境。

編譯環(huán)境:

numpy==1.24.3
opencv-contrib-python==4.6.0.66
openni==2.3.0
pymycobot==3.1.2
PyQt5==5.15.9
PyQt5-Qt5==5.15.2
PyQt5-sip==12.12.1
pyserial==3.5

項目的功能點我們主要分為三部分:

機器視覺識別算法,深度識別算法


            ● 機械臂的控制,路徑的規(guī)劃


            ● 多臺機器之間通信和邏輯的處理

我們先從機器視覺識別算法介紹:

機器視覺識別算法

使用深度攝像頭之前需要進行相機標定。相機標定的教程https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html

相機標定:

相機標定是指通過對攝像機進行一系列測量和計算,確定攝像機內(nèi)部參數(shù)和外部參數(shù)的過程。攝像機內(nèi)部參數(shù)包括焦距、主點位置、像素間距等,而攝像機外部參數(shù)則包括攝像機在世界坐標系中的位置和方向等。相機標定的目的是為了使攝像機能夠準確地捕捉并記錄世界坐標系中物體的位置、大小、形狀等信息。

我們的目標物體是果實,它顏色不一,形狀也不一定,有紅的,橙的,黃的。想要準確的抓取且不傷害到果實,就需要獲取果實的各個信息,寬度,厚度等,智能的進行抓取。

我們看一下目標果實,它們目前較大的區(qū)別就是顏色的不一樣,我們設(shè)定紅色和橙色的目標將被選中,這里就要用到HSV色域來進行目標的定位。下面的代碼是用來檢測目標果實。

Code:

class Detector:
    class FetchType(Enum):
        FETCH = False
        FETCH_ALL = True

"""
    Detection and identification class
    """

    HSV_DIST = {
# "redA": (np.array([0, 120, 50]), np.array([3, 255, 255])),
# "redB": (np.array([176, 120, 50]), np.array([179, 255, 255])),
"redA": (np.array([0, 120, 50]), np.array([3, 255, 255])),
"redB": (np.array([118, 120, 50]), np.array([179, 255, 255])),
# "orange": (np.array([10, 120, 120]), np.array([15, 255, 255])),
"orange": (np.array([8, 150, 150]), np.array([20, 255, 255])),
"yellow": (np.array([28, 100, 150]), np.array([35, 255, 255])), # old
# "yellow": (np.array([31, 246, 227]), np.array([35, 255, 255])),   # new
}

    default_hough_params = {
"method": cv2.HOUGH_GRADIENT_ALT,
"dp": 1.5,
"minDist": 20,
"param2": 0.6,
"minRadius": 15,
"maxRadius": 40,
}

    def __init__(self, target):
        self.bucket = TargetBucket()
        self.detect_target = target

    def get_target(self):
        return self.detect_target

    def set_target(self, target):
        if self.detect_target == target:
            return
        self.detect_target = target
        if target == "apple":
            self.bucket = TargetBucket(adj_tolerance=25, expire_time=0.2)
        elif target == "orange":
            self.bucket = TargetBucket()
        elif target == "pear":
            self.bucket = TargetBucket(adj_tolerance=35)

    def detect(self, rgb_data):
        if self.detect_target == "apple":
            self.__detect_apple(rgb_data)
        elif self.detect_target == "orange":
            self.__detect_orange(rgb_data)
        elif self.detect_target == "pear":
            self.__detect_pear(rgb_data)

    def __detect_apple(self, rgb_data):
        maskA = color_detect(rgb_data, *self.HSV_DIST["redA"])
        maskB = color_detect(rgb_data, *self.HSV_DIST["redB"])
        mask = maskA + maskB

        kernelA = cv2.getStructuringElement(cv2.MORPH_RECT, (8, 8))
        kernelB = cv2.getStructuringElement(cv2.MORPH_RECT, (2, 2))
        mask = cv2.erode(mask, kernelA)
        mask = cv2.dilate(mask, kernelA)

        targets = circle_detect(
            mask, {"minDist": 15, "param2": 0.5,
"minRadius": 10, "maxRadius": 50}
)
        self.bucket.add_all(targets)
        self.bucket.update()

    def __detect_orange(self, rgb_data):
        mask = color_detect(rgb_data, *self.HSV_DIST["orange"])
        targets = circle_detect(
            mask, {"minDist": 15, "param2": 0.1,
"minRadius": 7, "maxRadius": 30}
)
        self.bucket.add_all(targets)
        self.bucket.update()

    def __detect_pear(self, rgb_data):
        mask = color_detect(rgb_data, *self.HSV_DIST["yellow"])

        kernelA = cv2.getStructuringElement(cv2.MORPH_RECT, (25, 25))
        kernelB = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
        mask = cv2.erode(mask, kernelA)
        mask = cv2.dilate(mask, kernelA)
        mask = cv2.erode(mask, kernelB)

        targets = circle_detect(
            mask, {"minDist": 15, "param2": 0.1,
"minRadius": 15, "maxRadius": 70}
)
        self.bucket.add_all(targets)
        self.bucket.update()

    def fetch(self):
        return self.bucket.fetch()

    def fetch_all(self):
        return self.bucket.fetch_all()

    def debug_view(self, bgr_data, view_all=True):
        if view_all:
            targets = self.bucket.fetch_all()
        else:
            targets = self.bucket.fetch()
            if targets is not None:
                targets = [targets]
        if targets is not None:
            for target in targets:
                x, y, radius = target["x"], target["y"], target["radius"]
# draw outline
                cv2.circle(bgr_data, (x, y), radius, BGR_GREEN, 2)

# draw circle center
                cv2.circle(bgr_data, (x, y), 1, BGR_RED, -1)

左邊為彩色流視頻,右邊為深度視頻

我們的第一步就是要將目標果實能夠正確的檢測出來,以便后續(xù)獲取目標物體的坐標,深度等其他信息。我們定義需要獲取的信息方便后續(xù)的存儲以及調(diào)用。

code:

class VideoCaptureThread(threading.Thread):
    def __init__(self, detector, detect_type = Detector.FetchType.FETCH_ALL.value):
        threading.Thread.__init__(self)
        self.vp = VideoStreamPipe()
        self.detector = detector                  
        self.finished = True                      
        self.camera_coord_list = []               
        self.old_real_coord_list = []             
        self.real_coord_list = []                 
        self.new_color_frame = None              
        self.fruit_type = detector.detect_target  
        self.detect_type = detect_type            
        self.rgb_show = None
        self.depth_show = None

最后我們要獲取的是果實的坐標,能夠發(fā)送給機械臂去執(zhí)行抓取的坐標,通過深度坐標轉(zhuǎn)化為世界坐標,已經(jīng)是成功了一大半了,最后只需要將世界坐標跟機械臂的坐標系進行轉(zhuǎn)換就可以獲得抓取目標果實的坐標了。

# get world coordinate
 def convert_depth_to_world(self, x, y, z):
        fx = 454.367
        fy = 454.367
        cx = 313.847
        cy = 239.89

        ratio = float(z / 1000)
        world_x = float((x - cx) * ratio) / fx
        world_x = world_x * 1000
        world_y = float((y - cy) * ratio) / fy
        world_y = world_y * 1000
        world_z = float(z)

        return world_x, world_y, world_z

該階段,我們實現(xiàn)了檢測目標物體,并且返回可抓取的坐標,傳遞給機械臂。接下來我們來處理機械臂的控制以及軌跡的規(guī)劃。

機械臂的控制和軌跡規(guī)劃

說到機械臂的控制,一開始大家可能都會覺得很困難,怎么讓機械臂按照自己的想法動起來。不用擔(dān)心,我們mechArm270機械臂有pymycobot,一個相對比較成熟的機械臂控制庫,只需要簡單的幾行代碼就能夠讓機械臂運動起來。

PS:pymycobot 是pyhon的一個庫,用于控制機械臂運動的一個庫,我們使用的是最新版,pymycobot==3.1.2

#Introduce two commonly used control methods
'''
Send the degrees of all joints to robot arm.
angle_list_degrees: a list of degree value(List[float]), length 6
speed: (int) 0 ~ 100,robotic arm's speed
'''
send_angles([angle_list_degrees],speed)
send_angles([10,20,30,45,60,0],100)
'''
Send the coordinates to robot arm
coords:a list of coordiantes value(List[float]), length 6
speed: (int) 0 ~ 100,robotic arm's speed
'''
send_coords(coords, speed)
send_coords([125,45,78,-120,77,90],50)

以角度/坐標都可以把發(fā)送給機械臂去進行執(zhí)行。

動圖1.gif

控制機械臂運動

采摘機器人軌跡規(guī)劃

在實現(xiàn)簡單的控制之后,我們就要設(shè)計機械臂抓取果實的軌跡規(guī)劃了。在識別算法當中,我們獲得到了果子的世界坐標。處理果子的世界坐標,轉(zhuǎn)化到機械臂坐標系坐標進行目標抓取。

#處理果實世界坐標的方法
deftarget_coords(self):
        coord = self.ma.get_coords()
whilelen(coord)==0:
            coord = self.ma.get_coords()

        target = self.model_track()
        coord[:3]= target.copy()
        self.end_coords = coord[:3]

if DEBUG ==True:
print("coord: ", coord)
print("self.end_coords: ", self.end_coords)

        self.end_coords = coord

return coord

有了目標坐標之后,我們規(guī)劃機械臂運動的軌跡。在機械臂運動的途中,不能撞到其他結(jié)構(gòu),打落水果等。

在規(guī)劃的時候可以考慮設(shè)計:

● 初始姿態(tài)


            ● 待抓取姿態(tài)


            ● 避障姿態(tài)

各種的姿態(tài)應(yīng)該根據(jù)自己的場景需求來設(shè)定。

分揀機器人路徑規(guī)劃

前有采摘機器人,現(xiàn)在來講解分揀機器人路徑的規(guī)劃。其實這兩個機器人的路徑規(guī)劃都是大同小異,分揀目標是傳送帶上的目標,通過深度攝像頭獲取傳送帶上壞果實的坐標將其分揀出來。

動圖2.gif

采摘機器人和分揀機器人的控制和軌跡規(guī)劃就到這里了,接下來我們來介紹比較重要的,也是這個套裝的重中之重,這兩臺機械臂之間是如何通信的呢,它們是如何有效讓兩臺機械臂和一臺傳送帶不進入死循環(huán)能夠運行的如此順暢。

多臺機械臂的通信和邏輯的處理

如果沒有一個完整的邏輯,相信這兩個機械臂早就打起架來了。我們看整個程序的流程圖。

流程圖.jpeg

就是在R2發(fā)現(xiàn)壞果的時候,R1是機械臂是暫停的狀態(tài),等到R2完成分揀工作了之后會給R1傳遞信息讓R1繼續(xù)進行采摘工作。

Socket通信

既然要通信,那就少不了Socket這個庫。Socket庫是一個在網(wǎng)絡(luò)編程中經(jīng)常使用的標準庫,它提供了一組用于網(wǎng)絡(luò)通信的API,可以方便地實現(xiàn)不同計算機之間的數(shù)據(jù)傳輸。為了解決R1 和R2 之間通信的問題,我們的解決方法是簡歷一個服務(wù)器,和一個客戶端的效果。

流程圖2.jpeg

服務(wù)器建立的相關(guān)代碼,提前初始化需要傳遞的信息

Code:

classTcpServer(threading.Thread):
def__init__(self, server_address)- >None:
        threading.Thread.__init__(self)
        self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.s.bind(server_address)
print("server Binding succeeded!")
        self.s.listen(1)
        self.connected_obj =None

        self.good_fruit_str ="apple"
        self.bad_fruit_str ="orange"
        self.invalid_fruit_str ="none"

        self.target = self.invalid_fruit_str
        self.target_copy = self.target
        self.start_move =False

客戶端建立的相關(guān)代碼。

Code:

classTcpClient(threading.Thread):
def__init__(self, host, port, max_fruit =8, recv_interval =0.1, recv_timeout =30):
        threading.Thread.__init__(self)

        self.good_fruit_str ="apple"
        self.bad_fruit_str ="orange"
        self.invalid_fruit_str ="none"

        self.host = host
        self.port = port

# Initializing the TCP socket object
# specifying the usage of the IPv4 address family
#  designating the use of the TCP stream transmission protocol
        self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        self.client_socket.connect((self.host, self.port))
        self.current_extracted =0
        self.max_fruit = max_fruit
        self.recv_interval = recv_interval
        self.recv_timeout = recv_timeout

        self.response_copy = self.invalid_fruit_str
        self.action_ready =True

建立好了服務(wù)器和客戶端,我們就可以讓R1和R2像我們平時發(fā)信息一樣進行通信了。

R1:"我現(xiàn)在在抓果實“

R2:"收到好的"

技術(shù)要點

這整個項目下來關(guān)鍵是多臺機械臂之間的通信和邏輯的處理。要讓兩個機械臂之間建立通信有很多種辦法,例如常見的物理通信串口通信,以太網(wǎng)口通信,藍牙通信等。

我們現(xiàn)在使用的就是以太網(wǎng)口通信,使用現(xiàn)有的TCP/IP協(xié)議,用python當中的socket庫來進行實現(xiàn)。

建房子先建地基這個道理大家都懂吧,建立一個項目就要搭建好它的框架也是同一個道理。此外機械臂控制的原理也是至關(guān)重要的,學(xué)會如何將目標物體轉(zhuǎn)化為世界坐標在換成機械臂坐標系中的目標。

總結(jié)

該水果采摘和分揀機器人的應(yīng)用場景不僅可以幫助學(xué)生更好地理解機械原理和電子控制技術(shù),還可以促進他們對科學(xué)技術(shù)的興趣和熱愛,并提供一個鍛煉實踐能力和競賽思維的機會。

學(xué)習(xí)機械臂相關(guān)知識需要實踐操作,而該應(yīng)用場景提供了一個具有實際意義的機會,讓學(xué)生通過實際操作來加深對機械臂的理解和認識。此外,該場景還可以讓學(xué)生學(xué)習(xí)和掌握機械臂運動控制、視覺識別和物品抓取等技術(shù),幫助他們更好地掌握機械臂的相關(guān)知識和技能。

除此之外,該應(yīng)用場景還可以幫助學(xué)生鍛煉團隊合作、創(chuàng)新思維和競賽思維等能力,為他們未來的職業(yè)發(fā)展打下堅實的基礎(chǔ)。通過參與機器人競賽、科技展覽等活動,學(xué)生可以不斷提高自己的競賽水平和創(chuàng)新能力,從而更好地適應(yīng)未來的社會發(fā)展和科技變革。

審核編輯 黃宇

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

    關(guān)注

    210

    文章

    28205

    瀏覽量

    206524
  • 3D
    3D
    +關(guān)注

    關(guān)注

    9

    文章

    2863

    瀏覽量

    107325
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    46858

    瀏覽量

    237556
收藏 人收藏

    評論

    相關(guān)推薦

    機器人學(xué)導(dǎo)論(原書第3版)_(美)HLHN J.CRAIG著 贠超等譯

    機器人學(xué)導(dǎo)論(原書第3版)_(美)HLHN J.CRAIG著贠超等譯
    發(fā)表于 09-28 11:49

    【KittenBot機器人試用申請】KittenBot繪圖避障機器人學(xué)習(xí)課程

    避障機器人學(xué)習(xí)課程3、預(yù)計成果:學(xué)生在學(xué)習(xí)過程中學(xué)會解決問題、自足思考4、試用計劃:1、拿到機器后,首先我將會把機器人的壁障原理與使用方法弄懂2、開展專題課程,講述使用方法
    發(fā)表于 07-07 18:05

    【下載】《機器人學(xué)機器視覺與控制――MATLAB算法基礎(chǔ)》

    `內(nèi)容簡介本書是關(guān)于機器人學(xué)機器視覺的實用參考書, 第一部分“基礎(chǔ)知識”(第2章和第3章)介紹機器人及其操作對象的位置和姿態(tài)描述,以及機器人
    發(fā)表于 01-17 17:38

    【下載】《機器人學(xué)機器視覺與控制――MATLAB算法基礎(chǔ)》

    `內(nèi)容簡介本書是關(guān)于機器人學(xué)機器視覺的實用參考書, 第一部分“基礎(chǔ)知識”(第2章和第3章)介紹機器人及其操作對象的位置和姿態(tài)描述,以及機器人
    發(fā)表于 04-08 18:19

    機器人學(xué)習(xí)相關(guān)資料文檔!

    分享八本機器人方面的文檔,其中包括了算法導(dǎo)論,機器人學(xué)導(dǎo)論,機器人技術(shù)及應(yīng)用等多本書籍!喜歡機器人方面的大家一定不要錯過!
    發(fā)表于 08-25 09:46

    已開獎——【送書福利】機器人時代已來!送你幾本機器人學(xué)硬核好書

    `21世紀是機器人的時代。從學(xué)術(shù)研究到工程應(yīng)用,機器人引起了學(xué)界和工業(yè)界越來越多的關(guān)注和興趣。這種日益濃厚的興趣也來源于機器人學(xué)作為一門綜合性學(xué)科的多
    發(fā)表于 11-16 16:14

    機器人學(xué)

    第一章 緒論 1.1 機器人學(xué)的發(fā)展1.1.1 機器人的由來1.1.2 機器人的定義1.1.3 機器人學(xué)的進展1.2 機器人的特點、結(jié)構(gòu)與
    發(fā)表于 01-14 16:45 ?98次下載
    <b class='flag-5'>機器人學(xué)</b>

    機器人學(xué)_熊有倫

    機器人學(xué) 熊有倫 1993版 機器人學(xué) 熊有倫 1993
    發(fā)表于 11-18 17:12 ?0次下載

    高級機器人學(xué)與步行機器人

    高級機器人學(xué)與步行機器人!資料來源網(wǎng)絡(luò),如有侵權(quán),敬請見諒
    發(fā)表于 11-20 15:08 ?0次下載

    機器人學(xué)導(dǎo)論——分析、系統(tǒng)及應(yīng)用

    機器人學(xué)導(dǎo)論——分析、系統(tǒng)及應(yīng)用!資料來源網(wǎng)絡(luò),如有侵權(quán),敬請見諒
    發(fā)表于 11-20 15:33 ?0次下載

    基礎(chǔ)機器人學(xué)與寶貝車機器人

    基礎(chǔ)機器人學(xué)與寶貝車機器人!資料來源網(wǎng)絡(luò),如有侵權(quán),敬請見諒
    發(fā)表于 11-20 15:34 ?0次下載

    機器人學(xué)習(xí)算法圖解教學(xué)

    本文主要介紹機器人學(xué)習(xí)算法的編譯及實際操作
    發(fā)表于 09-14 10:58 ?21次下載

    機器人學(xué)導(dǎo)論的課后習(xí)題答案資料免費下載

    機器人學(xué)導(dǎo)論是由斯坦福大學(xué)榮譽教授ohn.J.Craig先生所編寫的一本專業(yè)的機器人理論知識學(xué)習(xí)書籍。本書介紹機械操作的理論和工程知識,這是機器人學(xué)的分支學(xué)科,它是建立在幾個傳統(tǒng)
    發(fā)表于 12-03 08:00 ?0次下載

    機器人學(xué)—自動化的輝煌篇章pdf

    機器人學(xué)—自動化的輝煌篇章pdf
    發(fā)表于 12-10 17:04 ?0次下載

    機器人學(xué)的幾何基礎(chǔ)(教材資料)

    機器人學(xué)的幾何基礎(chǔ)(第2版)》是一部關(guān)于機器人學(xué)中有著重要應(yīng)用的幾何概念的精彩導(dǎo)論。第2版提供了對相關(guān)領(lǐng)域內(nèi)容的深入講解,并仍保持獨特的風(fēng)格 它的重點不是集中在運動學(xué)和機器人學(xué)的計算結(jié)果上,而是包含
    發(fā)表于 04-20 14:43 ?2次下載