Sunday, February 7, 2016

Robotics Challenge 4: Computer Vision and Automatic Targeting

In our upcoming competition, our driver with the joystick needs to hit the targets with high accuracy and hopefully the robot can score on its own in the initial 15 second autonomous mode. Yes, I'm helping the children of tomorrow design Skynet. Image recognition on the robot's webcam can help with a wide range of areas: automatically traversing the see-saw obstacle by recognizing the raised board to lower, detecting field position via landmarks, and fine-tuning the robot's position at the last moment to hit the goal better.

How do we recognize an object from a computer picture? We start with several photos of the item in question under realistic game conditions. To the left, you see a plywood model of the game goal. Note that the special 3M reflective tape on the bottom that responds to the green LED on our robot. To make this stand out more, we should lower the camera's brightness setting and turn off white balancing. Then, we convert the goal color from RGB to HSV: hue, saturation, and brightness/intensity.  Hue covers the rainbow spectrum, with this shade of green between .33 and .6 depending on the photo we analyzed. We'll leave it vague until the competition, when we can fine-tune the precise value. Saturation means the amount of color present. Since this is mostly white (all colors combined), the saturation value will be under .2. At an intensity of at least .9, the target glows brightly, but not as much a light source (.98). In step two, we filter the image into a black and white photo, where white is sources that match our parameters and black is excluded. Note that in the second image has false positives. Therefore, our next step is to make a list of contiguous blobs. The right one has about 12. Our goal is a box with a proportion 14 by 19.5 inches. Based on possible distances, we know the max and min box size. We also know that 28% of the box should be lit. We filter out everything that isn't goal-shaped on these criteria, and outline the matches in red.

This view can be converted to a distance and the current angle of approach in order to adjust our robot's position.

Here are other filters and types of targets like balls and blue lights.
Now all we need is a drive train and for the kids to integrate the vision recognition into the driving software.

Saturday, February 6, 2016

Robotics Challenge 3: Strategy

We have 6 weeks to prepare for the FIRST robotics competition. Our primary goals are to be able to traverse obstacles and shoot balls at tower windows to score. During week three, our drive-train still isn't done, so I analyzed the game rules. Every good gamer does this. I helped the kids piece together how the game is played, what is a penalty, and what earns points. Next, I designed a strategy map for building a team play book and communicating to allied teams during a competition (left). This shows the entire field, including towers, obstacles, and balls.

The simplest inferences were about firing positions. There are a number of positions on the field where other robots can't bump into you or block you. Therefore, this areas act as sniper nests. (right)

Moreover, the three tower goals have only about a forty degree range of access, Any attempt at a goal beyond this range will likely hit the goal support structure and bounce off. Still, the zones overlap (purple on map below). A sniper in this zone has choice of targets. As you can see, entrance two puts us firmly in this magic zone.

Many of my observations dealt with robot roles on the team (attacker, defender, or sapper) and how they can score/prevent the most points. I did an analysis of the minimum possible score for a win and the estimated time for each operation. Initially, our team designed for the low goal (2 points each) because aiming for the high goal (5 points) seemed too hard. Then I pointed out two key facts. First, a high goal shooter with a 25% accuracy will out score a low goal shooter with a 90% accuracy--due to the difference in points as well as the high amount of time needed to get a fresh ball rather than your own rebound. 

I built an excel spreadsheet that showed that our prototype wooden launcher without certain features could peg the high goal from the white line marked on the map above.  Once we cross the defenses, this line is only 7 inches from the front of our shooter arm! The official launcher will shoot faster. Indeed, low goal attempts had to be from closer due to the shallow angle of attack (4-5 degrees) required until you get within 5 feet. Encouraged, the team shifted strategy.
On a whim, I looked for ways to score even if being blocked by an enemy robot. The result was the bank-shot chart. While not feasible without a launcher speed I've dubbed "hammer of the gods" range, it would be a real crowd pleaser. 

My last challenge for the team while the robot was still being assembled was to teach computer vision to the kids so they the robot could recognize the goals on our camera and allow automated scoring,

Tuesday, February 2, 2016

Robotics Challenge 2: Building the Tests

