日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

顏色分類機(jī)器人的制作

454398 ? 來源:工程師吳畏 ? 2019-08-20 17:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:硬件

這是我以前用來構(gòu)建的這個(gè)。我使用來自phidgets.com的部件以及我躺在房子周圍的東西100%構(gòu)建它。

Phidgets Boards,Motors,Hardware

HUB0000 - VINT Hub Phidget

1108 - 磁傳感器

2x STC1001 - 2.5A Stepper Phidget

2x 3324 - 42STH38 NEMA-17雙極無齒輪步進(jìn)器

3x 3002 - Phidget電纜60厘米

3403 - USB2.0 4端口集線器

3031 - 母尾5.5x2.1mm

3029 - 2線100‘絞線

3604 - 10mm白色LED(10個(gè)袋子)

3402 - USB網(wǎng)絡(luò)攝像頭

其他部件

24VDC 2.0A電源

車庫(kù)廢木和金屬

拉鏈

底部切斷的塑料容器

第2步:設(shè)計(jì)機(jī)器人

顏色分類機(jī)器人的制作

我們需要設(shè)計(jì)一些可以從輸入料斗中取出一個(gè)珠子,將其放在網(wǎng)絡(luò)攝像頭下,然后將其移動(dòng)到適當(dāng)?shù)南渥又械臇|西。

珠子皮卡

我決定用2片圓形膠合板做第1部分,每個(gè)膠合板在同一個(gè)地方鉆一個(gè)洞。底部件固定,頂部件連接到步進(jìn)電機(jī),步進(jìn)電機(jī)可以在裝有珠子的料斗下方旋轉(zhuǎn)。當(dāng)孔在料斗下移動(dòng)時(shí),它會(huì)拾取一個(gè)珠子。然后我可以在網(wǎng)絡(luò)攝像頭下旋轉(zhuǎn)它,然后進(jìn)一步旋轉(zhuǎn),直到它與底部的孔匹配,此時(shí)它就會(huì)落下。

在這張圖片中,我正在測(cè)試系統(tǒng)能行得通。一切都是固定的,除了頂部的圓形膠合板,它與下面的步進(jìn)電機(jī)相連。網(wǎng)絡(luò)攝像頭尚未安裝。我現(xiàn)在只是使用Phidget控制面板轉(zhuǎn)向電機(jī)。

珠子存儲(chǔ)

下一部分是設(shè)計(jì)用于保持每種顏色的bin系統(tǒng)。我決定使用下面的第二個(gè)步進(jìn)電機(jī)來支撐和旋轉(zhuǎn)具有均勻間隔隔間的圓形容器。這可以用來旋轉(zhuǎn)珠子將從其中掉出的孔下方的正確隔間。

我使用紙板和膠帶來構(gòu)建它。這里最重要的是一致性 - 每個(gè)隔間應(yīng)該是相同的尺寸,整個(gè)東西應(yīng)該均勻加重,以便旋轉(zhuǎn)而不會(huì)跳過。

通過緊密貼合的蓋子完成珠子的移除一次只有一個(gè)隔間,所以可以倒出珠子。

攝像頭

網(wǎng)絡(luò)攝像頭安裝在料斗和下板孔位置之間的頂板上。這允許系統(tǒng)在掉落之前觀察珠子。 LED用于照亮相機(jī)下方的珠子,并且環(huán)境光被阻擋,以提供一致的照明環(huán)境。這對(duì)于準(zhǔn)確的顏色檢測(cè)非常重要,因?yàn)榄h(huán)境光可以真正地消除感知顏色。

位置檢測(cè)

系統(tǒng)能夠檢測(cè)到珠子的旋轉(zhuǎn)非常重要分隔器。這用于在啟動(dòng)時(shí)設(shè)置初始位置,但也用于檢測(cè)步進(jìn)電機(jī)是否已經(jīng)不同步。在我的系統(tǒng)中,一個(gè)珠子有時(shí)會(huì)在拾取時(shí)卡住,系統(tǒng)需要能夠檢測(cè)并處理這種情況 - 通過備份和嘗試agian。

