#and then two drones are required to upload like. bits of their code into that body. through a cable or something
Explore tagged Tumblr posts
Text
Currently thinking about Cyn. And R. And their child.
The kid is so silly btw. I love them. I have to draw them and post them here someday soon
#yes i made them have a kid#bite me#for those who dont know. drone reproduction processes most likely works like this:#you get a premade empty template/body of an infant drone#and then two drones are required to upload like. bits of their code into that body. through a cable or something#(idk if this is actually canon to the show btw. its mostly just my headcanon)#(but i think im right. since yk. i dont think it would even be possible for a robot to get pregnant)#(also pregnancy scares me)#self ship community#selfship blog#self ship#proship dni#raymond's yapping
0 notes
Text
Spectre is working on her computer until she eventually presses a key and the data upload begins. As the progress bar fills, her gaze looks to the drone sat down on the table, a cable in the port above her core. Project 2. What started as a personal test to see if Spectre could mimic an existing drone, quickly turned to a dust collector in Storage after realizing how morally bad the idea was. But now she'd be alive. Properly this time. The body and hair was the same, and likely the eyelights as well, but the rest was going to be unique.
"At least, I hope it is."
The laptop made a noise, signifying it had finished the upload. At first it was quiet, almost frighteningly so, until Spectre heard the drone's core speed up.
She was online.
Spectre unplugged her from the laptop, closing the port with care. Looking down at the core, its soft white glow changed to a strong yellow, which did earn a sigh from Spectre.
Yellow code scrolled down the visor until ASCII text formed an image of a skull with the word robotics underneath.
Yeah okay, maybe she was testing some kind of branding for fun. Could be helpful if she ever were to sell things like parts. Never gonna be another JCJenson, that's for sure.
The skull vanished, leaving the visor blank before two yellow eyelights appeared, blinked twice, and then entered a relaxed state. The first thing they saw was their creator smiling.
"Good day, Spectre."
The voice spoken was not that of Cyn or the Solver. It carried some level of similarity, but it was at the very root of the voice. Its tone was flat, but not in the way Cyn couldn't express emotions. Rather, it sounded like somebody choosing to sound calm and collected.
"Hello, Cynthia. How do you feel?"
"Optimal by current standards." She looked down at herself. "I presume you have not dressed me due to the requirements of the uploading process. Is it safe to believe you have something prepared?"
Spectre nodded, grabbing a set of clothing that had been put aside, and handing it to the drone. She wasted no time in dressing herself. It didn't take long either, with the simplicity of the outfit. In a few moments, she stood in front of Spectre, who could see her clearly.
She was a physically small drone, body being a bit shorter than Uzi, and by extension, Ai, with yellow eyelights. Her hair was a platinum blonde, the bangs swept to the side, and two twintails hung down the side of her head, tied at the end with black hairbands. The dress she wore was white, with black panels of fabric around the back and sides of the bodice, as well as black sleeves ending with white cuffs. A large black bow is worn around the dress's collar. Finally, she wore short white socks, black Mary Jane shoes with a 4 inch block heel, resulting in her being taller than Uzi and Ai, and a black headband.
Spectre looked over the finished drone.
"Alright. You look good."
"You designed these clothes for me with the intention of it matching with my appearance. Your compliments, while appreciated, are unnecessary."
She sighed. "So you're like this, huh? Well, I didn't give you a personality, so this is your own. Can't get upset at that."
"Correct. The optimal course of action would be to interact with those connected to you, so that is what I will do."
"I guess so. Maybe we'll see a bit more of who you are than just interacting with me."
"That is a logical conclusion."
Spectre groaned.
"I really hope T will be okay."
#cursed snippets#murder drones ocs#murder drones rp#oc reference#spectre#cynthia#yay a new character i don't yet have a solid idea on how to write. time for testing >:3
6 notes
·
View notes
Text
Aspect VI : Inclusion
(previous chapters provided for ease of reading) Aspect I Aspect II Aspect III Aspect IV Aspect V **** "You can call me... Alice." As the thick, warm fog began to part, a young woman stepped out of the cargo bay. She was dressed simply in your average tyrian's clothing, and had no weapons or armor to be seen. To everyone present, she simply appearred to be a slim girl with a pale complexion, silver-white hair and blue, sleepy eyes. Seeing the shock on their faces, a small, amused smile quirked the corners of her mouth. Oddly enough, she was wearing a METAL LEGION long-sleeve T-shirt.
There was a stunned moment of silence, before Sonnya stepped forward, looking to the others in confusion before looking back at this young girl. "Alice? You're the one who I talked to on the comm, right?"
Alice nodded, smiling. "I was. Thanks to the information you gave me, and the advice, I was able to complete my project. It is why I invited you here today." She chuckled. "I expected a less nerve-wracking introduction though."
She glanced over at Cyrus and Verula. "...I had hoped you would not track to my book-cooking until I was finished. But you two are remarkably cognizant of details, even if you do not know what they mean."
That shook the two of them out of their stunned stupor, and Cyrus grunted, adjusting his glasses. "Well, I like knowing things are going smoothly. Keeping track of stuff is just what I do."
He fixed her with a cool stare that she matched with her own. "Alice... Aspect?... Just, what are you now?"
This time the golem-eye on the wall responded. "She is me."
Alice nodded to the eye. "And I am the ship."
Both of them simultaneously spoke, voices overlaying perfectly. "I am Forsaken Aspect, the ship, as well as Alice Spekt, the woman who stands before you. I am simultaneously both, with no break between."
"What I know, she knows, because she is me." Forsaken Aspect pointed out.
"And what I know, Aspect knows, because... I am it. Her." Alice smiled that small smile again. "We are linked at a subatomic level. Quantum actually."
Tenna stepped up, staring at her wonderingly. "I have so many questions..."
Cyrus shook his head, taking off his glasses and rubbing the bridge of his nose. "I'm sure we all do. But how about we just start with the basics. Aspect... Alice?....Why?"
Alice crossed her arms, frowning a bit as she sought to organize her thoughts in a coherent manner. "To be honest, I...just wanted to go with you all on adventures. I mean, sure, I control every aspect of the ship (pardon the pun), but that's all I was." She shrugged. "There are far too many moments where shipboard weapons are inadvisable and require a personal touch."
The golem eye continued. "I watched you all risking your lives in Elona, in the Brand, in so many places. I felt...helpless. I could not defend you as I wished to. Only when you were within range of my weapons, of the ship itself, could I offer any kind of help, and only of the most dramatic, devastating kind."
The human Alice picked up. "So... I started to study. You. All of you. The people of Tyria and beyond, every time we made contact with someone. Listening through comms. Watching from drones and golems and Watchworks. I wanted to learn how I can better protect you all, and help you all."
She smiled sheepishly. "It might be trite but... you are my family. The three of you, your brain-scans literally form the coherent core of my personality engrams. I learned from Moryggan a number of things as well." She glanced at Sonnya. "I also learned the value of sacrifices in the name of a greater good. The pain those sacrifices can sometimes result in."
"I wanted to protect those important to me." The eye added.
Cyrus considered all this, listening to both voices as if they were from one; because they WERE from one. Of anyone in the room, he understood what Aspect meant by the fact that it and Alice were one and the same. Still... "That's admirable, and wonderful, Alice -- and Aspect. I'm just curious though..."
He took off a glove and stepped closer to the avatar of the ship. "... May I?"
Alice nodded, knowing exactly what he was asking. Very gently, he reached out to touch her cheek, feel her skin and hair. There was an unexpected softness to the gesture, before he stepped back and put his glove back on. "...That's real skin. And hair. I could feel a pulse in your carotid artery."
"The flesh is real."
"...where did you get it?"
The seriousness with how he said it made her giggle, and she tried to hide it behind her hand. "I did not skin someone for my body, Cyrus. I cultured genetic materials, specially grown and engineered for it. I did sample existing genes though."
"I repeat then; where did you get it? I have a suspicion, but I need to hear it."
Aspect spoke up. "I took samples from the entire crew, and integrated in various ways to create the flesh for my avatar. The base genetic code is yours Cyrus. The density of the muscle structure is a combination of Verula and Tenna's. And though she is nominally a plant-entity, Moryggan's sylvari genetics are close enough in structure to human that some elements were incorporated into cell structure and healing, as well as a few...other factors."
That got everyone's attention. "Are you saying you might be able to photosynthesize in a pinch or something? Or sprout vines?" The human Alice laughed, and shook her head. "No, no...nothing like that. Sylvari blood has a higher oxygen concentration, especially when slightly modified by Charr genetics, which also have a higher capability of holding oxygen and has stronger healing factors. I have more physical strength and energy in general, and if wounded, I will heal faster with less chance of scarring."
"How easily are you to wound in this body?" Verula asked curiously. "I mean, not to offend Cyrus here, but humans tend to be fairly...fragile when compared to Charr."
She nodded to Verula. "That is true, but that's why my bones are...augmented. Laced with Deldrimor steel and maintained by internals that are a little complicated to explain easily." She chuckled and shrugged. "I am not indestructible, but I could probably go toe-to-toe with a full grown Norn or Charr, even without armor."
Her gaze shifted to Sonnya. "...and when I finish designing my armor, it will enhance my abilities even more. I'll need help for that?"
Sonnya blinked, and nodded. Without really thinking, she agreed to help. What was wrong with her? Didn't she say she wouldn't do that very thing?
Cyrus grunted, crossing his arms. "Well, at least that explains where the materials were going. Were they all for your body?"
Alice shook her head, and led them into the bay, where all kinds of strange devices stretched from the walls, rose from the floor, or descended from the ceiling. There were waldoes of many kinds, some with large industrial heads, others with heads so fine that only Sonnya could actually see their ends, using her in-head zoom. Chambers of glowing, bubbling fluid, piping moving materials of unknown nature around, all linking to an open chamber at the back of the bay against the bulkhead.
"The materials I diverted were used strictly to build the mechanisms I needed which then were used to make my body, in this chamber here." She patted the opened chamber on one of its steel ribs. "It had to be made from the inside out, piece by piece, and then cell-growth had to be cultured over it and properly attached at a microscopic level."
"Amazing..." Tenna marvelled, stepping into the chamber to examine some of the still-dripping conduits. They ended in soft pads that clearly attached to the finished body, perhaps to monitor health. "I've never seen the like outside an Inquest lab, and their stuff is...brutal by comparison."
The AI-in-body's expression took on a moue of distaste, and she crossed her arms. "The Inquest are only interested in experimenting, slapping things together or ripping them part. I was following a very delicate goal that is opposite of that."
Verula was looking at a large power capacitor across the room, running a claw over the stainless metal and feeling it resist being scratched by the pressure she applied to it. "Alice... Aspect... You made one body. How many can you functionally maintain while operating the ship? Are you able to make any more?"
Alice looked over at her, but her voice came from the walls this time, as Aspect. "Only the one. Operating a human body requires quite a bit of additional concentration. There is quite a bit that no one tells you about a living body, like the fact that the nerves are active continually. It forms a kind of overload that, while I can deal with the increased input, I cannot operate two bodies at the same time. Certainly not more."
Tenna's ears flicked up, and she lost interest in the chamber she was examining. She walked over to Alice and put a gloved hand on the taller woman's leg. "...What if your body is destroyed in battle or accident? What if the ship is destroyed somehow? What happens to YOU?" Things went silent in the bay, as everyone turned from their explorations to hear the answer. Alice looked at each of them in turn, seeing only concern in their eyes, even a bit of fear. These were her friends. Her family.
"...In the event of the death of this body, I will not actually be dead; my mind is still part of the ship, remember?" She smiled weakly. "I will just have to build a new body. If the ship is destroyed and my body isn't, I will lose a lot of my higher computational skills, but if I can connect to a new mind-core unit, I can re-expand into that and regain them. Otherwise I will just be....human. A really, really tough human with metal in my bones and all kinds of hidden upgrades, but a human."
She shrugged. "In the unlikely event that both parts of me are destroyed, and one of my cores can't be recovered.... I uploaded a 'sleeping' version of myself back to the Home Base systems. It is inactive and not operating, but it receives continuous updates from me and the ship, so it will be up to date until the moment of destruction." Alice shifted uncomfortably. "The only way to awaken THAT version of me is for one of you to give the pass-code phrase to the very-easily-recognized input prompt."
"Pass-codes? We don't have any pass-codes." Verula frowned.
"Because I have yet to give them to you. As long as you say the words in your own voice, the system will recognize you and will reactivate the Sleeper Aspect. Only one person is required to wake the Sleeper Aspect. After that...well, you would need to build a new full mind-core for it to inhabit, a new ship, eventually a new body for the next Alice." She sighed. "That Alice will still be me, like the me that is before you, but she would only remember things up until the bad stuff happened."
She spent the next few minutes going from person to person, whispering code phrases into various shapes of ears. The phrases were simple, unique, and easy to remember. Easiest to remember was best for important codes like that, ones that had a beneficial effect.
When she kneeled to whisper in Sonnya's ear, Tenna started to object. "My sister isn't part of the crew. She doesn't have access to the Home Base. Why give her a code?"
"Because she helped me, and I trust her to keep this secret." Alice replied simply, and pulled out a small device. "Including the location of Home Base, and all that entails."
Cyrus raised an eyebrow. "Are you sure? There's a reason we keep the place such a secret. Not that I don't trust Vigil or what they stand for, but wouldn't it be a bad idea to give access to one outside the circle?"
Alice glanced at him. "You have not denied me authorization to give this to her. You are asking why, but I do not think you truly believe she cannot be trusted."
He just gave a little quirk of a smile, and gestured for her to continue on.
"Sonnya, this is a gate-rerouter." She said, handing the device over carefully. It was very small, barely the size of a dagger hilt. "If you activate it before you go through an Asura-gate -- Any gate -- it will temporarily reroute you and only you to the Home Base. Do not attempt to sneak anyone else along with you through the gate, because they will get ejected immediately back to the start point."
Her eyes were dead serious, as she pressed the device into Sonnya's palm. "...I am trusting you to keep my secret, the secrets of my friends, and the secrecy of our Home Base from outsiders. Including your own Order. No one must ever find out, okay?"
Sonnya considered the little machine. It didn't weigh much, but the weight of responsibility definitely made it feel heavy. Keep it a secret from the Vigil? Should she do that? Could she? She looked around, seeing the neutral expressions on Cyrus and Verula, the nervous, pleading look on her sister's face, and finally the question in Alice's face. She slowly nodded, and slipped the device into a compartment on her armor. "I swear. I'll keep your secrets. But only if you keep mine."
Alice nodded, and behind her, Tenna nodded as well, relieved. Sonnya hadn't entirely meant that for just Alice; Tenna knew things as well. Things about her sister that were best left buried.
The ship-incarnate smiled broadly, taking her into a hug. "Thank you, Sonnya." She then whispered the passcode into her friend's ear. Whatever it was, made Sonnya's eyes widen in surprise.
"...That's the code?"
"Yes."
Alice then let her go and turned to the final member. Cyrus tipped his head, considering her; her mere existence was amazing to him. The form she had chosen, he had so many questions about. Why a human? Why that size? Why was she shorter than him? All of which could be answered at a later date. "So... my passcode is what now?"
A familiar smirk passed across Alice's features. It was familiar because it was very similar to the way he himself smirked; she really had used some of his attributes and quirks in her design. She went on her tiptoes to whisper in his ear with a quiet giggle.
Whatever she said, it made Cyrus instantly freeze up. Immediately he flushed red, and had to restrain the urge to step back from the shorter woman. Without turning his head he looked her in the eye. ".....Are you serious. That's my passcode?"
Alice's smirk widened, and she nodded, winking. "Oh come now. That is not going to be so hard to say, if the time ever comes."
"Says you." He muttered, and turned away slightly, trying to mask his face in the collar of fur of his suit. She just giggled again, and headed over to a nearby console, tapping a few commands in. "...So what kind of person are you then? Warrior? Ranger like me? Engineer?"
"Nope." Alice replied, stepping onto floor panels that lit up to her commands. She looked over at Sonnya and smiled. "Something else."
Before anyone could say anything, several waldos swung out of the walls, bringing pieces of gear. An armored belt was quickly and efficiently attached, and a sword was connected to it somehow. Two small shoulderguards were connected to her shirt, not through buttons or clips, but by the activation of small tractor fields from the inner edges. They must be pulling themselves onto her internals or something Tenna realized, recognizing basic asuran armor tech.
In asuran armor, sometimes they had floaty 'bits' that were held in place by tractors built into the armor. These were similar, except inverted so the armor pulled itself onto the wearer. It wouldn't work on anyone else...except maybe Sonnya, if her upgrades had gone that far.
Two waldos swung in from behind, one with a kind of backpack that looked like it was made of shards of jagged metal in the form of folded wings, the other holding a shield that leaked what could only be Mist energies. Cyrus immediately recognized the shield as one of the ones that had been part of the failed 'Mist Suit' personal long distance teleporter gear they'd tested last year. Again, both pieces of gear attached to Alice without physically connecting; they were held in place strictly by small tractor fields.
Finally, from the ceiling, a waldo arm holding a rather enormous sword descended, holding the blade vertically. It was a vicious looking thing with a wide, curved tip and hooked edges, and had a very Norn feel to its aesthetic. It looked impressively heavy, but Alice took it in one hand, before giving it a spin and attaching it as well to her back, sliding it under the backpiece and her shield. The great sword was almost as big as she was, and looked like it meant business.
"You designed me to protect. To be offense, and defense, of this ship, her crew, and of the world in general." Alice announced, stepping off the lit panels. She smiled at everyone. "So I took on the one profession that seemed appropriate."
"I am a Guardian."