As a mentor for the local 4H team (Team Facebook Page), I spent a couple weeks helping the kids build wooden mock ups of the challenges they'll be facing in six weeks. We started with the official FIRST specs and showed the kids how to build a bill of materials for a project. Several of the mentors donated lumber and the team paid for any hardware that remained. Adults ran the table saw for the huge pieces of OSB, but always had a team member in goggles spotting. Otherwise, the kids did the measuring, marking, jigsawing, drilling, screwing, etc.  

This year's FIRST challenge has a medieval theme, where robots cross elaborate defenses in order to launch "boulders" at the opponent's tower. The upper windows are high goals with 5 points each and the lower archways are worth only 2 points each. Therefore, that was the first aid we needed. Unlike the high-school team, we meet in a residential basement, so we can't build the whole 9.5 foot tall, 4 four wide beast. I had to break it apart into segments, each 3 feet high in order to fit into a van when we take our show to the county fair. This also meant limiting the upper two stories to one side each.
We were quite proud of the craftsmanship of the lower floor, but didn't take time for photos. Here is a snapshot from the FIRST video above. Note that those LED lights are $895 for a string of 50. We won't see the real things until the tournament in Duluth.

The upper window of ours it detachable so that our camera team can play with it. The box around the bottom is a special 3M reflective tape that can be used for machine vision. Our robot will aim for the box when shooting. Our camera (connected up to my computer in this instance) is surrounded by a bright green ring of lights to make the tape a specific color from our point of view.

Next, we constructed the enemy "defenses", the obstacles our robot has to be able to overcome. We built one 2 foot by 4 foot hold with the ramps on each side and drop in each of the eight choices : moat, rock wall, rough terrain, ramparts, portcullis, etc. Since the portcullis is six feet tall and we ran out of room in the storage shed outside, we decided not to build the elaborate metal drawbridge or sally port. The local high-school team (with 30 members) graciously offered to let us borrow theirs.

My favorite obstacle was the "cheval de frise". This sounds too much like a type of poodle, so we call it the see-saw. The others, our design could breeze over. We even had minor shock absorbers in case we became airborne on the ramps. However, the see-saws would require a manipulator arm to lower the left center board so we can slowly drive over the three boards on the left.

Because we couldn't build any more, I turned my obsessive thoughts to the game manual and points of strategy. As a former tester and gamer, I knew that every rule system had loopholes and sweet spots.

Monday, February 1, 2016

Robotics Challenge 1 : Design and Plan

Since Jan 9, I've been spending every weekend, holiday, and evening as one of the mentors for our local 4H robotics team (Team Facebook Page). My thirteen-year-old son wanted to join this year, and I thought it would be a good bonding experience for us. There are only about 39 more months until he graduates high school, and these are the sorts of kids I'd like him hanging out with. I've decided to do a series of blog entries to chronicle our adventure.

The FIRST robotics program was developed to encourage high school student to become involved in science and technology. Dean Kamen, the inventor of the Segway and those new Coke machines, is one of the founders. Each year, FIRST invents a new game to challenge the students. This year's challenge has a medieval theme, where robots cross elaborate defenses in order to launch "boulders" at the opponent's tower. The team has six weeks to design and build the robot from scratch.

On day one, they were buzzing with ideas. The team listed a prioritized their goals for the season. The robot couldn't do everything, so they decided what it should do first and best.

They agreed on the type of drive train and ball launcher fairly quickly. However, they weren't certain which tread configuration would be the most stable rolling over obstacles. Some people worried it might tip. The mentors suggested that they take the evening to build a wooden prototype and apply 110 pounds of weight. We constructed a model but had no weights--these are geeks not athletes.

My son, Pierce, weighs 112. So the team placed him on the model and ran him over simulated obstacles, trying to tip him. The design was rock-solid. I watched Pierce light up for the first time since his discovered Pokemon or iPods.

We divided into teams such as mechanical, electrical, pneumatics, and programming. As a retired programmer for HP, I looked forward to working with the kids on the code, but first we needed a robot. What was I going to do with the kids with nothing to do or until the team leaders arrived each meeting. I decided to build obstacles and tower goals with them.