有很多方法可以處理這個(gè)(事情。我決定使用1108磁傳感器,在頂板的邊緣嵌入磁鐵。這允許我驗(yàn)證每次旋轉(zhuǎn)的位置。一個(gè)更好的解決方案可能是步進(jìn)電機(jī)上的編碼器,但我有一個(gè)1108左右,所以我使用它。

完成機(jī)器人

此時(shí),一切都已經(jīng)完成出來,并測(cè)試。現(xiàn)在是時(shí)候安裝好所有東西并轉(zhuǎn)向編寫軟件。

2個(gè)步進(jìn)電機(jī)由STC1001步進(jìn)控制器驅(qū)動(dòng)。 HUB000-USB VINT集線器用于運(yùn)行步進(jìn)控制器,以及讀取磁傳感器和驅(qū)動(dòng)LED。網(wǎng)絡(luò)攝像頭和HUB0000都連接到一個(gè)小型USB集線器。使用3031引線和一些電線以及24V電源為電機(jī)供電。

步驟3:編寫代碼

C#和Visual Studio 2015用于此項(xiàng)目。下載本頁(yè)頂部的源代碼并按照步驟進(jìn)行操作 - 主要部分概述如下

初始化

首先,我們必須創(chuàng)建,打開和初始化Phidget對(duì)象。這是在表單加載事件和Phidget附加處理程序中完成的。

private void Form1_Load(object sender, EventArgs e) {

/* Initialize and open Phidgets */

top.HubPort = 0;

top.Attach += Top_Attach;

top.Detach += Top_Detach;

top.PositionChange += Top_PositionChange;

top.Open();

bottom.HubPort = 1;

bottom.Attach += Bottom_Attach;

bottom.Detach += Bottom_Detach;

bottom.PositionChange += Bottom_PositionChange;

bottom.Open();

magSensor.HubPort = 2;

magSensor.IsHubPortDevice = true;

magSensor.Attach += MagSensor_Attach;

magSensor.Detach += MagSensor_Detach;

magSensor.SensorChange += MagSensor_SensorChange;

magSensor.Open();

led.HubPort = 5;

led.IsHubPortDevice = true;

led.Channel = 0;

led.Attach += Led_Attach;

led.Detach += Led_Detach;

led.Open();

}

private void Led_Attach(object sender, Phidget22.Events.AttachEventArgs e) {

ledAttachedChk.Checked = true;

led.State = true;

ledChk.Checked = true;

}

private void MagSensor_Attach(object sender, Phidget22.Events.AttachEventArgs e) {

magSensorAttachedChk.Checked = true;

magSensor.SensorType = VoltageRatioSensorType.PN_1108;

magSensor.DataInterval = 16;

}

private void Bottom_Attach(object sender, Phidget22.Events.AttachEventArgs e) {

bottomAttachedChk.Checked = true;

bottom.CurrentLimit = bottomCurrentLimit;

bottom.Engaged = true;

bottom.VelocityLimit = bottomVelocityLimit;

bottom.Acceleration = bottomAccel;

bottom.DataInterval = 100;

}

private void Top_Attach(object sender, Phidget22.Events.AttachEventArgs e) {

topAttachedChk.Checked = true;

top.CurrentLimit = topCurrentLimit;

top.Engaged = true;

top.RescaleFactor = -1;

top.VelocityLimit = -topVelocityLimit;

top.Acceleration = -topAccel;

top.DataInterval = 100;

}

我們還在初始化期間讀取任何已保存的顏色信息,因此可以繼續(xù)之前的運(yùn)行。

電機(jī)定位

電機(jī)處理代碼包括用于移動(dòng)電機(jī)的便利功能。我使用的電機(jī)每轉(zhuǎn)3,200 1/16步,所以我為此創(chuàng)建了一個(gè)常量。

對(duì)于頂部電機(jī),我們希望能夠?qū)?個(gè)位置發(fā)送到電機(jī):網(wǎng)絡(luò)攝像頭,孔和定位磁鐵。有一個(gè)功能可以到達(dá)每個(gè)位置:

private void nextMagnet(Boolean wait = false) {

double posn = top.Position % stepsPerRev;

top.TargetPosition += (stepsPerRev - posn);

if (wait)

while (top.IsMoving)

Thread.Sleep(50);

}

private void nextCamera(Boolean wait = false) {

double posn = top.Position % stepsPerRev;

if (posn 《 Properties.Settings.Default.cameraOffset)

top.TargetPosition += (Properties.Settings.Default.cameraOffset - posn);

else

top.TargetPosition += ((Properties.Settings.Default.cameraOffset - posn) + stepsPerRev);

if (wait)

while (top.IsMoving)

Thread.Sleep(50);

}

private void nextHole(Boolean wait = false) {

double posn = top.Position % stepsPerRev;

if (posn 《 Properties.Settings.Default.holeOffset)

top.TargetPosition += (Properties.Settings.Default.holeOffset - posn);

else

top.TargetPosition += ((Properties.Settings.Default.holeOffset - posn) + stepsPerRev);

if (wait)

while (top.IsMoving)

Thread.Sleep(50);

}

在開始運(yùn)行之前,使用磁傳感器對(duì)齊頂板??梢噪S時(shí)調(diào)用alignMotor函數(shù)來對(duì)齊頂板。該功能首先快速將板轉(zhuǎn)動(dòng)至1轉(zhuǎn),直至其磁鐵數(shù)據(jù)高于閾值。然后它稍微后退一點(diǎn)并慢慢向前移動(dòng),捕捉傳感器數(shù)據(jù)。最后,它將位置設(shè)置為最大磁鐵數(shù)據(jù)位置,并將位置偏移重置為0.因此,最大磁鐵位置應(yīng)始終為(top.Position%stepsPerRev)

Thread alignMotorThread;

Boolean sawMagnet;

double magSensorMax = 0;

private void alignMotor() {

//Find the magnet

top.DataInterval = top.MinDataInterval;

sawMagnet = false;

magSensor.SensorChange += magSensorStopMotor;

top.VelocityLimit = -1000;

int tryCount = 0;

tryagain:

top.TargetPosition += stepsPerRev;

while (top.IsMoving && !sawMagnet)

Thread.Sleep(25);

if (!sawMagnet) {

if (tryCount 》 3) {

Console.WriteLine(“Align failed”);

top.Engaged = false;

bottom.Engaged = false;

runtest = false;

return;

}

tryCount++;

Console.WriteLine(“Are we stuck? Trying a backup.。.”);

top.TargetPosition -= 600;

while (top.IsMoving)

Thread.Sleep(100);

goto tryagain;

}

top.VelocityLimit = -100;

magData = new List》();

magSensor.SensorChange += magSensorCollectPositionData;

top.TargetPosition += 300;

while (top.IsMoving)

Thread.Sleep(100);

magSensor.SensorChange -= magSensorCollectPositionData;

top.VelocityLimit = -topVelocityLimit;

KeyValuePair max = magData[0];

foreach (KeyValuePair pair in magData)

if (pair.Value 》 max.Value)

max = pair;

top.AddPositionOffset(-max.Key);

magSensorMax = max.Value;

top.TargetPosition = 0;

while (top.IsMoving)

Thread.Sleep(100);

Console.WriteLine(“Align succeeded”);

}

List》 magData;

private void magSensorCollectPositionData(object sender, Phidget22.Events.VoltageRatioInputSensorChangeEventArgs e) {

magData.Add(new KeyValuePair(top.Position, e.SensorValue));

}

private void magSensorStopMotor(object sender, Phidget22.Events.VoltageRatioInputSensorChangeEventArgs e) {

if (top.IsMoving && e.SensorValue 》 5) {

top.TargetPosition = top.Position - 300;

magSensor.SensorChange -= magSensorStopMotor;

sawMagnet = true;

}

}

最后,通過將底部馬達(dá)發(fā)送到其中一個(gè)胎圈容器位置來控制底部馬達(dá)。對(duì)于這個(gè)項(xiàng)目,我們有19個(gè)職位。算法選擇最短路徑,順時(shí)針或逆時(shí)針轉(zhuǎn)動(dòng)。