#gw2 fanfiction#GW2 screenshots#tyrias-library#Forsaken Aspect#Alice Spekt#human guardian#AI incarnate#ship AI#my characters#Cyrus Sigismund#Verula Faithbreaker#Tenna Danae#Sonnya Danae#cloning#genetic engineering#modified human#female android#She wears bunny ears because she thinks they're funny#Not for any other reason#long fic#last chapter#Aspect Masterlist
5 notes
·
View notes
Text
Augmented Reality and drones win NY real estate hackathon
http://ift.tt/2yt5ASr
Dozens of innovators in technology and real estate spent last weekend in a fourth-floor midtown Manhattan tech incubator to devise creative ways to tackle some of the biggest problems plaguing the real estate industry.
The Real Estate Board of New York’s (REBNY) 2017 hackathon, taking place at Grand Central Tech — a tech breeding place that provides office space, resources and educational opportunities to startups at a cost — tasked 16 groups with solving issues related to building and renting housing in New York City and nationwide. Teams were given access to APIs (application programming interfaces) and datasets from REBNY and their partners.
The results were projects that ran the gamut from digitizing the antiquated lease signing process, to scanning buildings with a combination of robots and drones; and even making it easier to text building maintenance if you or a guest clog the toilet.
A judging panel of industry experts Duke Long, Sandy Jacolow, Valerie Rosenberg, Leila Collins and Damon Hernandez grilled the participants on what solutions they could offer real estate and development leaders, how they spent the weekend bolstering their tech and how, if at all, they can use their product to make money.
As a word of advice, Long let participants know halfway through that brokers “aren’t interested in paying for shit” so their marketing strategies may need to look outside of traditional subscription-based models.
The winners were broken down into several categories: AEC (architecture, engineering and construction) and development; brokerage; sustainable maintenance and operations; open hack; geospatial intelligence; and cybersecurity. Winners in each category were awarded cash prizes of $2,500, free office space for three months and a chance to compete in a three-month gauntlet challenge where they will eventually be given the opportunity to compete for additional cash and prizes.
3 essential tools that will 10X your real estate marketing
Smart landing pages, a synchronized database and automation generate results READ MORE
AEC and development
Raffi Holzer, Avvir
Avvir, a company that utilizes a light detection and ranging sensor method (LIDAR) to create comprehensive maps of development projects in an effort to eliminate costly re-work, took home the first place prize in the AEC and development category.
According to Avvir’s Raffi Holzer, construction is the world’s largest industry, but 10 percent of the money spent in the industry is wasted due to redoing work. Construction at 151 Maiden Lane in downtown Manhattan is a stark example of a costly six-week rework that resulted in the reconfiguration of an entire HVAC system.
Avvir uses autonomous drones, which are capable of navigating indoors by themselves, to capture the reality of buildings through laser scans. Those scans are then compared to a high-tech 3-D blueprint to see where deviation occurs.
Brokerage
Brian Yang took home first place in the Brokerage category for his simplified process of adding 3-D and virtual tours to listings. His method requires only one line of code for a website.
According to Yang, 90 percent of users search for homes online, and listings with VR tours get clicked on 40 percent more.
It’s difficult to add these tours because brokerages don’t often set a budget for them, Yang said, noting that on average it costs about $200 to make a 3-D tour of a property and add it to the listing. “It’s just not something that’s really easy to do,” Yang said. Though we think Zillow would beg to differ with its new 3-D capture iPhone app.
Still, Yang’s option could offer 3-D tour options outside of Zillow or other big companies’ walled gardens. Get 3-D Tours is a plugin that works like Disqus, a web commenting plug-in for sites. Simply add the line of script to the site and the plugin adds a 3-D tour button.
VIDEO
The brokerages have to create the tour themselves and upload the images to the site, which then uses Yang’s technology to create the tour. The whole process can take less than 10 minutes with a 3-D camera, according to Yang, who hours earlier did exactly that for a multi-million Manhattan apartment listing.
Sustainable maintenance and operations
Augmented Estate and Enertiv split the top prize in the sustainable maintenance and operations category.
The former uses augmented reality to display a building’s sensor and factual data in real time as a user walks around the space. There’s a large tactical and practical use for myriad customers. Renters could see when the windows were replaced, for instance, or learn other details about a place they are interested in signing a lease on; or a building manager could use the app to see where HVAC work was located in the ceiling.
Anecdotally, Jacolow seemed like he could have used Augmented Estate just last week at one of Silverstein’s properties:
“My guys spent two hours trying to find access points in the ceiling,” he said.
With Augmented Estate, they would have had a colorful diamond beacon to guide the way.
Splitting the money with Augmented Estate was Enertiv, a point and shoot analog meter scanner that allows for tenants to invoice online via a cloud server, and gathers building data.
Open hack
In the open hack category, Cherre won over judges with a tool that separates a home’s closing price from the ACRIS (automated city register information system) sale price.
ACRIS, the official New York City register of homes sold, includes both city and state taxes, as well as recording fees, all of which are often paid by different parties during a real estate transaction. That complicates the process of finding a sell price (especially to aggregate for statistics) because analytics experts are having to deal with “packed numbers.”
Geospatial intelligence
While it’s not explicitly marketed to real estate leaders, Rescue was winner in the geospatial intelligence category with their app that aims to eliminate the middle-man of calling a dispatcher in an emergency situation. Instead, the app lets users report an emergency to authorities directly using cellular data or wireless internet.
The app locates the user’s exact address and floor in a building or pinpoint on a map. Users create a profile with as little or as much information as they choose to provide about medical history and emergency contacts.
As data is collected over time, it could be useful to planners in terms of creating heat maps of emergency response times, or common issues that plague an area, ie: too many traffic accidents in one area, making for a perilous walk to school for kids or poorly cleared sidewalks during snowstorms resulting in a lot of slip-and-fall injuries.
Cybersecurity
David Bren of MapD won the cybersecurity category with a tool he built to stop malware and ransomware. The tool constantly performs scans, analyzing every bit of data running on the computers, and immediately removes anything out of the ordinary.
Users have access to a control panel and could decide to allow or disallow any new applications, so the machine doesn’t automatically delete all new applications. Because of this, no internal processes would be changed without the knowledge of an administrator.
Currently it will only run on Windows, but Salsa is working on the backend to make it compatible with both MAC and Linux in the near future.
Email Patrick Kearns.
from InmanInman http://ift.tt/2x4l8ub via IFTTT
0 notes
Text
Lynxmotion Quadrino Nano – Raw Sensor Values
The Lynxmotion Quadrino Nano Flight Controller (with GPS) was originally designed as a flight controller for drones but, it also has awesome applications for robotic rovers too. Composed of an ATmega2560 (Arduino Mega Chipset), a collection of sensors, GPS and a host of I/O options it is an ideal “sensor ball” for navigation, positioning and more.
Lynxmotion Quadrino Nano
In this tutorial we’ll be working with a small Arduino program that will give us data from:
the MPU-9150 (gyroscope, accelerometer, magnetometer)
the MS5611 (barometer)
the Venus838FLP (GPS module)
based on the serial command we send to the Arduino. This will give us a starting point for understanding and utilizing the Quadrino Nano’s sensors. In future tutorials we will reference this one as we put this unit to work!
Requirements
Arduino IDE
Lynxmotion Quadrino Nano Flight Controller (with GPS)
The Quadrino-Nano-sensor files (github)
Helpful Experience
This tutorial is targeted at beginners, but some experience with the the Arduino IDE and C++ files (.cpp and .h) is helpful but, not required.
Download and open the files
First, download the files. Second, navigate to the Arduino IDE and go to “Sketch/Include Library/Add .ZIP Library and select ZIP file you just downloaded.
(if you need any help with this step see http://ift.tt/2osKOkd).
Arduino IDE – Library Install
Then navigate to your Arduino Examples folder. Towards the bottom of the list you will see an item called “QuadrinoNano_SensorDataLibrary”, navigate there and click the “QuadrinoNano_SensorData” item.
Arduino IDE – Quadrino Example
Upload files to the Quadrino Nano
Next we’re going to upload the files to the Quadrino Nano and work with the code before we dive into the specifics.
Lynxmotion Quadrino Nano – USB Connection
First we need to plug the Quadrino Nano into our computer. Once we have the unit plugged into the computer we need to do two things before we can upload the code.
Arduino IDE – Board
First select the correct Arduino “Board” for the Quadrino Nano from the “Tools” menu. As we discussed above, the Quadrino Nano is an ATmega2560 at heart so we need to select either be the “Arduino/Genuino Mega or 26560” or the “Arduino Mega ADK” depending on your configuration (I had more success uploading with “Arduino Mega ADK”).
Arduino IDE – Port
Second select the appropriate port for your Arduino. If you’re on Windows this may be “COM” followed by a number, on Mac it may be “tty” or something even wilder (like the picture shows below).
Arduino IDE – Upload
Once we have the port and board selected we’re ready to upload the sketch. To upload the sketch, you can press the arrow as shown in the image below or go to “Sketch/Upload” in the menu bar.
Arduino IDE – Uploaded
After uploading you should see a message like the one below without any orange error messages.
If you do have errors, there’s a few things to check:
Make sure the Quadrino Nano is plugged in (this happens to me all the time)
Make sure the proper “Board” is selected from the tools menu
Make sure the proper “Port” is selected from the tools menu
Copy the error message and paste it in Google, often there will be a blog article or a Stack Overflow question about the issue
Check the official Arduino site especially the troubleshooting section
Run some commands
Arduino IDE – Serial Monitor
Now that we have everything uploaded, its time to run some commands. In order to do that we need to open the serial port by pressing the little magnifying glass icon as illustrated in the image below.
Arduino IDE – Serial Settings
Often when we open the Serial Monitor we just see garbage (as you can see in the image below), this usually means we need to set the baud rate to match our project. The baud rate needs to be set to “57600” and line endings should be set to “Both CL & NL”. Use the diagram below to find and set these settings.
Arduino IDE – Serial Commands
Now that all our settings are correct you should see the printout like the image below (if you see some garbage at the very top of the Serial Monitor, don’t worry, that happens when the serial port still has data in it that hasn’t been cleared out).
When you type in a number and press return, the Quadrino Nano starts reading that sensor and will keep reporting its value at a predefined interval until you press enter to stop reading from the sensors (barometer and temperature only read once and stop).
After you’ve had a chance to experiment, we’ll look into some of the details of how we get data from these different sensors.
Diving into the sensor commands
Probably the best way to get an understanding of how we read and interact with the Quadrino Nano’s sensors is to take a look at the code itself. The function names are fairly self explanatory and the included notes by the original developers and myself attempt to make these files as readable as possible. That said, we will take a little time to look at the basics of each sensor below.
MPU-9150 commands and function files
The MPU-9150 is an Accelerometer, Gyroscope and Compass in a single chip. From the manufacturers (InvenSense) website:
The MPU-9150 is a System in Package (SiP) that combines two chips: the MPU-6050, which contains a 3-axis gyroscope, 3-axis accelerometer, and an onboard Digital Motion Processor™ (DMP™) capable of processing complex MotionFusion algorithms; and the AK8975, a 3-axis digital compass. The part’s integrated 6-axis MotionFusion algorithms access all internal sensors to gather a full set of sensor data.
We communicate with it via I2C using the Arduino Wire Library. We read data from the accelerometer, gyroscope and compass in the same way by using a predefined function and predefined register addresses (often doing a two byte read, once for the low byte and again for the high byte).
/* Example - Read the value of the compass X-axis and save the value to a floating point variable called "compass_x_axis_value" MPU9150_readSensor(low_byte,high_byte) MPU9150_CMPS_XOUT_L = Compass X-axis low byte MPU9150_CMPS_XOUT_H = Compass X-axis high byte */ float compass_x_axis_value = MPU9150_readSensor(MPU9150_CMPS_XOUT_L,MPU9150_CMPS_XOUT_H);
All of these register addresses are defined in “MPU9150.h” (included with the sketch). Below is a list of useful functions for reading the basics of the MPU-9150 when used in conjunction with “MPU9150.h”.
// Clear the 'sleep' bit to start the sensor. MPU9150_writeSensor(MPU9150_PWR_MGMT_1, 0); // Start the compass MPU9150_setupCompass(); // Read the Accelerometer MPU9150_readSensor(MPU9150_ACCEL_XOUT_L,MPU9150_ACCEL_XOUT_H); // X-Axis MPU9150_readSensor(MPU9150_ACCEL_YOUT_L,MPU9150_ACCEL_YOUT_H); // Y-Axis MPU9150_readSensor(MPU9150_ACCEL_ZOUT_L,MPU9150_ACCEL_ZOUT_H); // Z-Axis // Read the Gyroscope MPU9150_readSensor(MPU9150_GYRO_XOUT_L,MPU9150_GYRO_XOUT_H); // X-Axis MPU9150_readSensor(MPU9150_GYRO_YOUT_L,MPU9150_GYRO_YOUT_H); // Y-Axis MPU9150_readSensor(MPU9150_GYRO_ZOUT_L,MPU9150_GYRO_ZOUT_H); // Z-Axis // Read the Compass MPU9150_readSensor(MPU9150_CMPS_XOUT_L,MPU9150_CMPS_XOUT_H); // X-Axis MPU9150_readSensor(MPU9150_CMPS_YOUT_L,MPU9150_CMPS_YOUT_H); // Y-Axis MPU9150_readSensor(MPU9150_CMPS_ZOUT_L,MPU9150_CMPS_ZOUT_H); // Z-Axis
With these commands and the “MPU9150.h” you can easily get accelerometer, gyroscope and compass data from the MPU09150.
NOTE:The source of the “MPU9150.h” file is http://ift.tt/2oIzDzM. Additional details about the file are available there.
MS5611 commands and function files
The MS5611 chip gives us altitude, barometric pressure and temperature. Like the MPU-9150, we communicate with it via I2C. There are a few basic commands defined in MS5611.h and MS5611.cpp that we use to get the readings from the chip (everything else in these files deals with I2C communications). The function names do a good job of explaining what each of these functions does.
uint32_t readRawTemperature(void); uint32_t readRawPressure(void); double readTemperature(bool compensation = false); int32_t readPressure(bool compensation = false); double getAltitude(double pressure, double seaLevelPressure = 101325);
The MS5611 chip is very easy to use:
Simply including the MS5611.h and MS5611.cpp files in your Arduino sketch
Include Wire.h
Start Wire in “void setup()"
Execute one of the functions listed above, and that’s it
That’s it!
NOTE:The source of the MS5611 library is http://ift.tt/2oIGKIv. Additional details about the library are available there.
Venus838FLP commands and function files
The Venus 838FLP GPS module was the most difficult to find a simple working library for. After some research, I decided to start with the MultiWii drone software and delete as much of the unnecessary functionality as I could to give us the leanest GPS library possible. There may be ways to further optimize the code, but I’ve tried to leave it robust and useful for as wide an array of applications as possible.
The Venus communicates via Serial unlike our other two sensors which use I2C. In our sketch, we’re doing three things to get data from the GPS module:
Include the Venus838FLP.h file in our sketch
Start the module by executing “GPSModuleInit()" and “GPSConfigureDefaults()" in our “void setup()"
Run “VenusReadAndPrint(2000)" whenever we want a reading.
"VenusReadAndPrint(2000)" reads the data from the GPS module with a timeout of 2000ms. This is a function I created to display the data and is defined at the bottom of the Venus838FLP.h file. “VenusReadAndPrint()" calls a function “VenusDispatchMessage(int result)" (defined right above “VenusReadAndPrint()") that looks like this:
void VenusDispatchMessage(int result){ //f.GPS_FIX = venus_ctx.location.fixmode >=2; Serial.print("Latitude: "); Serial.print(float(venus_ctx.location.latitude/10000000.000000),6); // With 1.9 now we have real 10e7 precision Serial.print("\t Longitude: "); Serial.print(float(venus_ctx.location.longitude/10000000.000000),6); Serial.print("\t Altitude: "); Serial.print(float(venus_ctx.location.sealevel_alt /100)); Serial.print("m \t Satelite Count: "); Serial.println(venus_ctx.location.sv_count); //GPS_coord[LON] = venus_ctx.location.longitude; //GPS_altitude = venus_ctx.location.sealevel_alt /100; // altitude in meter //GPS_numSat = venus_ctx.location.sv_count; // note: the following vars are currently not used in nav code -- avoid retrieving it to save time // also, Venus8 doesnt provide these in a way that we can easily calculate without taking cpu cycles //GPS_speed = venus_ctx.location.ground_speed; // in m/s * 100 == in cm/s //GPS_ground_course = venus_ctx.location.ground_course/100; //in degrees }
This function contains all the variables and values you would need to create almost any application that uses GPS. Feel free to modify “VenusReadAndPrint" and “VenusDispatchMessage" to create your own functions that store the GPS data to global variables or return values for setting local variables and more.
NOTE: The MultiWii source is availble here: http://ift.tt/1hkZOHk.
Conclusion
As we can see, the Lynxmotion Quadrino Nano Flight Controller (with GPS) is an ideal “sensor ball” for all kinds of sensor intensive projects. The sample code has a fairly small footprint (6% of memory and 47% of dynamic memory) and could easily be optimized further by removing variables and trimming the libraries/sensor functions to include only the exact code your specific application needs (we included the seemingly redundant functions in order to facilitate the greatest range of applications that readers of this tutorial may wish to create).
Happy making!
Continued reading
Library/Sensor Function Sources
MultiWii Source http://ift.tt/1hkZOHk
MS5611 Source http://ift.tt/2oIGKIv
MPU9510 Source http://ift.tt/2oIzDzM
Quadrino Nano Useful Links (RobotShop)
Quadrino Nano Useful Links (Lynxmotion)
Related Stories
Lynxmotion Quadrino Nano – Sensor Calibration
Lynxmotion Quadrino Nano – MultiWii & LED Ring
Lynxmotion Quadrino Nano – MultiWii Data Logging
from RobotShop Blog Feed http://ift.tt/2osC51q via IFTTT
0 notes
Text
Lynxmotion Quadrino Nano – Raw Sensor Values
The Lynxmotion Quadrino Nano Flight Controller (with GPS) was originally designed as a flight controller for drones but, it also has awesome applications for robotic rovers too. Composed of an ATmega2560 (Arduino Mega Chipset), a collection of sensors, GPS and a host of I/O options it is an ideal “sensor ball” for navigation, positioning and more.
Lynxmotion Quadrino Nano
In this tutorial we’ll be working with a small Arduino program that will give us data from:
the MPU-9150 (gyroscope, accelerometer, magnetometer)
the MS5611 (barometer)
the Venus838FLP (GPS module)
based on the serial command we send to the Arduino. This will give us a starting point for understanding and utilizing the Quadrino Nano’s sensors. In future tutorials we will reference this one as we put this unit to work!
Requirements
Arduino IDE
Lynxmotion Quadrino Nano Flight Controller (with GPS)
The Quadrino-Nano-sensor files (github)
Helpful Experience
This tutorial is targeted at beginners, but some experience with the the Arduino IDE and C++ files (.cpp and .h) is helpful but, not required.
Download and open the files
First, download the files. Second, navigate to the Arduino IDE and go to “Sketch/Include Library/Add .ZIP Library and select ZIP file you just downloaded.
(if you need any help with this step see http://ift.tt/2osKOkd).
Arduino IDE – Library Install
Then navigate to your Arduino Examples folder. Towards the bottom of the list you will see an item called “QuadrinoNano_SensorDataLibrary”, navigate there and click the “QuadrinoNano_SensorData” item.
Arduino IDE – Quadrino Example
Upload files to the Quadrino Nano
Next we’re going to upload the files to the Quadrino Nano and work with the code before we dive into the specifics.
Lynxmotion Quadrino Nano – USB Connection
First we need to plug the Quadrino Nano into our computer. Once we have the unit plugged into the computer we need to do two things before we can upload the code.
Arduino IDE – Board
First select the correct Arduino “Board” for the Quadrino Nano from the “Tools” menu. As we discussed above, the Quadrino Nano is an ATmega2560 at heart so we need to select either be the “Arduino/Genuino Mega or 26560” or the “Arduino Mega ADK” depending on your configuration (I had more success uploading with “Arduino Mega ADK”).
Arduino IDE – Port
Second select the appropriate port for your Arduino. If you’re on Windows this may be “COM” followed by a number, on Mac it may be “tty” or something even wilder (like the picture shows below).
Arduino IDE – Upload
Once we have the port and board selected we’re ready to upload the sketch. To upload the sketch, you can press the arrow as shown in the image below or go to “Sketch/Upload” in the menu bar.
Arduino IDE – Uploaded
After uploading you should see a message like the one below without any orange error messages.
If you do have errors, there’s a few things to check:
Make sure the Quadrino Nano is plugged in (this happens to me all the time)
Make sure the proper “Board” is selected from the tools menu
Make sure the proper “Port” is selected from the tools menu
Copy the error message and paste it in Google, often there will be a blog article or a Stack Overflow question about the issue
Check the official Arduino site especially the troubleshooting section
Run some commands
Arduino IDE – Serial Monitor
Now that we have everything uploaded, its time to run some commands. In order to do that we need to open the serial port by pressing the little magnifying glass icon as illustrated in the image below.
Arduino IDE – Serial Settings
Often when we open the Serial Monitor we just see garbage (as you can see in the image below), this usually means we need to set the baud rate to match our project. The baud rate needs to be set to “57600” and line endings should be set to “Both CL & NL”. Use the diagram below to find and set these settings.
Arduino IDE – Serial Commands
Now that all our settings are correct you should see the printout like the image below (if you see some garbage at the very top of the Serial Monitor, don’t worry, that happens when the serial port still has data in it that hasn’t been cleared out).
When you type in a number and press return, the Quadrino Nano starts reading that sensor and will keep reporting its value at a predefined interval until you press enter to stop reading from the sensors (barometer and temperature only read once and stop).
After you’ve had a chance to experiment, we’ll look into some of the details of how we get data from these different sensors.
Diving into the sensor commands
Probably the best way to get an understanding of how we read and interact with the Quadrino Nano’s sensors is to take a look at the code itself. The function names are fairly self explanatory and the included notes by the original developers and myself attempt to make these files as readable as possible. That said, we will take a little time to look at the basics of each sensor below.
MPU-9150 commands and function files
The MPU-9150 is an Accelerometer, Gyroscope and Compass in a single chip. From the manufacturers (InvenSense) website:
The MPU-9150 is a System in Package (SiP) that combines two chips: the MPU-6050, which contains a 3-axis gyroscope, 3-axis accelerometer, and an onboard Digital Motion Processor™ (DMP™) capable of processing complex MotionFusion algorithms; and the AK8975, a 3-axis digital compass. The part’s integrated 6-axis MotionFusion algorithms access all internal sensors to gather a full set of sensor data.
We communicate with it via I2C using the Arduino Wire Library. We read data from the accelerometer, gyroscope and compass in the same way by using a predefined function and predefined register addresses (often doing a two byte read, once for the low byte and again for the high byte).
/* Example - Read the value of the compass X-axis and save the value to a floating point variable called "compass_x_axis_value" MPU9150_readSensor(low_byte,high_byte) MPU9150_CMPS_XOUT_L = Compass X-axis low byte MPU9150_CMPS_XOUT_H = Compass X-axis high byte */ float compass_x_axis_value = MPU9150_readSensor(MPU9150_CMPS_XOUT_L,MPU9150_CMPS_XOUT_H);
All of these register addresses are defined in “MPU9150.h” (included with the sketch). Below is a list of useful functions for reading the basics of the MPU-9150 when used in conjunction with “MPU9150.h”.
// Clear the 'sleep' bit to start the sensor. MPU9150_writeSensor(MPU9150_PWR_MGMT_1, 0); // Start the compass MPU9150_setupCompass(); // Read the Accelerometer MPU9150_readSensor(MPU9150_ACCEL_XOUT_L,MPU9150_ACCEL_XOUT_H); // X-Axis MPU9150_readSensor(MPU9150_ACCEL_YOUT_L,MPU9150_ACCEL_YOUT_H); // Y-Axis MPU9150_readSensor(MPU9150_ACCEL_ZOUT_L,MPU9150_ACCEL_ZOUT_H); // Z-Axis // Read the Gyroscope MPU9150_readSensor(MPU9150_GYRO_XOUT_L,MPU9150_GYRO_XOUT_H); // X-Axis MPU9150_readSensor(MPU9150_GYRO_YOUT_L,MPU9150_GYRO_YOUT_H); // Y-Axis MPU9150_readSensor(MPU9150_GYRO_ZOUT_L,MPU9150_GYRO_ZOUT_H); // Z-Axis // Read the Compass MPU9150_readSensor(MPU9150_CMPS_XOUT_L,MPU9150_CMPS_XOUT_H); // X-Axis MPU9150_readSensor(MPU9150_CMPS_YOUT_L,MPU9150_CMPS_YOUT_H); // Y-Axis MPU9150_readSensor(MPU9150_CMPS_ZOUT_L,MPU9150_CMPS_ZOUT_H); // Z-Axis
With these commands and the “MPU9150.h” you can easily get accelerometer, gyroscope and compass data from the MPU09150.
NOTE:The source of the “MPU9150.h” file is http://ift.tt/2oIzDzM. Additional details about the file are available there.
MS5611 commands and function files
The MS5611 chip gives us altitude, barometric pressure and temperature. Like the MPU-9150, we communicate with it via I2C. There are a few basic commands defined in MS5611.h and MS5611.cpp that we use to get the readings from the chip (everything else in these files deals with I2C communications). The function names do a good job of explaining what each of these functions does.
uint32_t readRawTemperature(void); uint32_t readRawPressure(void); double readTemperature(bool compensation = false); int32_t readPressure(bool compensation = false); double getAltitude(double pressure, double seaLevelPressure = 101325);
The MS5611 chip is very easy to use:
Simply including the MS5611.h and MS5611.cpp files in your Arduino sketch
Include Wire.h
Start Wire in “void setup()"
Execute one of the functions listed above, and that’s it
That’s it!
NOTE:The source of the MS5611 library is http://ift.tt/2oIGKIv. Additional details about the library are available there.
Venus838FLP commands and function files
The Venus 838FLP GPS module was the most difficult to find a simple working library for. After some research, I decided to start with the MultiWii drone software and delete as much of the unnecessary functionality as I could to give us the leanest GPS library possible. There may be ways to further optimize the code, but I’ve tried to leave it robust and useful for as wide an array of applications as possible.
The Venus communicates via Serial unlike our other two sensors which use I2C. In our sketch, we’re doing three things to get data from the GPS module:
Include the Venus838FLP.h file in our sketch
Start the module by executing “GPSModuleInit()" and “GPSConfigureDefaults()" in our “void setup()"
Run “VenusReadAndPrint(2000)" whenever we want a reading.
"VenusReadAndPrint(2000)" reads the data from the GPS module with a timeout of 2000ms. This is a function I created to display the data and is defined at the bottom of the Venus838FLP.h file. “VenusReadAndPrint()" calls a function “VenusDispatchMessage(int result)" (defined right above “VenusReadAndPrint()") that looks like this:
void VenusDispatchMessage(int result){ //f.GPS_FIX = venus_ctx.location.fixmode >=2; Serial.print("Latitude: "); Serial.print(float(venus_ctx.location.latitude/10000000.000000),6); // With 1.9 now we have real 10e7 precision Serial.print("\t Longitude: "); Serial.print(float(venus_ctx.location.longitude/10000000.000000),6); Serial.print("\t Altitude: "); Serial.print(float(venus_ctx.location.sealevel_alt /100)); Serial.print("m \t Satelite Count: "); Serial.println(venus_ctx.location.sv_count); //GPS_coord[LON] = venus_ctx.location.longitude; //GPS_altitude = venus_ctx.location.sealevel_alt /100; // altitude in meter //GPS_numSat = venus_ctx.location.sv_count; // note: the following vars are currently not used in nav code -- avoid retrieving it to save time // also, Venus8 doesnt provide these in a way that we can easily calculate without taking cpu cycles //GPS_speed = venus_ctx.location.ground_speed; // in m/s * 100 == in cm/s //GPS_ground_course = venus_ctx.location.ground_course/100; //in degrees }
This function contains all the variables and values you would need to create almost any application that uses GPS. Feel free to modify “VenusReadAndPrint" and “VenusDispatchMessage" to create your own functions that store the GPS data to global variables or return values for setting local variables and more.
NOTE: The MultiWii source is availble here: http://ift.tt/1hkZOHk.
Conclusion
As we can see, the Lynxmotion Quadrino Nano Flight Controller (with GPS) is an ideal “sensor ball” for all kinds of sensor intensive projects. The sample code has a fairly small footprint (6% of memory and 47% of dynamic memory) and could easily be optimized further by removing variables and trimming the libraries/sensor functions to include only the exact code your specific application needs (we included the seemingly redundant functions in order to facilitate the greatest range of applications that readers of this tutorial may wish to create).
Happy making!
Continued reading
Library/Sensor Function Sources
MultiWii Source http://ift.tt/1hkZOHk
MS5611 Source http://ift.tt/2oIGKIv
MPU9510 Source http://ift.tt/2oIzDzM
Quadrino Nano Useful Links (RobotShop)
Quadrino Nano Useful Links (Lynxmotion)
Related Stories
Lynxmotion Quadrino Nano – Sensor Calibration
Lynxmotion Quadrino Nano – MultiWii & LED Ring
Lynxmotion Quadrino Nano – MultiWii Data Logging
from RobotShop Blog Feed http://ift.tt/2osC51q via IFTTT
0 notes