Tuesday, November 17, 2015

Building a Wall

Robert Heinlein said that a true man doesn't specialize in just one thing his entire life. He has to learn many things, and at least once, he should build a wall. Ironically, it started as a Mother's Day gift of live lilac plants of many colors to my wife. My son and I thought we'd just pull a few weeds in the existing flower bed, dig a few holes, and viola. The married men in the audience are already chuckling or moving stealthily toward a convenient exit. People ask me how I get my story ideas, and they usually start by suckering the main character in with something that sounded like a good idea at the time.
   First, we had to entirely regrade the flower bed to drain water away from the house. You see, the original owner sort of piled more dirt there each year and rain/spring thaw channels right past that basement window you see to the left. That meant removing the trellis work and clearing excess dirt from the gravel drainage we installed a few years ago. Children have small hands, so they work well for this. The excess dirt got spread over the garden. While we were under there, we found out that after 14 years, the landscape timber retaining wall was rotten and the downspouts on both sides were contributing to the problem.

   I bought spout extenders at Menards, but timbers for another 10 years would cost as much as the cinderblock walls they have on sale. "Who wants to do this again when we're ten years older?" my wife asks. Let's do it right the first time. Since the blocks are 58 pounds each, hauling them would take several trips. I decided to start with the three-layer side to learn the ropes. Consult your own DIY source for legally binding tips. This blog is for entertainment purposes only.
  Step one is demolition. Okay, we had to start with fumigating the hornets, but you get the idea. Digging up the ties buried underground was the hardest and required a lot of leverage. Again, children love to dangle from the end of long poles if you tell them it's like being on a playground.
   Did I mention the large, waddling creature that made it's home back there? Hmm. We had to refill and level the area under the deck stairs with pavers to make the steps stable and keep the critter from returning. We used dirt from the garden to fill. Didn't I see this scene in "Cool Hand Luke?" Then I sprinkled the wall base with sand to make it perfectly flat. The first layer is dead simple to lay. Anyone with a two-by-four and the ability to lift that amount of weight while hunched over double and bowlegged can do it. You need to slide the first row forward a couple inches because each row sits back a little more. The sand just off the edge of the sidewalk makes a perfect place for the locking lip on the bottom back of the blocks to rest. I filled the hollow parts with dirt to make the platform more level and stable.
   Now we have an issue. The best walls stagger by a half block each row. That meant carefully splitting a block for each level. I considered renting a power splitter, but the cost would have been more than the wall itself. The guy assured me it was easy to break myself. He said to score it all around with a screwdriver and hit it with a rubber mallet. Not in your wildest dreams. I eventually managed it with several passes of a chisel and a baby sledge, but this caved in part of the hollow block. With a little practice, I mastered this art, though. The V groove in the back sides is the key. Etch all the way around with your chisel, but on the second pass, pound hard in this V. It should sound different and sink in deeper the further down the line you travel. A quarter of the way, you can see fissures forming. At the halfway mark, it splits. Like is was made for it. Show this version to your kids, and toss the other one you practiced on. You'll want a few extras anyway because the store will discontinue the model you bought at the end of the year, making future maintenance impossible.
  Continue on, back-filling and leveling at each layer. If something leans, redo it now in minutes. The top layer is a thinner, solid capstone that weighs the same amount as the whole hollow block. Don't buy the universal caps, because they aren't universal, no matter what the guy at the register says. Get the ones sitting next to your blocks in the yard.
  Now, you get to run the drain hoses, reattach the lattice, fence in the flower bed, put down landscape fabric, spread rubber mulch, and rehome all the plants you dug up in the process. Finally, this is what the lilacs looked like. I was proud of how it all turned out. Okay, in a few years, they'll be really pretty. We just have to water them every day for a while.

Monday, October 12, 2015

Cover Reveal: Children of Ur

The Dwarven Rebellion puts the nasty back into dynasty.