private int BottomPosition {

get {

int posn = (int)bottom.Position % stepsPerRev;

if (posn 《 0)

posn += stepsPerRev;

return (int)Math.Round(((posn * beadCompartments) / (double)stepsPerRev));

}

}

private void SetBottomPosition(int posn, bool wait = false) {

posn = posn % beadCompartments;

double targetPosn = (posn * stepsPerRev) / beadCompartments;

double currentPosn = bottom.Position % stepsPerRev;

double posnDiff = targetPosn - currentPosn;

// Keep it as full steps

posnDiff = ((int)(posnDiff / 16)) * 16;

if (posnDiff 《= 1600)

bottom.TargetPosition += posnDiff;

else

bottom.TargetPosition -= (stepsPerRev - posnDiff);

if (wait)

while (bottom.IsMoving)

Thread.Sleep(50);

}

攝像機(jī)

OpenCV用于從網(wǎng)絡(luò)攝像頭讀取圖像。在啟動(dòng)主排序線程之前啟動(dòng)相機(jī)線程。該線程不斷讀入圖像,使用Mean計(jì)算特定區(qū)域的平均顏色并更新全局顏色變量。該線程還使用HoughCircles來檢測(cè)珠子或頂板上的孔,以細(xì)化它正在尋找顏色檢測(cè)的區(qū)域。閾值和HoughCircles數(shù)字是通過反復(fù)試驗(yàn)確定的,并且在很大程度上取決于網(wǎng)絡(luò)攝像頭,光照和間距。

bool runVideo = true;

bool videoRunning = false;

VideoCapture capture;

Thread cvThread;

Color detectedColor;

Boolean detecting = false;

int detectCnt = 0;

private void cvThreadFunction() {

videoRunning = false;

capture = new VideoCapture(selectedCamera);

using (Window window = new Window(“capture”)) {

Mat image = new Mat();

Mat image2 = new Mat();

while (runVideo) {

capture.Read(image);

if (image.Empty())

break;

if (detecting)

detectCnt++;

else

detectCnt = 0;

if (detecting || circleDetectChecked || showDetectionImgChecked) {

Cv2.CvtColor(image, image2, ColorConversionCodes.BGR2GRAY);

Mat thres = image2.Threshold((double)Properties.Settings.Default.videoThresh, 255, ThresholdTypes.Binary);

thres = thres.GaussianBlur(new OpenCvSharp.Size(9, 9), 10);

if (showDetectionImgChecked)

image = thres;

if (detecting || circleDetectChecked) {

CircleSegment[] bead = thres.HoughCircles(HoughMethods.Gradient, 2, /*thres.Rows/4*/ 20, 200, 100, 20, 65);

if (bead.Length 》= 1) {

image.Circle(bead[0].Center, 3, new Scalar(0, 100, 0), -1);

image.Circle(bead[0].Center, (int)bead[0].Radius, new Scalar(0, 0, 255), 3);

if (bead[0].Radius 》= 55) {

Properties.Settings.Default.x = (decimal)bead[0].Center.X + (decimal)(bead[0].Radius / 2);

Properties.Settings.Default.y = (decimal)bead[0].Center.Y - (decimal)(bead[0].Radius / 2);

} else {

Properties.Settings.Default.x = (decimal)bead[0].Center.X + (decimal)(bead[0].Radius);

Properties.Settings.Default.y = (decimal)bead[0].Center.Y - (decimal)(bead[0].Radius);

}

Properties.Settings.Default.size = 15;

Properties.Settings.Default.height = 15;

} else {

CircleSegment[] circles = thres.HoughCircles(HoughMethods.Gradient, 2, /*thres.Rows/4*/ 5, 200, 100, 60, 180);

if (circles.Length 》 1) {

List xs = circles.Select(c =》 c.Center.X).ToList();

xs.Sort();

List ys = circles.Select(c =》 c.Center.Y).ToList();

ys.Sort();

int medianX = (int)xs[xs.Count / 2];

int medianY = (int)ys[ys.Count / 2];

if (medianX 》 image.Width - 15)

medianX = image.Width - 15;

if (medianY 》 image.Height - 15)

medianY = image.Height - 15;

image.Circle(medianX, medianY, 100, new Scalar(0, 0, 150), 3);

if (detecting) {

Properties.Settings.Default.x = medianX - 7;

Properties.Settings.Default.y = medianY - 7;

Properties.Settings.Default.size = 15;

Properties.Settings.Default.height = 15;

}

}

}

}

}

Rect r = new Rect((int)Properties.Settings.Default.x,

(int)Properties.Settings.Default.y,

(int)Properties.Settings.Default.size,

(int)Properties.Settings.Default.height);

Mat beadSample = new Mat(image, r);

Scalar avgColor = Cv2.Mean(beadSample);

detectedColor = Color.FromArgb((int)avgColor[2], (int)avgColor[1], (int)avgColor[0]);

image.Rectangle(r, new Scalar(0, 150, 0));

window.ShowImage(image);

Cv2.WaitKey(1);

videoRunning = true;

}

videoRunning = false;

}

}

