Vad är häftiga CPU projekt?
Vad är häftiga CPU projekt?
Jag planerar lite för framtiden bara. Därför frågar jag er vad häftiga CPU projekt?
Jag håller på att bygga min första STM32 helt från grunden. Jag har lyckats programmera den med ett grundläggande program bara för att se om det blev något felmeddelande. Inget felmeddelande. Allt fungerade.
Så vad tror ni skulle tro om en leksaksbil som har Ultra Sonic givare på sig på varje hörn där man säger åt bilen att gå från koordinat A till koordinat B och sedan gör den det.
Är det ett projekt som är redan uppfunnet, eller uppfunnet men den används inte för att varför ska man ha en leksaksbil som går från A till B utan syfte?
Motiveringen är att jag vill lära mig djupare med STM32 och PCB tillverkning. Men då kräver det att vidga sina vyer om vad man kan göra.
Så vad är häftiga CPU projekt enligt er?
Jag håller på att bygga min första STM32 helt från grunden. Jag har lyckats programmera den med ett grundläggande program bara för att se om det blev något felmeddelande. Inget felmeddelande. Allt fungerade.
Så vad tror ni skulle tro om en leksaksbil som har Ultra Sonic givare på sig på varje hörn där man säger åt bilen att gå från koordinat A till koordinat B och sedan gör den det.
Är det ett projekt som är redan uppfunnet, eller uppfunnet men den används inte för att varför ska man ha en leksaksbil som går från A till B utan syfte?
Motiveringen är att jag vill lära mig djupare med STM32 och PCB tillverkning. Men då kräver det att vidga sina vyer om vad man kan göra.
Så vad är häftiga CPU projekt enligt er?
Re: Vad är häftiga CPU projekt?
"Jag håller på att bygga min första STM32 helt från grunden" tolkade jag först som att du bygger en CPU av logiska grindar, men då en STM32 består av ett antal miljoner grindar så förstod jag att så inte var fallet.
Nästan allting har väl gjorts någon gång tidigare. Men även om någon gjort detta förr så kanske du kommer på en helt egen lösning på problemet, och på så vis blir det en riktigt intressant utmaning. Det uppstår ju många intressanta frågor med de givare som du föreslår. Hur kan man öka precisionen? Hur kanman minska brus i insignalen så att bilens förflyttning blir jämn och inte hackig?
Efter att ha fått bilen att köra från A till B så kan du sedan utvidga programmet så att den kör via en rad med koordinater A - B -C - D - E -F och sedan åter till A i en loop.. Då kan du skapa en bana som du ritar upp på underlaget och som bilen ska försöka följa. Du kan även skapa andra sträckor än rak linje mellan A - B. Kanske du vill ha en kurva från A till B med en viss radie? Själv hade jag nog tagit med en 3-axlig magnetsensor för att avgöra riktning (kompass). En magnetsensor kan ju även känna av magnetiska material på banan... kanske går att göra något med det - att låta fysiska föremål på/i banan påverka bilen.
Nästan allting har väl gjorts någon gång tidigare. Men även om någon gjort detta förr så kanske du kommer på en helt egen lösning på problemet, och på så vis blir det en riktigt intressant utmaning. Det uppstår ju många intressanta frågor med de givare som du föreslår. Hur kan man öka precisionen? Hur kanman minska brus i insignalen så att bilens förflyttning blir jämn och inte hackig?
Efter att ha fått bilen att köra från A till B så kan du sedan utvidga programmet så att den kör via en rad med koordinater A - B -C - D - E -F och sedan åter till A i en loop.. Då kan du skapa en bana som du ritar upp på underlaget och som bilen ska försöka följa. Du kan även skapa andra sträckor än rak linje mellan A - B. Kanske du vill ha en kurva från A till B med en viss radie? Själv hade jag nog tagit med en 3-axlig magnetsensor för att avgöra riktning (kompass). En magnetsensor kan ju även känna av magnetiska material på banan... kanske går att göra något med det - att låta fysiska föremål på/i banan påverka bilen.
Re: Vad är häftiga CPU projekt?
I det aktuella fall är frågan hur ultraljusdensorerna ska ha referenser. Om man tänker en "löpgård" med fasta sidor för bra definition av plats måste man ju räkna med att returen från en inte-90° sarg inte kommer direkt till mottagaren.
Skulle man vrida trasan lite extra hade jag monterat ett par (eller fler) ir-fyrar som skickade signal på var deras frekvens. På rovern monterar man sedan en IR-mottagare lodrät upp och har sedan ett 45° spegel över som roterar och därmed scanner 360° konstant.
Vid att veta vinkeln på spegeln samt de olika fyrar kan matten klara resten, inkl. nuvarande vinkel till målet.
Detta skulle innebära en hel del filtrering, räkning och aktivering av inbyggd hårdvara samt synkronisering medelst externa interrupts osv.
Projekter kan även brytas ner i mindre funktionsmosuler som kan testas var för sig.
Skulle man vrida trasan lite extra hade jag monterat ett par (eller fler) ir-fyrar som skickade signal på var deras frekvens. På rovern monterar man sedan en IR-mottagare lodrät upp och har sedan ett 45° spegel över som roterar och därmed scanner 360° konstant.
Vid att veta vinkeln på spegeln samt de olika fyrar kan matten klara resten, inkl. nuvarande vinkel till målet.
Detta skulle innebära en hel del filtrering, räkning och aktivering av inbyggd hårdvara samt synkronisering medelst externa interrupts osv.
Projekter kan även brytas ner i mindre funktionsmosuler som kan testas var för sig.
Re: Vad är häftiga CPU projekt?
Den där Ben Eater ovan gör bara samma sak hela tiden. Rätt tråkiga projekt också. Men han är duktig för att få det optimalt.jesse skrev: ↑19 december 2020, 10:41:49 "Jag håller på att bygga min första STM32 helt från grunden" tolkade jag först som att du bygger en CPU av logiska grindar, men då en STM32 består av ett antal miljoner grindar så förstod jag att så inte var fallet.
Nästan allting har väl gjorts någon gång tidigare. Men även om någon gjort detta förr så kanske du kommer på en helt egen lösning på problemet, och på så vis blir det en riktigt intressant utmaning. Det uppstår ju många intressanta frågor med de givare som du föreslår. Hur kan man öka precisionen? Hur kanman minska brus i insignalen så att bilens förflyttning blir jämn och inte hackig?
Efter att ha fått bilen att köra från A till B så kan du sedan utvidga programmet så att den kör via en rad med koordinater A - B -C - D - E -F och sedan åter till A i en loop.. Då kan du skapa en bana som du ritar upp på underlaget och som bilen ska försöka följa. Du kan även skapa andra sträckor än rak linje mellan A - B. Kanske du vill ha en kurva från A till B med en viss radie? Själv hade jag nog tagit med en 3-axlig magnetsensor för att avgöra riktning (kompass). En magnetsensor kan ju även känna av magnetiska material på banan... kanske går att göra något med det - att låta fysiska föremål på/i banan påverka bilen.
Ja. Denna bil låter intressant. Men jag hade mer tänkt en vanlig leksaksbil där man kan ha 4 stycken ultrasonicgivare på varje hörn.
Förstår inte så mycket vad du menar. Så jag ritar en bild istället.Icecap skrev: ↑19 december 2020, 11:18:08 I det aktuella fall är frågan hur ultraljusdensorerna ska ha referenser. Om man tänker en "löpgård" med fasta sidor för bra definition av plats måste man ju räkna med att returen från en inte-90° sarg inte kommer direkt till mottagaren.
Skulle man vrida trasan lite extra hade jag monterat ett par (eller fler) ir-fyrar som skickade signal på var deras frekvens. På rovern monterar man sedan en IR-mottagare lodrät upp och har sedan ett 45° spegel över som roterar och därmed scanner 360° konstant.
Vid att veta vinkeln på spegeln samt de olika fyrar kan matten klara resten, inkl. nuvarande vinkel till målet.
Detta skulle innebära en hel del filtrering, räkning och aktivering av inbyggd hårdvara samt synkronisering medelst externa interrupts osv.
Projekter kan även brytas ner i mindre funktionsmosuler som kan testas var för sig.
Koordinater:
Låt oss säga att vi har en blå bil som ska ta sig till ruta grön på bästa sätt. Då har jag gjort en simulering som ser ut så här. Jag har skrivit en algoritm i 100% rent C som räknar ut den absolut kortaste vägen.
Kod: Markera allt
Initial map
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 0 0 0 0 0 0 0 0 0 0 0 -1
-1 0 0 0 0 -1 -1 -1 -1 -1 -1 0 -1
-1 0 0 0 0 -1 0 0 0 0 0 0 -1
-1 0 0 0 0 -1 0 0 0 0 0 0 -1
-1 0 0 0 0 -1 0 0 0 0 0 0 -1
-1 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1
-1 0 0 0 0 0 0 0 0 0 0 0 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
Compute the coordinates
Shortest step is = 21
Total speed was 0.000060
Computed map
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 9 8 -103 -104 -105 -106 -107 -108 -109 -110 -111 -1
-1 -100 -101 -102 10 -1 -1 -1 -1 -1 -1 -112 -1
-1 14 24 40 16 -1 -118 -117 -116 -115 -114 -113 -1
-1 24 40 32 24 -1 -119 2 3 4 5 6 -1
-1 40 32 24 16 -1 -120 1 2 3 4 5 -1
-1 24 -1 -1 -1 -1 -1 -1 -1 -1 5 6 -1
-1 28 24 20 16 12 8 6 4 5 6 7 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
x = 1, y = 2
x = 2, y = 2
x = 3, y = 2
x = 3, y = 1
x = 4, y = 1
x = 5, y = 1
x = 6, y = 1
x = 7, y = 1
x = 8, y = 1
x = 9, y = 1
x = 10, y = 1
x = 11, y = 1
x = 11, y = 2
x = 11, y = 3
x = 10, y = 3
x = 9, y = 3
x = 8, y = 3
x = 7, y = 3
x = 6, y = 3
x = 6, y = 4
x = 6, y = 5
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
x = -1, y = -1
Jag hade tänkt att man börjar först med en tom mapp där vi inte vet vart alla hinder där. Sedan får man köra bilen och den ska bygga mappen av sig själv igenom att spara alla "block" i EEPROM för varje korrdinat som ändras.
Vad tror ni om detta sätt?
Som jag ser det som så måste ha en stor 1D array och specificera att varje block är ca 10 cm i verkligheten.
Men då finns det ett problem! Hur vet bilen att jag är på X = 7 och Y = 5? Jag måste ha någon GPS inbyggt eller?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Vad är häftiga CPU projekt?
Du har svårt att göra något som ingen annan redan gjort, det du tittar på här är ungefär vad en dammsugare gör idag...
Om det är häftigt eller inte får du avgöra själv..
Ja, du ville väl lösa ett problem? Lös då hur du ska veta att bilen är på X7 Y5 utan GPS, du kan ju använda robotens laddstation som origo.
Om det är häftigt eller inte får du avgöra själv..
Ja, du ville väl lösa ett problem? Lös då hur du ska veta att bilen är på X7 Y5 utan GPS, du kan ju använda robotens laddstation som origo.
Re: Vad är häftiga CPU projekt?
Jag vet att det är svårt att göra det någon annan har inte gjort. Men jag brukar vidareutveckla idéer som andra har kommit på.
I detta fall är det en robotdamsugare som är något mer smartare än en vanlig robotdamsugare. En vanlig robotdamsugare följer bara samma mönster hela tiden.
Den kan inte få för sig att gå från köket till sovrummet direkt.
I detta fall är det en robotdamsugare som är något mer smartare än en vanlig robotdamsugare. En vanlig robotdamsugare följer bara samma mönster hela tiden.
Den kan inte få för sig att gå från köket till sovrummet direkt.
Finns det något annat alternativ?
Re: Vad är häftiga CPU projekt?
Oceaneering har trackless-fordon som navigerar på någon centimeter när, https://www.oceaneering.com/entertainme ... revolution
- JimmyAndersson
- Inlägg: 26308
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Re: Vad är häftiga CPU projekt?
"En vanlig robotdamsugare följer bara samma mönster hela tiden."
Det gör den inte för att den är mindre intelligent. Tvärt om!
Den vore dum (fel designad) om den bara körde kortaste vägen mellan två punkter. -För inte vill man väl bara ha rent på de kortaste sträckorna?
Så:
"Den kan inte få för sig att gå från köket till sovrummet direkt. "
Nä, tack och lov inte!
Optimerad väg så det går så fort som möjligt att städa då?
Jo, men hur viktigt är det? Det kanske sparar lite batteri, men för konsumenten är det viktigare att den städar bra.
PS: Bara så du vet: Du skriver "dam-sugare". Damm stavas med 2st "m". Jag berättar inte för att vara mästrande, utan för att hjälpa dig så du inte ska få konstiga kommentarer.
Det här med navigering och hur den ska veta "att jag är på X = 7 och Y = 5" :
Det är lite otydligt hur du menar, men om du menar när man för första gången sätter ner roboten så finns det främst tre sätt:
1) Lyssna på radiofyrar, som Icecap skrev.
2) Gå tills roboten stöter på hinder, sväng, osv, tills den har tillräckligt med info som matchar kartan den blivit laddad med.
3) Labyrint-tricket: Följ väggarna tills den byggt upp rummet. Då vet den rummet. Därefter bygger den upp info om hinder efter hand.
För det är omöjligt att en robot med *noll* info om omgivningen kan gå kortaste vägen mellan två punkter. <----
Sedan håller jag med AndLi att det är lite märkligt att du söker ett utmanande projekt och sedan ber om lösningar på varenda grej...
Men ett tips: Välj vad *du* tycker är ett spännande projekt. Inte vad andra ska tycka är coolt.
För min del så dagdrömmer jag gärna på olika lösningar för just det här med att låta en robot bygga upp info om sin omgivning och navigera i den.
Det gör den inte för att den är mindre intelligent. Tvärt om!
Den vore dum (fel designad) om den bara körde kortaste vägen mellan två punkter. -För inte vill man väl bara ha rent på de kortaste sträckorna?
Så:
"Den kan inte få för sig att gå från köket till sovrummet direkt. "
Nä, tack och lov inte!
Optimerad väg så det går så fort som möjligt att städa då?
Jo, men hur viktigt är det? Det kanske sparar lite batteri, men för konsumenten är det viktigare att den städar bra.
PS: Bara så du vet: Du skriver "dam-sugare". Damm stavas med 2st "m". Jag berättar inte för att vara mästrande, utan för att hjälpa dig så du inte ska få konstiga kommentarer.
Det här med navigering och hur den ska veta "att jag är på X = 7 och Y = 5" :
Det är lite otydligt hur du menar, men om du menar när man för första gången sätter ner roboten så finns det främst tre sätt:
1) Lyssna på radiofyrar, som Icecap skrev.
2) Gå tills roboten stöter på hinder, sväng, osv, tills den har tillräckligt med info som matchar kartan den blivit laddad med.
3) Labyrint-tricket: Följ väggarna tills den byggt upp rummet. Då vet den rummet. Därefter bygger den upp info om hinder efter hand.
För det är omöjligt att en robot med *noll* info om omgivningen kan gå kortaste vägen mellan två punkter. <----
Sedan håller jag med AndLi att det är lite märkligt att du söker ett utmanande projekt och sedan ber om lösningar på varenda grej...
Men ett tips: Välj vad *du* tycker är ett spännande projekt. Inte vad andra ska tycka är coolt.
För min del så dagdrömmer jag gärna på olika lösningar för just det här med att låta en robot bygga upp info om sin omgivning och navigera i den.
Re: Vad är häftiga CPU projekt?
IR går ju inte. Tänk om det är en sak i vägen då?Icecap skrev: ↑19 december 2020, 11:18:08 I det aktuella fall är frågan hur ultraljusdensorerna ska ha referenser. Om man tänker en "löpgård" med fasta sidor för bra definition av plats måste man ju räkna med att returen från en inte-90° sarg inte kommer direkt till mottagaren.
Skulle man vrida trasan lite extra hade jag monterat ett par (eller fler) ir-fyrar som skickade signal på var deras frekvens. På rovern monterar man sedan en IR-mottagare lodrät upp och har sedan ett 45° spegel över som roterar och därmed scanner 360° konstant.
Vid att veta vinkeln på spegeln samt de olika fyrar kan matten klara resten, inkl. nuvarande vinkel till målet.
Detta skulle innebära en hel del filtrering, räkning och aktivering av inbyggd hårdvara samt synkronisering medelst externa interrupts osv.
Projekter kan även brytas ner i mindre funktionsmosuler som kan testas var för sig.
Re: Vad är häftiga CPU projekt?
Ljus studsar.. vilket gör att du kan få intressant effekter med fyrar..
Re: Vad är häftiga CPU projekt?
Fyrar är nog inte en snäll lösning
Vad tror du om encoder på hjulen då?
Nackdelen är att man måste placera bilen på rätt koordinat först också.
Vad tror du om encoder på hjulen då?
Nackdelen är att man måste placera bilen på rätt koordinat först också.
Re: Vad är häftiga CPU projekt?
Varför då? Du skulle ju göra ett häftigt projekt, då räknar såklart roboten ut var den är på kartan genom att köra runt lite och titta runt, sen hitta ett matchande ställe på kartan...
Re: Vad är häftiga CPU projekt?
Men en IR-fyr....inomhus!
Jag hade hellre försökt kolla om man kan mäta avstånd via WiFi eller något liknande. Men sådant lär inte fungera.
Jag hade hellre försökt kolla om man kan mäta avstånd via WiFi eller något liknande. Men sådant lär inte fungera.
Re: Vad är häftiga CPU projekt?
Tycker att ni missar ett viktigt ord i rubriken, "häftiga"
Då måste det bli en LIDAR lösning.
https://www.ebay.com/itm/RPLiDAR-A1-360 ... 2817963550?
Då måste det bli en LIDAR lösning.
https://www.ebay.com/itm/RPLiDAR-A1-360 ... 2817963550?