By right of conquest, Joseph Redwing rules the modern kingdom of Ur. Dwarves are notoriously easy to offend and want to start a war with the Elves. By trying to prevent this disaster, he somehow turns the entire underworld upside down. His only allies are a possible werewolf with dreadlocks, a teleporting pre-med student, and a druid rock star. Redwing doesn’t want the job anymore, but his wife won’t survive without the healing power of his crown.

Tuesday, July 28, 2015

Preview -- Children of Ur

I just finished almost a year of work writing, editing, and promoting the first three books of my new Gigaparsec space opera series. I have book four plotted, named, and the first chapter written, but I would be doing myself and my readers a disservice by going straight in. Just as farmers plant legumes to renew the nitrogen in the soil before growing more corn, I need time off for my subconscious to add dimension and twists to the interstellar chase. To that end, I decided to do something completely different in fantasy. I intended to write book three of the Ryoku series, River of Sorrows, but my muse had other ideas. I just kept taking more and more notes on an incident mentioned in two other books, the Dwarf rebellion against the king of Ur-metals. After looking at the outline, I suspect it will be about 66,000 words. I've decided to call it Children of Ur. Here is the first rough draft:

Chapter 1 – No Rest for the Wicked

“You can’t tell a member of the Dwarf race by its height,” explained the chauffeur as he drove through the Red Light District in Amsterdam.
“You’re joking,” said Joseph Redwing from the passenger seat. With the driver’s bushy mustache and trivia, he could have been sitting on a barstool at Cheers. Chatting with him was much more entertaining than riding alone in the back. “The textbook version is anyone four foot ten or below as an adult. You’re about five feet.”
The chauffeur shook his head. “That’s different because I have rickets. Dwarf is a corruption of the Old Norse dokkalfr, the root of which is dark. The number-one differentiator for people of the blood is dislike of sunlight. Without sun, we don’t get enough vitamin D, which often makes us hunched or bow-legged.”
This was news to Redwing, but probably nothing more than he could glean from an Internet search on his phone. They wouldn’t teach him the deeper secrets until he learned Ancient Sumerian. His wife was helping him, but the writing resembled circuit diagrams on acid.
“I’ve noticed most of you are pale.” If Napoleon could characterize England as a nation of shopkeepers, then Dwarves were a race of surly clerks and craftsmen with the pallor of cavefish. He likened them to IT professionals without their morning caffeine. Ruling them was like herding cats.
“Not all, sire. The man you are looking for is quite dark. Search this corner for a hairy man with a fondness for chains.” The limousine parked beside a glass-front building. All shapes and skin tones of women posed, advertising their wares in the windows.
As Redwing emerged into the warm, early-June evening, in his tailored pants and tight, black T-shirt, the women tracked his movement. He liked to think it was because of all the weight-lifting he’d been doing over the last six months, but his multi-billion-dollar bank account was probably the real lure. As he scanned for his quarry, he adjusted his German hat with the eagle feather in it, illegal for all but a handful of American Indians to possess.
There in the alley, with his back turned. Redwing considered himself tall, but this man had to be a basketball player, 6’8” at least. He wore dreadlocks down to his elbows and a leather, biker jacket decorate across the back with links of chain. He was helping a drunk customer into a cab, politely but firmly. When he stood again, it was with the aid of a stylized cane.
Redwing moseyed up behind him. “Could you scream pimp any louder?”
The tall, African man turned to snap a response. He was older than expected, over fifty, with a goatee, scars, and tiny dreads on his forehead that curled inward like horns.
Officially scary. Redwing tapped his hat and let the illusion flicker, just for a moment, so that the crown of Ur-Metal was visible. “No offense. I once worked as a bouncer in a strip club. Are you Zane Kinnect?”
Zane’s nostril’s flared as if he smelled the magic device, and he bowed on one knee. “Lugal.” In Sumerian, the word meant king or owner.
Redwing didn’t like the connotation.
“Our new owner.” Zane said loudly, pointing Redwing out to the ladies. “I have been a good steward. You may examine any part of our enterprise. I’ll introduce you to everyone.” He pulled a ring of keys from his pocket, secured with a fine silver chain.
The brunette in the black see-through negligee stretched until the bottoms of her breasts showed.
Whoa. More pushups tonight to forget that image. “Thanks. That’s not why I’m here. My wife, Frigga, sent me here to procure your special services.”
“Ah, you’re a faithful husband. This is fortunate.”
“So you’re loyal to the Thorvald family, not the crown?” Redwing felt safe because none of the players could harm the king of their own suit.
Zane smiled, a truly creepy experience. “The Thorvalds spared my life when others called for my blood. So I honor my debts and obey the law scrupulously.”
“I’m about to trust you with some serious responsibility, so I need to know. What did you do to deserve death?”
“I’m a royal bastard.”
“What? Genealogically or by personality?”
Redwing laughed. “You passed the interview. I’m glad you speak English.”
“Have you met anyone here who doesn’t?”
“Hop in the car where we can talk in private.”
Zane whistled and two more thugs came out of the shadows. He pointed to the doors and gave brief instructions. While walking toward the car, he hunched like an old man, using the cane to stay erect.
“Does it hurt?” Redwing asked when they were insulated in the back seat with the privacy screen up.
“Does yours?” Zane responded, nodding toward Redwing’s prosthetic left foot.
“A bit in the cold or damp, but I sacrificed mine for a good cause.”
“To kill a dragon. A noble cause indeed. You chose well making the Valkyrie Frigga your queen.”
The worm had paralyzed his wife from the waist down—a euphemism for crushed organs, broken back, and a smashed pelvis. Only the magic of her crown and his proximity enabled her to recover as much as she had. Anyone else would have been dead. “She said your title last game was the Left Hand of Ur-Metal.”
Zane bowed his head. “How may I serve?”
“One of the Dwarvish women from the Vandemere family petitioned the crown. Her oldest daughter, Greta, is missing under suspicious circumstances. I contacted Interpol, and there’s been a lot of abductions around here lately. The women are sold into slavery. I’m going to put a stop to that.”
“I take it you want me to ride at your side and punish the wicked.”
Shaking his head, Redwing said, “No. I came here because I’m told you know where all the dirt is hidden in this town. I want you to help me find the wicked. I’ll take care of the punishing myself. When I was a bouncer, a customer showed up who gave me the willies, so I checked out his truck. He had rope, duct tape, scalpel, and a shovel. I beat the crap out of him.”
Zane saluted with his cane. “Sometimes bad children need instruction. I will so enjoy working with you, sire. We may have to … interrogate a few humans. Do you object?”
“As long as we don’t tip our hand to what we really are to the Adams. I’d like to start with the girl’s uncle. Both Frigga and I think he’s hiding something.” If he could find anything incriminating on the man, they could use it as an excuse to have Frigga question him. As a former inquisitor for the witches’ council, she would find the truth.
“The girl’s uncle is a count, a distant cousin of Thorvald’s. He could probably find Greta with his own underworld contacts, but the longer you take, the more noise he’ll make about your incompetence and lack of caring toward your subjects.”
“He’s raised the stakes. The ancient Romans had a rule: anyone could appeal their case to Caesar, but if you did, someone’s head was going to roll.”
“Excellent, sire. I’ll go grab a few necessities.”
Redwing opened the car door for him. “You’re willing to start tonight?”
“I can see in the dark, sir, and that’s when our prey is out.”
The amateur detectives camped outside the uncle’s apartment. Redwing phoned Count Vandemere and asked for an interview the next morning. “I have a solid lead on your niece’s whereabouts.”
After Redwing hung up, Zane said, “No you don’t.”
“I will after he contacts the traffickers to warn them.” Redwing clicked on a device on his console. “And he’ll have to do that because his cell phone is having problems.”
“Dangerous. The criminals may move the shipment before we find them.”
“Have you ever hunted a rogue grizzly before?”
Zane replied, “Nearly every animal native to Germany and the islands, sir. I fancy myself a skilled outdoorsman, but I’ve never had the exhilaration of tracking a large bear.”
“We brand them as rogue when they run afoul of civilization. The animals aren’t usually the ones in the wrong, although once they cross a certain line, they develop a taste for it. Bears are known for their strength, but all that power needs constant calories to sustain it.” I have to eat five or six times a day. “Before he can run or fight, a bear needs to feed, and the rogues always take the easy way.”
Soon after, the uncle emerged from his gated parking area in a leased BMW. The limo trailed him to a sports bar.
Zane unzipped his jacket, revealing a red Chicago Bulls T-shirt. “Dwarves don’t hang out in Human bars. The drinks are too weak and the insults too frequent. He’s here to meet somebody. I’ll follow him inside. You might be recognized.”
“And you won’t stand out?”
“I’ll bet on whatever game is on the TV screen.” The tall man let himself out of the limo.
Redwing held out a hand. “Wait. Vandemere’s a gambler?”
“The doorman let him in without a second glance. Appears to be a regular.”
The Dwarf worked high up at insurance company Frigga had inherited. Redwing phoned his lawyer. The man never slept. Then again, Redwing was his only client. “Midas, I need an audit at my wife’s company tomorrow, looking for evidence of embezzling.”
“Which one?”
“All of them. Especially Count Vandemere’s insurance division.”
“Sire, you promised not to make any major changes for a year after assuming the reins.” The lawyer’s voice dripped disapproval.
“I’m not pricing it for a sale. I’m trying to get to the truth about an indiscretion before the police demand all our computers. Look for fraud and outright theft. Tell everyone it’s for the second-quarter performance report when I meet the analysts in July.”
Midas paused. “Very good, sir.” He hung up, no doubt to waken other flunkies.
Twenty minutes later, the uncle left, and Zane darted back into the back seat and reclaimed his jacket. “Follow that motorcycle. Vandemere owes a lot of money. The bookie took off today’s interest on the debt in exchange for the tip.”
“Did the guy sell off his own niece to pay off a bet?”
“Perhaps she found out about his problem, and he had to keep her quiet.”
The limo had to hang back further when they left town. They switched off the headlights because Zane wasn’t the only one who could see in the dark. At raised bridge, the driver lost the motorcycle. Redwing climbed out to track on foot. Zane followed with a gleam in his eye. He’s having a great time.
Near two in the morning, an exhausted Redwing sat on a rooftop, watching a remote warehouse through binoculars that had come from Zane’s massive duffle bag. Organized-crime soldiers kept round-the-clock watch. He whispered to the hunched man in leather and chains. “Through my crown, I can feel a single Dwarvish subject inside. I know my people.”
Zane nodded. “I smell at least five Human women inside as well. Several reek of fear.” Any woman who wasn’t terrified had to be heavily sedated.
Redwing passed the binoculars to him. “Keep an eye out while I call in the cavalry.”
“The Myrmidons?” Zane said, referring to the Dwarvish security corps.
“No. These are mundane criminals, so I’m bringing in Interpol.”
“At night? With no warrant?”
“I know a guy.” Redwing ducked behind a crumbling, brick chimney and faked a cell phone call. In reality, he touched the band of his hat and concentrated. All of the kings of the magical factions could secretly communicate over their crowns.
After a few seconds, his old comrade Raymond Lee, the King of Justice, answered mentally, “Redwing, how can I help?” Both men had been granted their crowns as payment for services to the winner of the last wizard war, Aaron Pyrogenes, who had disappeared with the fragments of the dragon’s body.
“Sorry about calling you in the middle of the night.”
“Not a problem. I’m in Bhutan right now, but I will be out of contact when I have the surgery. Now that the swelling has gone down, I can be fitted for a glass eye.”
Redwing nodded. “That’s good news.”
“I hear you tried to bribe my paladin with a convertible,” Ray said in a light tone.
“Bah. He’s incorruptible. I was just trying to repay Skippy for handling my wife’s medical bills for the first month.” They called the young man Skippy because he teleported, and Ray liked embarrassing nicknames.
“Married? Wow. You didn’t invite me.”
“We kept it small. Justice of the peace in the hospital.”
“How’s Frigga doing?”
Able to sit upright on a good day. “I’m in a bit of a hostage situation here outside Amsterdam. Criminals kidnapped half a dozen women and … well, you can fill in the rest. Since one of them is a subject of mine, I could sweep them up, but I wanted to keep magic out of the news and keep our treaty.” Justice had jurisdiction near The Hague, and his version of the Smithsonian Special Branch cleaned up
“Give me your address. I’ll send a strike team.” A few calculations flitted through Ray’s mind, and he said to someone else in Chinese before speaking through the crown again. “Can you contain them for another four hours?”
“Count on it.”
“When the cops arrive, show them your deputy badge from the reservation. I’ll tell them you stumbled across the ring while on your honeymoon.”
“Roger and out.” Redwing tipped his hat back to cool his forehead. He walked back to the brick edge of roof and whispered to Zane. “We have to keep them bottled up until six.”
“Only one way in or out of this area—through the crossroads where we left your limo,” Zane said.
Redwing nodded. “We’ll park across both lanes, and I’ll pose there with the jack and a tire iron.”
“Frigga would not want her king to be exposed.”
“I make a good distraction. You and the chauffeur will be my backup.” Redwing hoped that someone tried to sneak out. A good bar fight could blow off some steam. “I get the feeling you’re the sort of guy who does his best work from the shadows.”
Zane grinned, a chilling effect with his many scars. “You have no idea. I shall honor your wishes.”
Redwing hefted the tire iron as he paced the narrow intersection in the pre-dawn light. The ground on each side sloped off into low marsh with high grass, where his assistants lurked. Instead of a car from the warehouse, he was surprised by a van from town. Speeding, it didn’t stop to converse or offer assistance. A blond thug in a dress shirt and five o’clock shadow lowered the driver’s window and blistered him with curses. He looked like a drug dealer fresh from an all-night rave, reeking of cheap perfume and weed. “Move that hunk of junk.”
Speaking in rapid Navajo, Redwing gestured to the jack and the spare propped against the back tire.
The thug groaned and tried to squeeze his van around the limo on the thin shoulder of the road.
“Now that was just rude,” muttered Redwing as the van brushed by him. He bashed against the side of the vehicle like a tackle dummy, sliding it a couple centimeters in the wet grass.
The red brake lights lit the area. “What was that?”
Redwing wailed in mock pain. “I’m going to sue.”
The driver’s door slammed.
Grinning, Redwing grabbed under the side of the vehicle and rocked it.
“No. Shit. No. What?” By the time he reached Redwing, the van was sliding down the embankment into the marsh.
“Ain’t Karma a bitch?” Redwing asked.
The thug pulled out a 38. “I guess I’ll take your limousine, then.” He fired into Redwing’s chest, but the bullet harmed little more than the T-shirt.
While the man was still staring in confusion, Redwing threw the tire iron hard at the thug’s gun hand. As a former college baseball pitcher, his aim was true and the wrist cracked. The gun clattered to the asphalt.
While the thug grabbed his arm and cursed in pain, Zane leapt a distance of several meters in order to smack him in the forehead with the cane. His extended arm was covered in bristly, wolf-like hair. Tossing the pistol into the marsh, Zane said, “Help me place him behind the wheel. Authorities will assume the injuries came from his auto accident.”
“Good plan.” Redwing picked up the unconscious body, and blood from the shallow scalp wound stained his jacket.
Zane held the van door open as he whispered, “You didn’t use your crown to stop that bullet or lift that van.”
“No. I’m a ghost dancer. I already eat and shave enough for two men, and I didn’t need the crown’s side effects making that worse.”
“I hear that.”
“I’d appreciate if you didn’t tell anyone about my Native American abilities. Just like I won’t tell anyone you’re part supernatural animal.”
“My father was a creature of the night,” Zane admitted.
Redwing scanned the area. “Not something we want the Adams to know. Can you make your way back to town on your own?”
Zane nodded.
“Good. I’m going to be pinned down here for a while when the police arrive. I need you to do me a favor.” Redwing pulled out a couple hundred-euro notes.
“If you offer me payment again, sir, my service ends. What do you require?”
“Sorry. I just need someone to grab Vandemere before he hears about the police raid. I want him to face justice in front of the assembled Ur-metal court. Is that acceptable?”

“I could not imagine a more pleasurable entertainment, sire.” Zane loped off into the darkness to accomplish his mission, tongue lolling happily.