private void cameraStartBtn_Click(object sender, EventArgs e) {

if (cameraStartBtn.Text == “start”) {

cvThread = new Thread(new ThreadStart(cvThreadFunction));

runVideo = true;

cvThread.Start();

cameraStartBtn.Text = “stop”;

while (!videoRunning)

Thread.Sleep(100);

updateColorTimer.Start();

} else {

runVideo = false;

cvThread.Join();

cameraStartBtn.Text = “start”;

}

}

顏色

現(xiàn)在,我們可以確定珠子的顏色,并根據(jù)該顏色決定將其放入哪個(gè)容器。

這個(gè)步驟依賴于顏色比較。我們希望能夠區(qū)分顏色以限制誤報(bào),但也允許足夠的閾值來限制假陰性。比較顏色實(shí)際上是非常復(fù)雜的,因?yàn)橛?jì)算機(jī)將顏色存儲(chǔ)為RGB的方式,以及人類感知顏色的方式并不是線性相關(guān)的。更糟糕的是,還必須考慮在下面觀察顏色的光的顏色。

有復(fù)雜的計(jì)算色差的算法。我們使用CIE2000,如果2種顏色與人類無法區(qū)分,則輸出接近1的數(shù)字。我們使用ColorMine C#庫(kù)來完成這些復(fù)雜的計(jì)算。已發(fā)現(xiàn)DeltaE值為5可在假陽(yáng)性和假陰性之間提供良好的折衷。

由于容器通常有更多顏色,因此最后一個(gè)位置保留為捕獲箱。我通常將這些設(shè)置為第二次通過機(jī)器。

List

colors = new List

();

List

colorPanels = new List

();

List colorsTxts = new List();

List colorCnts = new List();

const int numColorSpots = 18;

const int unknownColorIndex = 18;

int findColorPosition(Color c) {

Console.WriteLine(“Finding color.。.”);

var cRGB = new Rgb();

cRGB.R = c.R;

cRGB.G = c.G;

cRGB.B = c.B;

int bestMatch = -1;

double matchDelta = 100;

for (int i = 0; i 《 colors.Count; i++) {

var RGB = new Rgb();

RGB.R = colors[i].R;

RGB.G = colors[i].G;

RGB.B = colors[i].B;

double delta = cRGB.Compare(RGB, new CieDe2000Comparison());

//double delta = deltaE(c, colors[i]);

Console.WriteLine(“DeltaE (” + i.ToString() + “): ” + delta.ToString());

if (delta 《 matchDelta) {

matchDelta = delta;

bestMatch = i;

}

}

if (matchDelta 《 5) {

Console.WriteLine(“Found! (Posn: ” + bestMatch + “ Delta: ” + matchDelta + “)”);

return bestMatch;

}

if (colors.Count 《 numColorSpots) {

Console.WriteLine(“New Color!”);

colors.Add(c);

this.BeginInvoke(new Action(setBackColor), new object[] { colors.Count - 1 });

writeOutColors();

return (colors.Count - 1);

} else {

Console.WriteLine(“Unknown Color!”);

return unknownColorIndex;

}

}

排序邏輯

