Traditionell träplankring för ditt hem kommer alltid att vara det bästa valet i alla sidospår. Men du behöver rätt siding entreprenör för att hjälpa dig att välja den bästa trä siding med minst antal sidor underhåll. Det finns många olika typer av träskärning skapad med hjälp av underparmaterial. Don8217t låt din nexthellip Läs mer Professionella taktjänster och takreparationer till överkomliga priser Om du har takläckageproblem, vänta don8217t att kontakta en takentreprenör. Långa takläckor verkar ofarligt i början, men kan förvandlas till allvarliga problem snabbt. Med långvarig takläckage kan det orsaka mögelväxt, skadade tak, möbler. Ring oss idag om du behöver hjälp med att läsa Läs mer När du försöker minska din home8217s värmekylningsräkning, finns det inga bättre sätt att spara pengar än att ha nya Windows - eller träutbytesfönster installerade. Framför allt, med den nya federala skatteavdraget på upp till 1500 där8217s ingen anledning att inte. Att ha en vacker däck kommer alltid att ha en positiv avkastning på ditt fastighetsvärde. Att lägga ett däck är ett billigt sätt att utöka ditt bostadsutrymme. Den genomsnittliga kostnaden för att bygga ett däck är ungefär 7 000 och ger en avkastning på cirka 15 000 när du säljer ditt hem 8211 Inte till dåligt, rätt Så överväga att ha ahellip Läs mer Att välja rätt siding entreprenör är avgörande för alla sidospår. Oavsett om det går att installera vinylfasad över sidospår eller helt avlägsna din befintliga sidospår för ny sidospår. Att ha en professionell siding entreprenör som kan ge dig den bästa lösningen för den smidigare siding installerar kommer att spara mycket huvudvärk, tid andhellip Läs mer Utmärkt arbete Mike och hans besättning av arbetare installerade vinyl siding och nya fönster för oss. De var här från början till slut som lovade och promenerade mig genom några frågor jag hade utan tvekan. De gjorde ett utmärkt jobb och jag skulle hänvisa dem till någon. Tack Mike, lycka till, mdash Scott, Wakefield, MA MBM Construction är betygsatt 5 5 baserat på 3 recensioner. Att hitta rätt entreprenör ska inte vara smärtsam Att göra rätt bostadsförbättring eller ombyggnadsprojekt kan lägga till verkligt värde till någon typ av hem, om det görs korrekt och effektivt av en licensierad och försäkrad professionell. Använda högkvalitativa material som är energieffektiva, tilltalande och viktigast, tillförlitliga, till exempel lågviktigt vinylfönster. fönsterbyten. singeltak och anpassade däck kommer att lägga till verkligt värde. I de flesta fall kan du förvänta dig och omedelbar avkastning på din investering efter att ha gjort dessa hemförbättringar. Välj en entreprenör som kommer att få jobbet, gå igenom varje steg i projektet från början till slut utan några dolda extrafunktioner. Våra hemförbättringstjänster har gett oss en fördel över andra bostadsbyggnadsföretag. Att vara en av de bästa serviceleverantörerna inom sidospår, takläggning, utbytesfönster och rumtillägg. ger oss stor köpkraft genom våra leverantörer och kan i gengäld passera besparingarna till dig Så varför välja oss som ditt hembyggnadsentreprenör Vi lyssnar på era behov. Vi använder inte högtrycksförsäljning, eller försöker sälja dig något du inte behöver eller vill ha. Kommunikation är nyckeln till alla typer av renoveringsprojekt och vi vill att ditt projekt ska få det bästa möjliga resultatet. Du får ett detaljerat projekt beräknat slutförd - utan huvudvärk Du kommer också att få en av de bästa garantierna i hemförbättringsföretaget, om du någonsin behöver använda den. Vilken typ av hemförsörjningstjänster letar du efter Välj en takentreprenör som kommer att arbeta i ditt bästa intresse och inte i hur mycket vinst han kan göra genom att klippa hörn. Som takentreprenörer tror vi på att använda de bästa takbjälkarna och underlaget för att ge våra kunder sinnesro. För mer information om taktjänster, besök: Commercial Flat Roofing eller Residential Roofing Inte alla vinyl och trä sidospår är desamma. Välj en professionell siding entreprenör som kommer att hjälpa dig att förstå vilken typ av vinyl siding att undvika, och vad kommer att ge dig bästa valet för din pengar på lång sikt. Från en standard tryckbehandlad däck, mahagony däck, eller en komposit däck - vi har fått dig täckt. Läs mer om Decks and Porches Deck builders Från 8:00 PM CST Fredag, 24 februari - 18:00 CST Lördag 25 feb, ni kommer att genomgå systemuppgraderingar som kan leda till tillfälligt avbrott i tjänsten. Vi uppskattar ditt tålamod när vi förbättrar vår online-upplevelse. Moving Beyond Microsoft Excel för mätdataanalys och rapportering Publiceringsdatum: 18, 2014 44 4,39 5 Skriv ut Till följd av sin utbredda tillgänglighet är Microsoft Excel ofta de facto valet av ingenjörer och forskare som behöver programvara för mätdataanalys och manipulation. Microsoft Excel låter sig bra till extremt enkla test - och mätapplikationer och de finansiella användningarna som den utformades för, men i en era när företag tvingas göra mer med mindre, väljer man lämpliga verktyg för att maximera effektiviteten (därmed sänka kostnaderna) är absolut nödvändigt . Bara för att Microsoft Excel redan är installerat på datorn gör det inte rätt verktyg för alla jobb. National Instruments DIAdem-programvara som skapades specifikt för hantering, inspektion, analys och rapportering av förvärvade eller simulerade tekniska och vetenskapliga data ger effektivitetsvinster och skalbarhet med funktioner som övervinner begränsningarna i Excel i de flesta efterbehandlingsapplikationer. Innehållsförteckning 1. Skillnader i grundläggande byggstenar: celler mot kanaler Microsoft Excel använder cellen som sin grundläggande byggsten.160 Celler bildar rader och kolumner för att skapa ett kalkylblad, en arkitektur som är idealisk för budgetar och balansräkningar.160 Enkel Enstaka datainsamlingstillämpningar, till exempel de som samlar en enda datapunkt en timme under en dag, är ofta enkelt mappade till den här arkitekturen eftersom varje enskild datapunkt har större betydelse när färre datapunkter samlas.160 Varje data punkt existerar som en cell i ett kalkylblad och måste manipuleras med Excels cellbaserade paradigm. De flesta datainsamlingsapplikationer är dock inte trivial.160 Program som samlar dussintals datakanaler med mega-prissättning per sekund (MSs) är vanliga.160 I dessa applikationer görs data manipulation och interaktion på en signal eller kanal som en helhet.160 När man manipulerar kanaler i Excel som kolumner av enskilda celler förloras en signalens enhet.160 Även om hela Excel-kolumnerna kan manipuleras åt gången, är detta mer besvärligt med längre kolumner.160 Även kolumner innehåller ofta beskrivande information som ett namn eller en enhet utöver de råa numeriska data.160 I det här fallet måste en delmängd av kolumnen väljas (till exempel intervallet A2: A99), införande av overhead och potentialen för felaktigheter eller fel. I figur 1. Excel används för att utföra en enkel men vanlig teknisk uppgift: medelvärde fem temperaturkanaler lagrade i kolumner för att skapa en resulterande medelkanal.160 Den genomsnittliga beräkningen måste först göras med cellens byggblock och kopieras (eller fyllas) till alla celler i den resulterande kolumnen.160 Med DIAdem, som använder kanalen som grundblock, är medelvärdena lika enkla som att dra och släppa inmatningskanaler till funktionen Medelkanaler, som visas i Figur 2 .160 Individuella datapunkter kan fortfarande manipuleras i DIAdem vid behov. Figur 1 . Microsoft Excel använder cellen som sin grundläggande byggsten.160 Även enkel dataanalys måste tillämpas på en cell och sedan upprepas för alla celler i en kolumn (kanal). Figur 2. NI DIAdem fungerar med byggstenen av a160channel.160 Averaging är lika enkelt som att dra och släppa hela datakanaler istället för att onödigt manipulera enskilda datapunkter. 2. Hundratals beräkningar av konstruktions - och vetenskapliga analyser Medan antalet tillgängliga formler för finansinriktade beräkningar i Excel är omfattande måste du konfigurera ett valfritt tillägg som kallas analysverktygspaketet för åtkomst till några tekniska och statistiska beräkningar.160 Analysen Verktygsfunktionerna är extremt begränsade, vilket visas i Figur 3 med den gemensamma konstruktionsberäkningen Fast Fourier Transform (FFT) .160 I allmänhet uppfyller Excels analysfunktioner ofta inte kraven för vetenskapliga eller tekniska applikationer.160 För ytterligare utvidgningsbarhet ger Excel en robust Visual Basic for Applications (VBA) - motor och en utmärkt VBA-redigeringsmiljö som gör det möjligt för dig att skriva dina egna konstruktionsberäkningar från början när Excels inbyggda funktioner är otillräckliga för din applikation. Figur 3. Microsoft Excel ger en omfattande uppsättning finansieringsbaserade beräkningar och låter ingenjörer skriva sin egen kod för att möta deras applikationsbehov. I DIAdem har hundratals konstruktions - och vetenskapliga analysberäkningar från enkelt tillägg till komplex matrismanipulation och orderanalys inkluderats i miljön.160 Analysfunktionerna i DIAdem är konfigurationsbaserade, ingen programmering krävs för att köra jämn komplex analys, t. ex. Digital filtrering , som visas i Figur 4.160 Dessutom innehåller DIAdem-analysfunktionerna fullständiga förhandsgranskningar av analysresultat så att du kan undvika felaktiga beräkningar genom att se till att du använder de korrekta parametrarna innan du kör varje beräkning. Figur 4. DIAdem innehåller hundratals analysfunktioner specifika för forskare och ingenjörer.160 Varje beräkning är konfigurationsbaserad och ger en förhandsvisning av resulterande kanaler så att du kan interagera med parametrar för att säkerställa noggrannhet och minska fel. DIAdem innehåller också ett ramverk för att skapa egna domänspecifika beräkningar som kallas Beräkningshanteraren, och den innehåller ett integrerat Visual Basic-skriptgränssnitt för att sekvensera inbyggda DIAdem-beräkningar eller definiera egna anpassade beräkningar. 3. Ladda och manipulera stora volymer av data Dataströmhastigheter för vanliga applikationer når eller överstiger MSs-priser.160 I en applikation som samlar en enda kanal av data vid 1 MS, samlas totalt 1 000 000 datapunkter i ett en sekunders förvärv . På några minuter kan miljontals datapunkter sparas på gigabyte hårddiskutrymme. När Microsoft Excel försöker ladda en datafil som innehåller en stor mängd data försöker den att ladda varje enskild datapunkt i minnet.160 Med utgåvan av 64-bitarsversionen av Microsoft Excel 2010 är detta mindre begränsad, som applikationen har ett större adresserbart minnesutrymme, men laddning av hela en stor dataset i Excel kan ofta ta många minuter på grund av den stora volymen av data som behöver laddas.160 Dessutom lagrar Excel inte bara numeriska värden i varje cell men också numerisk formatering, cellformatering, formler, kalkylarklänkar, Internet-hyperlänkar och kommentarer.160 Den här cellcentrerade flexibiliteten är idealisk för företagsspecifikkartor där synlighet på cellnivå är nyckeln, men den lägger till160 unødvendigt minnesutgifter för dataset med miljontals värden . 160 För att undvika eventuella minnesproblem ställer Excel en gräns på maximalt 160W och kolumner.160 Introduktionen av Excel 2007 ökade det totala antalet rader per arbetsblad från 65.536 till drygt 1.000.000 (2.20 för att vara exakt) och den totala Antal kolumner från 256 till 16 384 (2 14). 160 Användning av figurerna 5 och 6. kontrast Excels rad - och kolumnbegränsning med DIAdems förmåga att manipulera 500.000.000 rader (poäng) som enbart en bråkdel av dess begränsning.160 Figur 5. Excel kan bara ladda över drygt 1 miljon rader data för en given kolumn.160 Detta är en begränsning för forskare och ingenjörer. Figur 6. DIAdem kan enkelt hantera extremt stora datasatser.160 Den här bilden visar 160 exempel på 500 000 000 (en halv miljarder) datapunkter i en kanal - 500 gånger det maximala antalet rader som tillåts av Excel. Såsom visas i figur 5. en förvärvshastighet på 1 MS med en enda kanal skulle överstiga antalet datapunkter som Excel kunde ladda på drygt en sekund av förvärvet.160 Många ingenjörer och forskare känner sig tvungna att tillåta begränsningarna i deras datapostbehandlingsprogramvara för att diktera Villkoren för deras förvärv och antingen minska anskaffningsgraden eller segmentförvärv i flera datafiler, introducerar en mardröm för datahantering och organisation. DIAdem var utformat för att manipulera mätdata i både små och stora volymer och kan bearbeta upp till 2.000.000.000 datapunkter (2 31) per kanal över 65 536 (2 16) totala datakanaler.160 Dessutom inkluderar DIAdem160 selektiv laddning, datareduktion och register Laddar funktioner som är särskilt utformade för att arbeta med extremt stora datasatser.160 DIAdem kan selektivt ladda en delmängd av datakanalerna i en datafil medan Excel alltid importerar alla kolumnerna från en datafil.160 Om du bara behöver ladda 1 kanal från en mycket stor datafil med 10 kanaler i den. Endast 10 av de datavärden som du faktiskt behöver är mycket snabbare och effektivare än Excels-metoden för att ladda 100 av data när 90 är overhead.160 När filer laddas med datareduktion laddar DIAdem data från ett valt radintervall andor kondenserar varje N-rad till ett representativt värde, medan Excel alltid laddar alla data rader.160 När filer är registrerade laddas DI Adem använder den befintliga datafilen på disken, eftersom virtuellt minne på platsen inte laddar alla värden från datafilen samtidigt, men registrerar istället hur man får tillgång till block av datavärden på begäran.160 Detta gör att registrerade laddade kanaler 160 är lässkyddade, men det möjliggör mycket snabb grafik och inspektion av extremt stora datamängder, som visas i Figur 6. Visa en användarlösning om hur DIAdem behandlar enorma mängder data för att hjälpa till att förutse och övervaka jordbävningsaktivitet. 4. Flexibilitet i File Storage Format Program som samlar in och sparar data vid höga strömmingshastigheter måste skriva data till disken med ett streaming-kompatibelt filformat.160 Binära filformat används oftast eftersom de inte innehåller det externa överhead som krävs för att skapa en fil mänskligt läsbar hur ASCII-filer gör.160 En jämförelse av vanliga filformat, 160 inklusive den öppna binära formatstandarden för National Instruments-programvaran, som kallas Technical Data Management Streaming (TDMS), visas i Tabell 1. 160160160160160 Tabell 1. Det finns många filformatalternativ tillgängliga, men binära filformat som TDMS är de enda format som är kompatibla med höghastighetsströmmar. Kan kräva en verktygslåda eller tilläggsmodul. DIAdem är flexibel nog för att läsa alla anpassade filformat inklusive anpassade binära filformat på grund av modulära bitar av kod som heter DataPlugins som vet hur man analyserar och tolkar 160 innehållet i en datafil.160 DataPlugins formaterar också de analyserade data från den specifika datafilen i en gemensam datastruktur inuti DIAdem, vilket gör det enkelt att jämföra data laddade från olika filformat.160 National Instruments har publicerat gratis nedladdningsbara DataPlugins för hundratals de vanligaste datafilformat, och det finns publicerade API för LabVIEW och VBScript för dig för att skapa DataPlugins för egna äldre datafiler.160 Detta gör det möjligt för DIAdem att vara modulär och skalbar nog att hantera valfria aktuella, tidigare eller kommande datafilformatval. Däremot, medan Excel kan läsa ASCII-filer, är det vanligtvis helt inte möjligt att ladda data från binära filer.160 Även om Excel framgångsrikt laddar en ASCII-fil, har den begränsad förmåga att korrekt tolka egenskaps - och kanalstrukturen i datafilen. 160Too ofta är tidskrävande omformatering av de importerade ASCII-data nödvändiga innan den kan användas alls.160 Ett undantag till detta problem är 160TDMS-filformatet från 160 nationella instrument, vilket Excel laddas med korrekt formatering av strukturen, egenskaperna och data från TDMS-filen, using160 det kostnadsfria TDM Excel-tillägget. Besök TDMS hemsida för att lära dig mer om TDMS-filformatet för lagring av mätdata till disken. 5. Inbyggda verktyg för datahantering och trending Över tiden är det vanligt att lagra och försöka organisera hundratals eller tusentals datafiler på disken.160 Dessa filer lagras ofta på olika sätt med olika format och kan till och med lagras på olika platser på en lokal maskin eller över ett nätverk. Om du vill trenden data över flera datafiler med hjälp av Microsoft Excel måste du öppna varje enskild datafil, kopiera de relevanta kolumnerna och klistra in dem i en mastergrupp (aggregerad) fil och flytta till nästa datafil.160 Precis trending liknande Datakanaler över hundratals unika datafiler kan ta dagar eller veckor. DIAdem kan utföra samma uppgift på några sekunder.160 Med hjälp av DataPlugins kan DIAdem ladda dessa olika filformat till en gemensam importerad struktur för enhetlig analys och rapportering. Dessutom installerar DIAdem en teknik som heter My DataFinder som hjälper dig att snabbt hitta och isolera de exakta dataseten du söker, även om de finns över olika filer som visas i Figur 7. 160 My DataFinder skapar automatiskt ett index över den beskrivande informationen Innehållet i datafiler som blir sökbara inom DIAdem.160 Med DIAdem och DataFinder-tekniken kan du snabbt hitta alla datafiler som skrivits av en viss operatör, hitta alla misslyckade tester eller ens identifiera alla datakanaler över alla datafiler som lagrats Använda en specifik typ av sensor.160 Ju mer information du dokumenterar i dina datafiler, desto fler möjligheter är tillgängliga när du söker efter specifika data lagrade över flera filer i olika mappar och eller filformat. Figur 7. I den här frågan har DataFinder placerat datakanaler över alla datafiler som samlades in med ett J-Type-termoelement och lagras på disk av operatören Jennifer. Visa en webbsändning som visar DIAdem och NI DataFinder för datahantering, analys och rapportering. 6. Datainspektion och synkronisering Med Microsoft Excel kan användare skapa grundläggande diagram och diagram, men statiska grafer tillåter dig inte att interagera fullständigt med och inspektera data som har mätts över tiden.160 Det är exempelvis omöjligt att visualisera korrelerade mätdata och GPS160data med inbyggda verktyg i Excel. 160 För att helt och hållet karakterisera alla aspekter av tidsbaserade mätningar innehåller DIAdem ett kraftfullt visualiseringsverktyg som har synkroniserbara visningsytor som är idealiska för att spela upp mätningar samordnade med videoklipp, 3D-modeller, axelsystem, GPS-kartskärmar, konturer, ljuduppspelning, och mer.160 Detta gör att du kan spela upp en mätning synkroniserad med annan information för att fullständigt förstå dess sammanhang.160 DIAdems visualiseringsverktyg gör det också enkelt för dig att zooma in i en viss region i ett diagram, kopiera eller radera eller interpolera dataområdena och undersöka Exakta värden för specifika punkter grafiskt.160 Med hjälp av det här dynamiska verktyget är det enkelt att identifiera intressanta regioner eller hitta avvikelser inom större dataset. Figur 8 . Med DIAdem kan du helt synkronisera uppspelningen av mätdata, ljuddata, GPS-koordinater, video och mer. 7. Rapporteringsmallar som du kan få (WYSIWYG) DIAdem har en robust rapporteringsmaskin som utnyttjar återanvändbara mallar eftersom många ingenjörer genererar samma rapporter flera gånger med olika datasatser.160 WYSIWYG-rapportmallen i DIAdem lagra referenser till data i minnet i motsats till att lagra själva data värden själva. Om du vill skapa rapporter från olika dataset med samma lagrade rapportmall kan du helt enkelt ladda de nya data till minnet och den laddade rapportmallen uppdaterar upprepade gånger 160: e skärm med de nyligen laddade datavärdena.160 Du kan sedan exportera fullföljd högupplöst publicering Redan rapporterar till de vanligaste rapporteringsformaten, inklusive PDF, PowerPoint, HTML, bild och mer. 160 I Excel sparas rapportdisplayen tillsammans med data i en gemensam kalkylarkfil, vilket gör det mycket svårare att använda en viss rapportdisplay för flera dataset. 160 Figur 9. DIAdem har en WYSIWYG-rapportredigerare. Publicerade färdiga exporterade rapporter kommer att se ut som de är identiska med deras redigeringstidsmallar. 8. Interaktiv Automation Excel ger en kraftfull miljö för att utveckla makron.160 Med inspelningsläge kan du spela in makroner som 160automatiserar långa utvärderingar eller beräkningar.160 DIAdem similarly160 har 160an integrerad VBScript-editor, en användardialogredaktör och en manusskrivare för att interaktivt skapa skript som automatiserar långa utvärderingar eller beräkningar. 160160Användning av skript kan hela DIAdem-miljön anpassas och automatiseras så att processer för repetitiva dataflytningar som brukade ta dagar kan uppnås på några minuter.160 Detta maximerar effektiviteten hos ingenjörer och forskare och minskar dramatiskt tiden det tar dem för att göra rå mätdata till användbar information. 9. Excel är gratis, men för dyrt att använda Microsoft Office används av cirka 80 företag1. 160 Många ingenjörer och forskare ser Excel som fri programvara eftersom den är installerad på de flesta företagsdatorer utan fråga.160 Ofta börjar forskare och ingenjörer använd Excel för deras analys och rapporteringsbehov eftersom det är bekant och tillgängligt.160 När de stöter på Excels-begränsningar som sammanfattas i tabell 2. De lever antingen med ofta repetitiv och tidskrävande manuell bearbetning eller spenderar timmar och veckor som utvecklar och underhåller anpassad makrokod. Om du uppskattar att personalkostnader (inklusive lön, försäkring, utrustning, etc.) för en ingenjör totalt 100 000 årligen, skulle kostnaden för att köpa en licens för DIAdem Advanced och en hel vecka av träning återhämtas efter bara 2,8 arbetsveckor av realiserade produktivitetsvinster över Microsoft Excel. Som detaljerat i detta dokument betalar NI DIAdem snabbt sig själv genom att övervinna gränserna i Excel och introducera ytterligare effektivitetsverktyg för hantering, analysering och160 rapporteringsmätningsdata.160160 Tabell 2. DIAdem ökar effektiviteten genom att övervinna begränsningarna i Microsoft Excel. 10. Läs mer och flytta till DIAdem idag Använd resurserna nedan för att lära dig mer om att flytta bortom Excel till mer kraftfulla verktyg för mätdataanalys och rapportering. Visa en webbsändningsperspektiv DIAdems har förmåner för datahantering, analys och rapportering. Titta på sex 1 minuters videor för att lära dig mer om DIAdem. Ladda ner DIAdem och utforska miljön med en gratis 7-dagars utvärdering. Prata med en expert för en gratis webbdemo eller att få dina frågor besvaras omedelbart. Heway 8211 En Segway-typrobot Introducerar HTWay, en Segway-typ självbalanseringsrobot. Denna robot använder HiTechnic Gyro Sensor samt HiTechnic IRReceiver. Gyro-sensorn används för att upprätthålla balans medan IR-mottagaren gör det möjligt att styra den med en LEGO Power Functions-fjärrkontroll. Uppdatering (8 november 2010): NXC-versionen uppdaterades för att fixa en bugg som orsakade programmet att krascha när optimeringsnivån var inställd utöver 1. Uppdatering (28 juli 2010): NXT-G-programmet i hämtningen ovan har uppdaterats för att använda det nya 2.0 Gyro-sensorblocket som kan hämtas från sidan Nedladdningar. Om du använder det ursprungliga 1.0 Gyro-sensorblocket måste du uppdatera det till det nya 2.0-blocket för användning med detta program. Både NXC - och NXT-G-programmen arbetar väsentligen på samma sätt. Programmen utnyttjar flytande punktmatematik som är nytt med LEGO Mindstorms NXT 2.0. Den ursprungliga 1.0 NXT stödde bara heltalmatematik. Medan man använder flytande punkt är matematik inte nödvändigt när man programmerar en Segway-typrobot, det gör programmet mycket lättare att förstå och att arbeta med. Uppdatering för NXT-G: För NXT-G-programmet, se till att du också hämtar och installerar Gyro och IR Receiver-blocken från LEGO Mindstorms-programvaran. Du hittar dem på Mindstorms NXT-G Blocks nedladdnings sida. Om du vanligtvis programmerar i NXT-G med LEGO Mindstorms 1.0 eller 1.1, är det här en utmärkt möjlighet att ge NXC ett försök. Om du installerar utvecklingsmiljön BricxCC. du kommer att få NXC som en del av paketet. För HTWay behöver du också LEGO firmware 1.26 eller högre. Jag rekommenderar LEGO Firmware 1.29. Denna firmware är helt kompatibel med den tidigare versionen och kommer fortfarande att fungera med din LEGO Mindstorms 1.0 och 1.1-programvara. Du kan till och med använda BricxCC för att ladda ner firmware till NXT från Verktyg-menyn, välj Download Firmware. Du måste också göra NXC-kompilatorn riktad mot 2.0-firmware för att dra nytta av den flytande punktmatematiken. Du kan göra det genom att gå till Redigera-Inställningar, klicka sedan på fliken Kompilator och sedan på NBCNXC-underfliken. Kontrollera nu alternativet 8220NXT 2.0 kompatibelt firmware8221. Uppdatering för NXC: För att kunna dra nytta av den flytande punkten matematisk support behöver du också ladda ner och installera den senaste testutgåvan av BricxCC. När du har hämtat zip-filen i testversionen kopierar du innehållet över din befintliga BricxCC-installation. Detta kommer sannolikt att vara c: Program FilesBricxCC. När du kör programmet, är det första du gör det möjligt att välja vilken hjulstorlek du använder. Det finns tre alternativ: Small (NXT 2.0), Medium (NXT 1.0) och Large (RCX). Använd piltangenterna för att välja och Orange Enter-knappen för att välja. Roboten behöver nu få en första gyroförskjutning. Du kan tänka på detta som en Gyro Sensor-kalibrering. För att få en bra gyroförskjutning måste roboten vara noggrann. Om du håller roboten i din hand väntar den tills du sätter ner roboten och den rör sig inte innan den kommer att få gyroförskjutningen och fortsätta. HTWay börjar nu pipa och indikerar att du har fem sekunder att få roboten vertikal och så balanserad som möjligt. Släpp i slutet av den långa pipen. Roboten ska nu balansera och är redo att köras med LEGO PF fjärrkontrollen. Du kan styra det som om du skulle ha en tank. Båda spakarna går framåt och roboten kör framåt. Båda spaken tillbaka och den vrider sig. En enda hävarm och det vrider runt ett stoppat hjul och båda hävstångarna i motsatta riktningar och det kommer att vrida på plats. Bakgrund Detta är ett klassiskt problem i kontrollteori. Före Segway Personal Transporter. det var mer allmänt känt som det inverterade pendelproblemet. Normalt när man tänker på en pendel, som på klockan, hänger den ner under svängpunkten där den är stabil. Den inverterade pendeln är en där tyngdpunkten ligger ovanför svängpunkten i en position som är iboende instabil. För att hålla upp det måste pivotpunkten flytta för att fånga den när den börjar falla. Det är i huvudsak samma problem som att skapa en segwayrobots balans. Med LEGO-robotiken har denna utmaning tagits upp många gånger. Först kom Steve Hassenplug8217s LegWay med RCX och två EOPD-sensorer. Dessa RCX EOPD-sensorer var tidiga HiTechnic-produkter som fungerade väsentligen samma som nuvarande NXT EOPD-sensorer. Dessa sensorer användes för att berätta avståndet till golvet. Om roboten lutade framåt, då skulle sensorerna vara närmare golvet så RCX kunde säga att det lutade framåt. Om det lutade sig tillbaka, skulle sensorerna vara längre bort från ytan. Detta var en fantastisk skapelse och Steve fick en plats på kabel-TV berömmelse med den här fantastiska roboten. Det kunde inte bara balansera exceptionellt bra, det kunde spåra och till och med snurra i cirklar för att imponera på folkmassorna. Med NXT byggde Philippe E. Hurbain NXTWay med hjälp av NXT Light Sensor på ett sätt som liknar Steve Hassenplug8217s LegWay. Under kontrollerade förhållanden kan LEGO Light-sensorn också användas för att berätta avstånd. Så länge belysningen och ytan är konsekvent kan roboten berätta om den lutar framåt eller bakåt baserat på ljussensorvärdet. Med tanke på den dåliga upplösningen av ljussensorn var detta en imponerande prestation. Den första gyrosensorbaserade NXT Segway-roboten kom från Ryo Watanabe vid Waseda University i Japan. Den ursprungliga HiTechnic YouTube-videon av en balansrobot var faktiskt Ryo Watanabe8217s väldigt imponerande robot som vid det tillfället använde en prototyp HiTechnic Gyro Sensor. Ryo gjorde ett fantastiskt jobb för att beskriva fysiken och hans lösning som var mycket värdefull för skapandet av den nuvarande HTWay-modellen. Senare skapade Dave Parker på nxtprogrammer en fantastisk NXT 2.0 One Kit Segway med ryttrobot med LEGO Color-sensorn på samma sätt som Philo8217s NXTWay. Dave Parker kom med den ursprungliga tanken på att använda den tredje motorn för att kompensera balansen och använda den för att få roboten att gå framåt eller bakåt, på ett sätt som liknar den verkliga Segway PT som också styrs av den mänskliga ryttaren som lutar framåt eller bakåt. Mycket cool Laurens Valk har också nyligen publicerat en Segway-typrobot som använder HiTechnic Gyro Sensor. Han kallar sin skapelse AnyWay. Liksom HTWay är hans program också skrivet i NXT-G. Laurens8217s projekt inspirerade några idéer som användes vid skapandet av HTWay, inklusive tanken att låta användaren välja hjulstorlek med knappgränssnittet i början av programmet. Hur det fungerar Först och främst måste du förstå exakt hur det fungerar för att göra den här roboten. Du kan bygga den och lägga NXC eller NXT-G-programmet på det och ha kul med det även om du inte fullt ut får matematiken som balanserar den. Både NXC - och NXT-G-programmen är skrivna så att kontrollkoden är skild från balanskoden. Om du vill använda andra sensorer, t. ex. ultraljuds - eller ljussensorn, förutom Gyro-sensorn som är nödvändig för balansering, kan du göra det. Allt du behöver göra är att ha din egen kontrollkod som i sin tur kan driva roboten genom att ändra två globala variabler, motorControlDrive och motorControlSteer i NXC och controlDrive och controlSteer i NXT-G. Båda dessa variabler är i grader per sekund. Styrreglaget är baserat på önskad skillnad i motorkodare. Ovan hittar du nedladdningslänkarna för både NXC och NXT-G-program. Dessa program har skrivits så att de fungerar så mycket som möjligt på samma sätt. Nedan ger jag några kodfragment från NXC-programmet. Om du är en NXT-G-programmerare, försök följa med. Du kan också titta på den faktiska NXT-G-koden i LEGO Mindstorms-programvaran och följa med där. Eftersom några av matematikekvationerna blir ganska stora i NXT-G, kan det vara lättare att förstå NXC-programmet. För att balansera har roboten en styrslinga som tar hänsyn till fyra delar av informationen och bestämmer sedan hur mycket motorkraft som behövs för att stanna upprätt. I en förenklad form ser NXC-koden för huvudbalansslingan ut så här: Observera att det verkliga NXC-programmet är lite mer komplicerat eftersom det tar hänsyn till några fler saker, såsom körning, styrning och det faktum att motorn behöver ström att vara begränsad till ett - 100 sortiment. I detta kodfragment kan du se att varje gång genom balansöglan erhålls fyra data: gyroSpeed. gyroAngle. motorhastighet. och motorPos. Det här är de statliga variabler som beskriver vad som för närvarande händer med roboten. är från Gyrosensorn och är robotens vinkelhastighet. Om roboten är mitt i fallet framåt kommer det här värdet att vara positivt. Enheterna är ungefär i grader per sekund. är vinkeln på roboten. Detta värde är positivt om roboten lutar framåt och negativ om den lutar bakåt. (Detta är inte exakt sant som kommer att förklaras senare) Enheterna för gyroAngle är grader. är robotens position i motorns grader. För HTWay är detta faktiskt summan av de två motorkodarna. Detta är termen som håller roboten på en viss plats. är motorns varvtal. Detta nummer är också i degreessecond och är också baserat på summan av de två motorkodarna. Denna term är vad som hindrar roboten från att oscillera fram och tillbaka och effektivt sakta ner det. För att beräkna effekten multipliceras dessa variabler med respektive konstanter i en fyrtids linjär ekvation, resultatet är den effekt som behövs för roboten att hålla sig balanserad. Tricket att göra allt detta är att hitta rätt konstanter. För att ge dig en uppfattning om varje terms roll i balansräkningen, kommer jag att prata om varje termin en i taget med ett försök att isolera vad varje gör. Först och främst, Imagaine att roboten är perfekt balanserad och precis vid önskad målposition. I så fall kommer alla fyra variablerna att vara noll. Med andra ord är roboten perfekt vertikal så gyroAngle är noll, roboten faller inte framåt eller bakåt, roboten rör sig inte och den är exakt i önskad position. Eftersom alla fyra variablerna är noll är resultatet av effektekvationen också noll. Så, om alla villkoren är noll förutom att roboten lutar framåt, till exempel är gyroAngle 5 grader. Vad gör du Tja om roboten lutar framåt är det nödvändigt att köra framåt för att försöka fånga roboten. Det vill säga är KGYROANGLE-konstantens roll. När multiplicerat med gyroAngle. det kommer att ge den kraft som behövs för att driva framåt för att få höst att återfå balansen. Återigen, föreställ dig att alla termer är noll förutom att den här gången gyroSpeed är positiv, kanske är det 10 grader. Så roboten är upprätt och rör sig inte, men den har på något sätt blivit sig själv i en situation där den faller framåt. På ett sätt kan man tänka på detta som ett huvud så att saker går på vilse. Även om det är upprätt nu, är det på väg att luta sig framåt. Den här termen låter roboten svara även innan den faller framåt. Det spelar också en roll när roboten lutar men är på väg att bli upprätt, i så fall kommer denna term att förhindra att gyroAngle termen gör att roboten svarar när det är i själva verket okej. Så vad sägs om de två motorvillkoren Tja om roboten är perfekt upprätt och inte faller men roboten är 100 grader längre framåt så önskas, i så fall kommer motorPos att vara 100. Kom ihåg att motorPos i HTWay-programmet är summan av de två motorerna kodare. Det faktiska avståndet hur långt framåt det är kommer också att bero på hjulets storlek. Även om det skulle vara trevligt att bara köra tillbaka till nollpositionen, fungerar det inte. Om du försöker bara köra bakåt tillbaka till nollställning, så skulle roboten faktiskt falla framåt. The solution is actually to drive forwards, because in order to go backwards, you first have to get the robot to fall backwards. To do that, you drive forwards The motorSpeed term works in sort of the the same way as motorPos . If the robot is in the middle of driving forwards, then first of all you need at least enough power to maintain the speed, and thus the balance, and then you even need a little more to get the robot to lean backwards to make it slow down. In the NXC program, the four constants are set to these values near the top of the program: A note about wheel size making it go In the HTWay program you can select the wheel size you are using with a three button interface. What this does is it sets a global variable called ratioWheel to either 0.8, 1.0, or 1.4 for respectively the small NXT 2.0 wheels, the medium sized NXT 1.0 wheels and or the large RCX wheels. So what does this actually do Well the actual balance equation is a little different then what was shown above, here is the full expression used in the program: It turns out that the wheel size only needs to play a role with the two gyro sensor terms and not the motor terms. The reason that wheel size is important is because bigger wheels need less power to compensate for being out of balance. Since bigger wheels move further, given a certain amount of input, you need less of it to achieve the same amount of movement. So why not take the wheel size into account on the motor terms The reason is that these terms are effectively self-relative. If the robot is, for example, one inch too far forwards, then this will be represented by a higher motorPos value for small wheels than for big wheels. Effectively, for the small wheeled robot this will result in a higher influence on the motor power than what will happen for the same distance using the bigger wheels. In the code above you will also see that the motorControlDrive also plays a role in the balance equation, this is not actually what drives the robot. This term is used to help get the robot going as well as to slow it down whenever the motorControlDrive term changes. When you start driving the robot, this term will cause the robot to first drive backwards a little to quickly get going, then when you stop it will give the robot a little extra boost to help it lean back to slow down. The actual driving comes from this line right above the power balance equation: Every time through the loop, the motorPos variable is adjusted proportionally to the global variable motorControlDrive . motorControlDrive is in degreessecond so by multiplying it by the interval time, we are adjusting the motorPos by the amount that the robot should move each time through the control loop. This moves the target position along which is what makes the robot drive. Integration If you are a young robot builder, you have probably never heard of integration. If you are older, you probably wish you never had. It turns out that integration is really useful and essential for this project. And actually not that hard to understand. The problem is that the Gyro Sensor does not give you an actual angle. You can8217t just read the Gyro Sensor and tell if the robot is leaning forwards or backwards. All you can tell is the angular velocity, in other words, how fast it is falling. So if you know the angular velocity, how can you get an angle Well that8217s what integration does. Integration is simply the act of adding an infinite series of values over time. Let8217s say that at a given time you know the robot angle, we keep that in a variable called gyroAngle . Each time through the loop we get from the Gyro Sensor the angular velocity in degreessecond. So if we know the interval of the loop, then we can update our gyroAngle by the amount that we know the angle has changed. Since our loop is running at about 100 times per second, the interval time is 0.01 seconds. To update the gyroAngle . we simply add the gyroSpeed times the interval time (0.01 seconds) into the gyroAngle to get a new value. That8217s it Here is the NXC function for getting the gyro data that does this: This function also takes care of one more piece of housekeeping that we should discuss: the gyro offset. Because the technology of the gyro sensor element, the raw sensor value is likely to be non-zero even when the sensor has no actual angular velocity. Since we need a zero value when the sensor is not turning, we need to maintain a gyro offset value that we can use to adjust the sensor value to get an accurate angular velocity. To maintain a gyro offset the program does two things. Before the robot starts to balance it gets an initial gyro offset by averaging 100 samples of the sensor value while the robot is lying on the ground. But this value will just be the initial gyro offset. While the robot is driving we will also need to constantly adjust this offset value in order to keep the value from drifting with time (and as a result the whole robot will drift in position if not corrected). In the HTWay program, this is done by maintaining a long term average known as Exponential Moving Average. Since the long term average of the angular velocity, assuming the robot is balancing, should be zero, the long term average of the sensor value can be used as the gyro offset. In the code above, EMAOFFSET is very small, 0.0005, so even if the robot is moving back and forth while balancing, it will not have a large immediate effect on the gOffset value. Only if the offset is off over a significant period of time will the offset value get noticeable changed. This way of using an exponentially moving average is also known as a low-pass filter. gyroAngle and motorPos 8230 not exactly zero When the robot starts balancing, the program assumes the robot is vertical. Well, even if you are really good when you let go of the robot, this may not be true. You are likely to be off by a degree or two. Also, even though the program maintains a gyro offset and is constantly integrating the angular velocity to maintain gyroAngle . this may not be perfect and the gyroAngle may still drift a bit with time. Sounds like a disaster, no It turns out to not be a problem. The reality is that when you are not driving and the robot is gently oscillating back and forth maintaining balance, the gyroAngle and motorPos can be proportionally away from zero. The reason it works is because the two terms have reached an equilibrium where one offsets the other. For example, the robot may be nicely balanced around a gyroAngle value of 1 degree, to compensate, motorPos may be around -107 degrees. When these two values are multiplied by their respective constants in the balance equation, they will cancel each other out. References Ryo Watanabe did an excellent job of explaining both the physics of the problem and the linear equation that makes a solution possible on the NXT. Here is the overview . Another good website with information about LEGO Segways programming is techbricks. nl . Acknowledgments I would like to thank Laurens Valk and Xander Soldaat who helped me with this project. Xander reviewed the building instruction and tested the robot. Laurens and I discussed various aspects of the program which influenced some features such as how the gyro offset is maintained as well as the feature of allowing the user to select the wheel size at the beginning of the program. 8220Segway8221 is a registered trademark of Segway, Inc. The controller takes four things into account to balance the robot: the gyro rate (the rate of the fall in degsec), the angle (the integral of the rate), the motor speed, and the motor position. These four terms, along with some additional processing to handle driving and steering, are then use to set a proportional power amount to the motors. Hi sorry, for the slow response. Things have been pretty busy lately. You can use the acceleration sensor along with trig functions to get a tilt angle. The problem with that is that it only works when the sensor is stationary. If you move the sensor around then you also get acceleration due to movement and then you cant reliably get an angle. In the worst case, a sensor mounted on a falling robot will essentially be falling due to gravity. In this case it will not detect anything is wrong until it hits the ground. You need a gyro sensor to make a balancing robot. I have never seen it done with an acceleration sensor. Gus I too purchased a gyro sensor and IR receiver from your company. I8217d like to make a 8220Segway8221 LEGO robot, but I8217m doing my programming with RobotC. I was at the Robotics Academy and asked the experts about this but such a project they couldn8217t provide much help. Can you point me in the right direction Do you have a RobotC version of your program Thanks I don8217t have a RobotC version but I know that RobotC versions exist somewhere on the net. I suggest that you take the NXC version that is also available from this blog post and convert it to RobotC. These languages are a little different but this should be doable. Hi, Im looking for the exact mathematical model of this lego segway, can sombady help me I found several models, in state space representation, but those models output is the torch not the speed and the input is velocity, acceleration of wheel, angular velocity, angular acceleration of pendulum and not the position, velocity of the wheel and angle, angular velocity of the pendulum. Thank you in advance. Hi Gus, and Id like to program the NXT (NXTway-gs) kit with LabView. Its a little bit difficult for me. Could you send me the LV version of the hway to help me tHANK YOU VERY MUCH. Hi there. Ive been struggling to modify the nxc code for this HTWay. Even unmodified code doesnt work. I run the downloaded file on BricxCC, compile and download just fine. but then, When I ran the program on NXT, after the beeps, it says File Error. Please advice. I8217ve followed the instructions carefully. Latest test release, check nxt 2.0 checkbox and all that stuff. Thanks I suspect that you don8217t have the IRReceiver connected like the program assumes. If you don8217t have the IRReceiver sensor, then comment out the code that initializes the sensor and attempts to read it. The robot should balance and stay in place if you remove this code. If you want to make the robot drive and turn, then you can replace this task with your own code that sets the same global variables used by the control task to drive and steer the robot. Send me an email to support at hitechnic dot com and I will find the LabVIEW version I have of the HTWay. I have a LV 2009 version but I still need to make a new LV for LEGO Mindstorms version of the program. No, the 8220Tilt8221 sensor is an Accelerometer. The Accelerometer can measure tilt because gravity is perceived as acceleration but this only works if the sensor is not moving. Since the HTWay is constantly in motion, this sensor can not be used to maintain balance. For the HTWay, you need the Gyro Sensor. The Gyro sensor gives a value based on angular velocity but is not otherwise affected by movement of the robot. What is advantage of gyro sensor vs eopd i am just starting a LegWay project and it would seem to me easier to translate the change in distance, as sensed by EOPD, into a speedpower level for motor then to deal with the gyro sensor. I am using an older RCX kit (with the HiTech NXT-EOPD)8230will this work (I have converson cable) Do I need two EOPDs (ala Hassenplug) Should forget this and just go gyro What are your thoughts Thanks. Verdonko, first of all, the NXT EOPD and Gyro sensors will not work with the older LEGO RCX, even with a conversion cable. The cable allows the RCX sensors and motors to be used with the NXT but not the other way around. (Actually the NXT motors will work). An NXT LegWay type robot that uses the EOPD sensors could be build similar to what Hassenplug did with the RCX. The problem with the EOPD sensor is that it will be sensitive to the nature of the surface that it is running on. If you try to drive the robot on different color surfaces or something like carpet then it will either not work or require re-calibration to that surface. Some surfaces will not work at all such as a dark mat which absorbs almost all the light. It will also not handle slopes since being balanced requires a different angle to the surface when you are on a slope. Hi, I also try to build a self-balacing robot like the HTWay. I8217m using LabView 2009. But I have some problems with the angle(drifting) and how it works with the motor position. Can you help me with a LabView version of the HTway I8217ve built your HTWay carefully and it seems to work, up to some extent. It balances, it turns, but as long as I push both PF remote levers in the same direction (forward or backwards), the robot starts moving forward or backwards but almost immediately it looses the balance and falls to the front or to the back respectively. Nothing like you demonstrate on your video. I8217m using NXT firmware 1.31, the correct wheel sizes, etc. I experience the same problem, both with NXT-G and NXC. My NXC Compiler is targeting 2.0 firmware and optimizations levels is 2. Do you have any idea, about what might be going wrong with my robot Many thanks, in advance. Reading trough all comments, it turned out that I was using also my rechargeable battery, at too low level. 7,4V despite the bar indicator was still above half way. After fully charging (now 8,3V) it works perfectly Great model Thanks Thanks for this collection of links, information and explanation, it8217s really useful and encouraging. It8217s done it8217s job, I8217m off now to order my own HiTechnic Gyro sensor so I can build an HTway variant myself8230 thank you Hi Gus, I have bought a gyro sensor and the IR sensor to build your htway robot, and Id like to program it with NXC. But I think, taht your programm has a bug When I download your NXC Programm it starts but the wheel selection is not running. I hear some sound ticks and the NXT hang up. The NXT-G Programm worked very well, but I want to do it with the NXC 8211 programm and the Brixc. Thank you for your help First of all, I8217m not sure what the problem is but I seem to recall there may be an issue caused by the optimization level uses by the NXC compiler. Using the Edit gt Preferences dialog, change the optimization level used under Compiler gt NBCNXC to level 1. That may do the trick.
No comments:
Post a Comment