排序功能將所有部分匯集在一起以實(shí)際排序珠子。該函數(shù)在專用線程中運(yùn)行;移動(dòng)頂板,檢測(cè)珠子顏色,將其放入垃圾箱,確保頂板保持對(duì)齊,計(jì)數(shù)珠子等。當(dāng)垃圾箱變滿時(shí),它也會(huì)停止運(yùn)行 - 否則我們最終會(huì)溢出珠子。

Thread colourTestThread;

Boolean runtest = false;

void colourTest() {

if (!top.Engaged)

top.Engaged = true;

if (!bottom.Engaged)

bottom.Engaged = true;

while (runtest) {

nextMagnet(true);

Thread.Sleep(100);

try {

if (magSensor.SensorValue 《 (magSensorMax - 4))

alignMotor();

} catch { alignMotor(); }

nextCamera(true);

detecting = true;

while (detectCnt 《 5)

Thread.Sleep(25);

Console.WriteLine(“Detect Count: ” + detectCnt);

detecting = false;

Color c = detectedColor;

this.BeginInvoke(new Action

(setColorDet), new object[] { c });

int i = findColorPosition(c);

SetBottomPosition(i, true);

nextHole(true);

colorCnts[i]++;

this.BeginInvoke(new Action(setColorTxt), new object[] { i });

Thread.Sleep(250);

if (colorCnts[unknownColorIndex] 》 500) {

top.Engaged = false;

bottom.Engaged = false;

runtest = false;

this.BeginInvoke(new Action(setGoGreen), null);

return;

}

}

}

private void colourTestBtn_Click(object sender, EventArgs e) {

if (colourTestThread == null || !colourTestThread.IsAlive) {

colourTestThread = new Thread(new ThreadStart(colourTest));

runtest = true;

colourTestThread.Start();

colourTestBtn.Text = “STOP”;

colourTestBtn.BackColor = Color.Red;

} else {

runtest = false;

colourTestBtn.Text = “GO”;

colourTestBtn.BackColor = Color.Green;

}

}

此時(shí),我們有一個(gè)工作程序。一些代碼被遺漏在文章之外,所以看一下實(shí)際運(yùn)行它的源代碼。

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

    關(guān)注

    214

    文章

    31609

    瀏覽量

    224298
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于米爾RK3576核心板的國(guó)產(chǎn)割草機(jī)器人解決方案

    在智慧庭院與機(jī)器人產(chǎn)業(yè)高速發(fā)展的今天,割草機(jī)器人正經(jīng)歷從“隨機(jī)碰撞式”向“規(guī)劃自主式”的深刻變革。與此同時(shí),在國(guó)產(chǎn)化替代、供應(yīng)鏈自主可控的產(chǎn)業(yè)政策推動(dòng)下,國(guó)內(nèi)整機(jī)廠商對(duì)高算力、低功耗、國(guó)產(chǎn)自主可控
    發(fā)表于 04-24 17:31

    為什么說關(guān)節(jié)扭矩傳感器是高端機(jī)器人的“觸覺神經(jīng)”?

    如果把高端機(jī)器人比作一個(gè)“”,那么關(guān)節(jié)扭矩傳感器就是遍布全身的“觸覺神經(jīng)”。沒有它,機(jī)器人就像得了末梢神經(jīng)麻痹——能按程序動(dòng),卻感受不到外界的力量,動(dòng)作僵硬、笨拙,甚至危險(xiǎn)。 核心原因:讓機(jī)
    發(fā)表于 04-17 17:27

    智能機(jī)器人從0到1系統(tǒng)入門課程 帶源碼課件 百度網(wǎng)盤下載

    “眼觀六路、耳聽八方”來理解上下文。例如,當(dāng)用戶指著桌上的蘋果說“幫我拿這個(gè)”時(shí),機(jī)器人需要同時(shí)處理語(yǔ)音指令中的語(yǔ)義信息(“拿”、“這個(gè)”)和視覺信息(手指指向的空間位置、物體的形狀顏色)。這種“視聽融合
    發(fā)表于 04-11 16:41

    再談低溫?zé)Y(jié)銀的應(yīng)用:從春晚四家機(jī)器人出鏡的幕后推手說起

    再談低溫?zé)Y(jié)銀的應(yīng)用:從春晚四家機(jī)器人出鏡的幕后推手說起 2026年馬年春晚四家機(jī)器人公司:宇樹、魔法原子、銀河通用、松延動(dòng)力的高動(dòng)態(tài)、高精度、高可靠表現(xiàn),背后離不開低溫?zé)Y(jié)銀在電機(jī)驅(qū)動(dòng)、傳感器
    發(fā)表于 02-17 14:07

    探索RISC-V在機(jī)器人領(lǐng)域的潛力

    探索RISC-V在機(jī)器人領(lǐng)域的潛力 測(cè)評(píng):洄溯 測(cè)評(píng)時(shí)間: 2025年11月 測(cè)評(píng)對(duì)象: MUSE Pi Pro開發(fā)板(基于進(jìn)迭時(shí)空K1系列高性能RISC-V CPU) 一、 開篇引言
    發(fā)表于 12-03 14:40

    RK3576機(jī)器人核心:三屏異顯+八路攝像頭,重塑機(jī)器人交互與感知

    瑞芯微RK3576 AIoT處理器處理器憑借其卓越的多屏異顯與8路攝像頭接入能力,為機(jī)器人領(lǐng)域帶來革新。米爾電子MYD-LR3576開發(fā)板實(shí)測(cè)數(shù)據(jù)顯示,在高負(fù)載下CPU占用僅34%,完美實(shí)現(xiàn)多路視覺
    發(fā)表于 10-29 16:41

    小蘿卜機(jī)器人的故事

    經(jīng)過我的申請(qǐng), 馬老師發(fā)放了, 小蘿卜機(jī)器人的, 開發(fā)權(quán)限, 原來的小蘿卜公司, 因?yàn)榻?jīng)營(yíng)不善倒閉, 作為科研產(chǎn)品, 幾個(gè)技術(shù)對(duì)此惋惜, 自掏腰包, 要讓小蘿卜機(jī)器人, 再生, 每次聽到小蘿卜說
    發(fā)表于 10-23 05:24

    自制巡線解迷宮機(jī)器人(上)

    簡(jiǎn)單點(diǎn)的項(xiàng)目來練練手,想來想去覺得自己下半年計(jì)劃要做的巡線解迷宮機(jī)器人最為合適,不過由于時(shí)間有限的緣故,我決定先把這個(gè)機(jī)器人的原理驗(yàn)證機(jī)先搭建出來(標(biāo)題中上篇的由來),等硬件和軟件都經(jīng)過驗(yàn)證沒有問題后
    發(fā)表于 10-20 10:39

    什么是機(jī)器人?追溯機(jī)器人技術(shù)的演變和未來

    作者: Aswin S Babu 什么是機(jī)器人? 在日常生活里,“機(jī)器人”一詞我們都不陌生,日常交談中也常常脫口而出。但大家可曾細(xì)想過,這個(gè)詞的真正含義究竟為何?接下來,不妨花些時(shí)間,深入探究機(jī)器人
    的頭像 發(fā)表于 10-02 16:32 ?5858次閱讀
    什么是<b class='flag-5'>機(jī)器人</b>?追溯<b class='flag-5'>機(jī)器人</b>技術(shù)的演變和未來

    機(jī)器人競(jìng)技幕后:磁傳感器芯片激活 “精準(zhǔn)感知力”

    2025 世界人形機(jī)器人運(yùn)動(dòng)會(huì)于 8 月 17 日?qǐng)A滿收官,賽場(chǎng)上機(jī)器人在跑步、跳躍、抓取等項(xiàng)目中的精彩表現(xiàn),背后是運(yùn)動(dòng)控制、環(huán)境感知等技術(shù)的迭代升級(jí)。而在這些技術(shù)中,磁傳感器芯片憑借獨(dú)特優(yōu)勢(shì),成為
    發(fā)表于 08-26 10:02

    MT6701絕對(duì)式磁編碼器優(yōu)化機(jī)器人關(guān)節(jié)伺服控制

    在當(dāng)今科技飛速發(fā)展的時(shí)代,機(jī)器人已經(jīng)廣泛應(yīng)用于工業(yè)制造、物流配送、醫(yī)療服務(wù)等眾多領(lǐng)域。而機(jī)器人關(guān)節(jié)伺服控制作機(jī)器人運(yùn)動(dòng)的關(guān)鍵技術(shù),其性能的優(yōu)劣直接影響著
    的頭像 發(fā)表于 08-04 17:57 ?1313次閱讀

    工業(yè)機(jī)器人線束揭秘 | 性能加持助力機(jī)器人作業(yè)效率穩(wěn)定躍升

    近年來國(guó)家陸續(xù)出臺(tái)相關(guān)機(jī)器人的發(fā)展規(guī)劃,推進(jìn)機(jī)器人產(chǎn)業(yè)創(chuàng)新。在工業(yè)、汽車制造、消費(fèi)電子、新能源等眾多領(lǐng)域中,工業(yè)機(jī)器人的應(yīng)用大幅度增加,包括核心組件工業(yè)機(jī)器人線束的需求也迅速增長(zhǎng)。工業(yè)
    的頭像 發(fā)表于 08-01 08:03 ?1997次閱讀
    工業(yè)<b class='flag-5'>機(jī)器人</b>線束揭秘 | 性能加持助力<b class='flag-5'>機(jī)器人</b>作業(yè)效率穩(wěn)定躍升

    工業(yè)機(jī)器人的特點(diǎn)

    的基礎(chǔ),也是三者的實(shí)現(xiàn)終端,智能制造裝備產(chǎn)業(yè)包括高檔數(shù)控機(jī)床、工業(yè)機(jī)器人、自動(dòng)化成套生產(chǎn)線、精密儀器儀表、智能傳感器、汽車自動(dòng)化焊接線、柔性自動(dòng)化生產(chǎn)線、智能農(nóng)機(jī)、3D 打印機(jī)等領(lǐng)域。而智能制造裝備中工業(yè)
    發(fā)表于 07-26 11:22

    工業(yè)機(jī)器人與協(xié)作機(jī)器人概念不同

    在自動(dòng)化生產(chǎn)的浪潮中,工業(yè)機(jī)器人與協(xié)作機(jī)器人逐漸成為企業(yè)提升效率、優(yōu)化產(chǎn)能的得力助手。但它們并非同一概念,在功能、設(shè)計(jì)與應(yīng)用場(chǎng)景上有著顯著差異。北京沃華慧通測(cè)控有限公司憑借深厚的技術(shù)沉淀,為不同需求的企業(yè)提供適配的機(jī)器人解決方案
    的頭像 發(fā)表于 06-03 13:15 ?1425次閱讀
    工業(yè)<b class='flag-5'>機(jī)器人</b>與協(xié)作<b class='flag-5'>機(jī)器人</b>概念不同

    明遠(yuǎn)智睿SSD2351開發(fā)板:語(yǔ)音機(jī)器人領(lǐng)域的變革力量

    在人工智能快速發(fā)展的今天,語(yǔ)音機(jī)器人逐漸成為人們生活和工作中的得力助手。明遠(yuǎn)智睿SSD2351開發(fā)板憑借強(qiáng)大性能與豐富功能,為語(yǔ)音機(jī)器人的發(fā)展注入新動(dòng)力,成為該領(lǐng)域的變革力量。 SSD2351開發(fā)板
    發(fā)表于 05-28 11:36
    木里| 辽源市| 泾源县| 桐城市| 湘潭县| 建始县| 汤原县| 五河县| 吉水县| 石家庄市| 长治市| 城市| 富源县| 夏津县| 丰镇市| 永靖县| 泰安市| 汨罗市| 唐海县| 古蔺县| 阳城县| 红安县| 新源县| 南靖县| 聊城市| 获嘉县| 津市市| 南岸区| 湘阴县| 湘潭市| 杭州市| 行唐县| 历史| 盈江县| 安岳县| 永平县| 九江市| 阜宁县| 象州县| 米泉市| 闽侯县|