Robotics, maths, python: A fledgling computer scientist’s guide to inverse kinematics
13 January 2017, 3:00 pm
So – you’ve built a robot arm. Now you’ve got to figure out how to control the thing. This was the situation I found myself in a few months ago, during my Masters project, and it’s a problem common to any robotic application: you want to put the end (specifically, the “end effector”) of your robot arm in a certain place, and to do that you have to figure out a valid pose for the arm which achieves that. This problem is called inverse kinematics (IK), and it’s one of the key problems in robotics.
The design I used is based on industrial pallet-packing robots, and at its core has three degrees of freedom, or ‘axes’ on which it can move. Think left to right, in and out and up and down; it basically means that the arm can move in three different ways. The GIFs below show the different types of movement: the entire arm can swivel on its base, the “main arm” translates the elbow in and out from the centre, and the “actuator” drives the forearm, which in turn translates the end-effector up and down. A 3-DOF arm like this has the handy property of having a unique solution for each possible position of its end-effector, which made the IK task approachable to someone like me, who’s never done this type of thing before.
Like many well-studied problems, IK has generic solutions, but these are numerically-based and computationally complex. I wanted a simple and efficient solution, so I decided to approach the control of my arm analytically, using geometric principals and logic. The result of this work was a graphical Python application, which connected to the arm via serial and allowed the user to move the goal position of the end-effector by clicking and dragging, or by sending commands from another application running on the same computer (this IK application made up a key part of my project, but ).
Here’s a quick look at what I ended up with:
Heads up: The code in this post is written in Python with Numpy, and there’s maths. I won’t pretend that any of the ideas presented here are optimal (or good, for that matter), but hopefully you’ll be able to scrounge something useful!
Let’s go already
To start with, let’s consider the “swing” action of the arm, as it rotates on its base. Since the main arm, elbow and forearm are all constrained to a single plane (look at the GIFs above: only the swing rotation affects the left-right position of the wrist), all we really have to do here is line up that plane – a line from our top-down perspective – with the goal point, ignoring the goal’s vertical position. If this sounds easy, you’re right: it’s plain old trigonometry. Unfortunately for me, a quirk of my design left the arm’s operation plane just off-centre of the axis of rotation, which made the solution much less obvious.
Using the naive trigonometric approach here results in pointing off to the left of the actual goal (right if the shoulder sits on the other side), and the gap is big enough that this is a real problem. I took a shot at solving this geometrically, but quickly decided it wasn’t worth my time figuring it out. In the end, I resorted to an extremely simple numerical technique called a binary search. I’ve used this in the past for other tough geometric problems, like finding an intersection between a Bezier curve and a circle.
In a binary search (also known as the “Bisection Method”), you essentially come up with arbitrary upper and lower bounds for your variable – in this case, theta – and then examine the midpoint to find whether it’s larger or smaller than your target. If it’s larger, then the midpoint becomes your new upper bound; if it’s smaller, the midpoint is your new lower bound. Repeat until you’ve bounded your variable with sufficient accuracy. A binary search is conceptually simple and computationally cheap, and converges fairly quickly: you halve your search space each iteration. I found 3-5 iterations got me within 0.3 degrees of the true value, well within the limits of what my servo motors could practically target.
On to the solution! What we’re actually searching for is the point at which the vector representing our arm is lined up with the vector from the arm’s shoulder joint to the goal: where the angle between these two vectors is zero. Normally, when taking the angle between two vectors (call them A and B) you get the absolute angle out, with no directionality. However, with this search method it’s important to have a signed distinction between “too high” and “too low”. To get around this, I wrote a simple function to find a signed angle between two vectors, with negative showing that A points counter-clockwise to B, and positive showing that A points clockwise from B:
This works by taking a perpendicular vector from B (pointing clockwise), and dot-ing it with A to see how much they line up (using the dot product for
If A points clockwise of B then np.dot(A, perp) will be positive, and vice-versa.
Note that the normalize() function simply sets a vector’s length to 1, while keeping it pointed in the same direction. Mathematically, it’s just doing: A=|A|-1 (np.clip() just keeps the dot product between 1 and -1).
With that, we can now perform our binary search and find a decent approximation to the target angle. We need a reasonable starting point, so let’s just use the angle from the origin to the goal (the naive approach I mentioned above). Numpy provides a very useful function for finding the angle np.arctan2(y, x) which resolves the arc-tangent of in the correct quadrant.
Now, it’s important to check which side the shoulder sits on: this lets us decide whether to use start_theta as an upper or lower bound. This is as simple as testing the signed angle between the shoulder offset vector (from the origin) and a vector pointing straight forwards. At the same time, we can also establish the other bound by taking the absolute value of this angle and adding or subtracting it from start_theta, since this angle to the shoulder is always going to be greater than the error of start_theta.
With our initial bounds established, the actual search loop is pretty straightforward. Note the use of an iteration counter: it’s only there in case something goes wrong (e.g. if we input an unsolvable configuration), since in normal operation the loop exits once the desired accuracy is reached. We iteratively update self.swing, which will hold the new target swing angle at the end of the search.
Note that the self.shoulder(angle) function just generates the top-down (x, z) position of the shoulder joint for a given swing angle. Besides the swing angle, there’s one other important result from this stage of IK: the radial distance, from the shoulder joint to the end-effector. The calculation is simple enough:
goal_radial = np.linalg.norm(self.goaltd – self.shoulder(self.swing))
Round in circles
We know which way to point: now, let’s consider the movement of the arm in its ‘plane of operation’, which covers the goal end-effector position and the line extending vertically (+y) from the shoulder joint. The main arm and forearm both move across this plane. The trick here is that we’ll still be using a 2D coordinate system, basically a local frame of reference, where our y value remains the same but the x value is the radial distance of the point we’re interested in. For the goal, we computed this radial distance above in the top-down IK, so we can go ahead and construct goalpl – the ‘planar’ goal – which lies at: goalpl=(goal_radial/goaly).
Side-on, the main arm and forearm form an upright triangle between the shoulder joint and goalpl with the elbow joint sitting at the peak. It’s important to note that the arm’s sections are different lengths, with the forearm being a bit longer. Now, in this plane we’re solving given the end effector’s position, and the origin is static. That just leaves the position of the elbow joint to solve for, which we can do geometrically, since it’s at a fixed distance from both the origin and effector. If we draw two circles, one fixed about the origin with radius = main arm length, and one centred on the end-effector with radius = forearm length, then the elbow must be at one of the two possible intersections between these circles:
Let’s look at a simple Python class which deals with this intersection calculation. There’s a few possible cases for circle-circle intersection, most of which invalidate our solver: if the circles do not contact, either by being separated or in the case that one contains another, then there is no valid solution; if the circles are coincident (impossible for this design, since the radii differ) then there are infinite possible solutions; however, when the circle borders intersect, we can find two distinct intersection points.
For any case we’re interested in, it’s the top intersection that matters. This means we can just pick the one with the largest y value, and call it a day:
And – that’s it! We have the swing angle, and a valid position for the elbow joint to match the shoulder and goal end-effector positions. That’s all we need to define a valid pose for the arm. If you need to, you can reconstruct the positions in 3D space:
If you’ve made it this far, I hope you’ve found this interesting and/or enlightening. Want to see how it all fits together? I’ll be uploading the full IK application to GitHub here, along with all the design files for the robotic arm. If you’re feeling ambitious, you should be able to 3D-print and build your own to play around with
Written by Alistair Wick for the University of Bristol Engineering Maths blog. The original post, and future follow-ups, are available on Alistair’s website.
- I didn’t design the arm completely from scratch: check out the original “LiteArm” design on Thingiverse.
- The IK application uses PyGame, a no-frills SDL wrapper for Python, to open and draw to the graphical window. I’ll probably switch to a meatier library for further development, but this did the job of basic “drawn-to-screen” stuff nicely.
If you liked this article, you may also enjoy these:
See all the latest robotics news on Robohub, or sign up for our weekly newsletter.
To visit any links mentioned please view the original article, the link is at the top of this post.
Parrot struggling, Lily fails and Google closes Titan Project as drone industry disunites
13 January 2017, 12:48 pm
Toy and entertainment drones, camera drones for professional and business use, moon-shot drones and military drones are all becoming more and more distinct as much of the drone industry gets commoditized. Prices are dropping even as impressive new features are added. It’s a difficult time in the drone business.
UPDATED 1/13/2017: SF District Attorney files false advertising suit against Lily Robotics. Details added below.
Commercial drones The commercial drones market consists of consumer products like toys, games and camera drones for photography and action selfies, and the professional market (called the pro-sumer market) which serves the construction, surveying, mapping, utilities, telecom, ag, public safety and insurance industries where the drone is matched with speciality software to provide package solutions unique to those industry groups. Many feel that a saturation point has been reached in the consumer marketplace and that after reaching that point it then becomes a race to the bottom in terms of price and profitability, hence the shift to the pro-sumer market by almost all drone makers.
Parrot SA – layoffs Parrot SA is a French wireless products manufacturer based in Paris, France. Parrot invented and manufactured the AR.Drone and initiated a drone division which now represents 1/3 of their business. Parrot just released its Q4 2016 report which showed a 15% drop in revenue. The company had revenues of €85 million but targeted €100 million. Revenue from drones was €60 million, with €11 million coming from commercial, and €49 million from consumer drones. As a result, Parrot announced plans to reduce its drone workforce by 35%, laying off around 290 people.
Parrot plans to focus on a reduced number of consumer products, redeploy product offerings, realign resources and adjust its support teams. Conversely, Parrot will continue to invest in its commercial drone business which has been doing well and is steadily growing.
3D Robotics – layoffs 3D Robotics and their Solo quadcopter were media hits until their product stumbled and their ambitious inventories didn’t move. Like Parrot, 3DR laid off hundreds last year, had to shut down facilities, and has since been scrambling to keep afloat by refocusing on commercial operations in the pro-sumer marketplace.
Lily Robotics – refunds and failure Lily, a Silicon Valley startup with a stylish camera drone and presentation, announced that although it had $34 million in pre-sales, it couldn’t get additional funds to meet production demands and was closing down. What remains of the company is focused on handling refunds.
“After so much hard work, we are sad to see this adventure come to an end,” founders Balaresque and Bradlow wrote on the Lily website. “We are very sorry and disappointed that we will not be able to deliver your flying camera, and are incredibly grateful for your support as a pre-order customer.” In a late development which portends difficulty for other over-exuberant marketing types, the San Francisco district attorney’s office filed suit against Lily Robotics over claims that the drone maker engaged in false advertising and unfair business practices. Lily said it would begin shipping drones to customers who had placed orders by February 2016 but failed to live up to that promise. The office alleged that Lily lured customers with a promotional video that was actually filmed by a “much more expensive, professional camera drone that required two people to operate.”
“It does not matter if a company is established or if it is a startup,” District Attorney George Gascón said in a statement announcing the lawsuit. “Everyone in the market must follow the rules. By protecting consumers, we protect confidence in our system of commerce.” Google – moonshot shutdown Alphabet (Google) has closed down the Titan Project to fly high-altitude drones that would beam wireless Internet access back down to the earth. More than 50 project members were let go – some have moved to other Google X projects. Titan Aerospace was acquired by Google in 2014 and was reformed into the Titan Project which competed with another Google X project, Project Loon, which also has problems. Loon is temporarily mired in an IP infringement suit with Space Data.
GoPro Karma – layoffs and refunds Although GoPro had a big presence at CES, their Karma drone wasn’t there and the sales people said that they hope it will be re-released in a few months. Karma was high-profile, long-anticipated, and late. The Karma was supposed to be the company’s hope to pull up diminishing revenues. Karma had mid-flight power failures and GoPro recalled all the devices shipped and offered refunds. GoPro cut its staff by about 200 people in November. Karma’s relaunch, if it happens, will need to compensate for product and price improvements offered by DJI that outperform and underprice the Karma in all but camera lenses.
SZ DJI Technology – 2/3 of the market DJI is the elephant in the room. Their products have outperformed, outpriced and been faster to market than all their competitors. Their marketing has emphasized integration with pro-sumer software, GoPro cameras and mounts, and other accessories. They keep on inventing and they are headquartered in Shenzhen where all their suppliers reside, hence their ability to be quick to market.
“What we realized is that it’s inherently much more difficult for a Silicon Valley-based, software-focused company to compete against a vertically integrated powerhouse manufacturing company in China,” said Colin Guinn, 3D Robotics’ former chief revenue officer. Founded in 2006 as a company that built flight controllers for remote control toy helicopters, DJI unveiled the Phantom in 2012, an off-the-shelf drone that became the standard for consumer drones.
DJI seems to have a rhythm to their products: launch, then 6-10 months later lower prices, then launch a newer upgraded product at a price point halfway between the previous product and the discounted price, then repeat the process.
Even DJI has recently begun to feel the heat from fellow Chinese drone makers Xiaomi and Yuneec both of which undercut DJI with similar products at lower prices. Hence DJI’s stressing their collaboration with and integration of software and accessory vendors focusing on the pro-sumer marketplace.
Defense drones In the defense sector the Predator, Reaper, and Global Hawk drones that have done their work in two wars have become popularized by movies that exposed their expense, their vulnerabilities, and their Las Vegas-based human pilots and sensor operators controlling them remotely. Now DARPA and the DoD are introducing new robot war machines. Their latest is drone swarms, where several small flying robots work together to do jobs previously done by the larger craft. An anti-air missile can shoot down an $18 million Reaper, but firing that same anti-air missile at a swarm of drones wouldn’t work.
With every Predator, there’s a joystick and flight controls for a human pilot who maneuvers it. That format changes entirely with a group of autonomous swarming drones.
“They are a collective organism, sharing one distributed brain for decision-making and adapting to each other like swarms in nature,” according to Strategic Capabilities Office Director William Roper. Unlike the Predator, where the machine responds to the pilot’s joystick, this swarm receives objectives from a human controller, and then directs itself to that location. Presumably, the swarm could still fly to a preset list of objectives even if it loses contact with a human controller, giving it the freedom to operate in the face of jamming as well as anti-air weapons. Drones to protect and defend are a necessary part of government’s province and a steady source of research, invention, and income for the military industrial complex. In the next four years, at least in the U.S., the defense/security segment of the drone industry is expecting significant growth.
To visit any links mentioned please view the original article, the link is at the top of this post.
HAX takes robotics to market in 2017
12 January 2017, 5:09 pm
If you attended CES 2017 last week you may have seen more than 70 HAX powered startups in Eureka Park, the ‘playground of innovation’. As service robotics steals the spotlight, we wanted to showcase some of the ways that accelerators and programs like HAX help grow hardware and robotics startups, including taking them to market.
Here’s an interview with Cyril Ebersweiler, Founder and Managing Director of HAX, excerpted from the new “Service Robotics Case Studies 2” report by Silicon Valley Robotics, the industry association.
Interview with Cyril Ebersweiler, Founder & Managing Director of HAX (edited for clarity)
You say HAX is the world’s first hardware accelerator. Can you tell us how it evolved?
We started the venture back in 2011 in a garage in Shenzhen. We had Eric Migicovsky from Pebble, who had just launched their first campaign, Ian Bernstein from Sphero, and there was also Zach Smith from Makerbot, who would later join us at HAX … a lot of people and technology were converging back then in Shenzhen.
One thing we discovered while leveraging the supply chain for these startups was that Shenzhen was a good place to prototype — and not just consumer electronics hardware (which was the modus operandi back then), but also extremely complex hardware for the health, robotics, and fabrication spaces. The robotics and fabrication spaces were particularly interesting. There are five thousand — maybe fifteen thousand — individual parts inside a robot, and it takes a lot of time, money and resources to build a prototype. By being in Shenzhen, where we had access to prototyping machines, we could accomplish this in record speed.
As more and more startups joined the ranks, we started to develop a better understanding of what it would take to bring those companies to market. Early on we created themes around our first incubation programs, and this has since become part of our philosophy at HAX. Four years and 145 companies later (as of mid 2016), we have HAX Lifestyle, HAX Health, HAX Robotics, HAX Infra, and HAX Fab, with dedicated resources, expertise, processes, curricula, and distribution channels that can help push those products to market as fast as possible.
HAX is still running, and has been scaling up — we have about fifteen people on staff — and we have changed offices almost every year. This year we are moving into a 30,000 sq foot office in the middle of the Huaqiangbei electronics market because we have a lot of lines that are continuously manufacturing and creating new products over there. Some of them are really big, like Makeblock, for example, which has 170 employees already.
After operating for a few years — we’ve done 69 Kickstarter campaigns with HAX Lifestyle alone — I started to receive a lot of requests from our network that our startups needed help to improve their marketing and sales. So eighteen months ago I moved to San Francisco in order to set up a follow-up to our accelerator program, called Hax Boost, which is run by a former Target executive, and which focused on sales funnels and marketing for each of our different themes. If you are a HAX Lifestyle company, for example, we’ll focus on getting you into retail and teach you how to build everything you need to talk to a buyer and test your products in store… test your pricing, point of sale, and packaging, etc. We also help with networking, and will travel to meet buyers and scale up the sales process. At HAX Health, on the other hand, the distribution channels are hospitals, doctors, and gyms — so we take a very different angle there.
Since we started HAX Boost, we’ve had three cohorts with thirty-two companies going through, not all of which have been through our accelerator program. We also have external companies joining us for a sales and marketing bootcamp, which is a lot shorter — just 42 days. The goal is to get these companies from zero to $5 million in revenue (which is extremely ambitious in the world of entrepreneurship and venture capital), so that they know they have a market for their product before they manufacture it. Then they can go back to Shenzhen, and if they’ve done their job well, their DFM (design for manufacture) will be less painful and they will get to market faster because they have already grown out the distribution on the other side. Essentially, we make them ‘kiss’ the other side a little earlier than usual, and we foster those relationships at scale so that instead of taking twelve months to grow to their store, it will take only three months.
How big are your cohorts at HAX Boost?
We do ten startups at a time. While the accelerator programs are fifteen weeks long (because you actually have to build a product in that time), HAX Boost is just forty-two days long because companies already have their product ready. Forty-two days is an ideal length of time to focus on marketing.
TechCrunch called you “the most active investor in crowdfunded hardware” — but that’s only one aspect of what you do, isn’t it?
Yes. We’ve had 145 companies go through our programs now, as of mid 2016 … 115 through our accelerator and 30 through Boost. These have included 65 Kickstarter campaigns, mostly lifestyle products, where we have raised an average of about $450,000 per campaign. If you consider that to raise $100,000 puts you in the top 1% of Kickstarter campaigns, that puts us in the top 0.01% every single time we launch a campaign. We represent 8% of all the $1M-plus campaigns on Kickstarter as well. So it sounds like crowdfunding investment is our focus, but it’s only half (or less) of what we do. Lifestyle companies represent only roughly 40% of what we do. The rest is divided between health, infrastructure, robotics and fabrication. These kinds of companies are B2B for the most part and require a different level of attention when it comes down to technology, obviously, but also business models — which are the most interesting aspect of this work, particularly in the robotics and fab space.
Many of the companies we feature in this report are B2B2C, where the customer is not the final interaction point. I think we’ll be seeing more and more robotics companies in this space … what are the challenges they face, and how have you been able to smooth the way for them?
There are three very obvious challenges on the robotics side.
One is the definition of a robot. We may define this as a machine that makes autonomous decisions and autonomous movements, but there is public confusion around this definition. What is a robot, and why does that matter? It’s important because the public’s vision of what a robot is is going to influence the success of these companies, whether they are making robots in the formal sense or not.
Another challenge is that roboticists deal with extremely complex environments, and the obvious trap for any startup is to become too enamored with the technology, or to become too busy with making it work and not getting to the specific application.
A third challenge is trying to do everything, or wanting to become a platform, because that seems to be the Holy Grail. But we’ve already seen many approaches to building robot platforms and they don’t always work immediately. Take the PR2, the Personal Robot platform, from Willow Garage. It was supposed to be something that could be shared and open sourced to create different kinds of robotics applications… only a few places ever had a PR2, it only worked as a platform if you consider Savioke and all the other startups that came out of Willow Garage.
Another important challenge is the business model. We’ve been pushing to find ways for robots to be more than a box and software being sold to a client. I’m referring to “Robotics as a Service” of course, ie. getting a monthly payment at scale. Why does this matter? It’s easier to be profitable and to attract investors if it’s not about paying for the device.
Historically, extremely high-tech robots designed for a single task were sold for $100,000 – $200,000 apiece. The industry knew this model well, and recurring revenue came mainly from maintenance contracts. But the obvious trend is that robots are getting less and less expensive as time goes on … they are following the path of consumer electronics, which are getting both more powerful and less expensive at the same time. Some of the robots we are seeing today cost just a few thousand dollars, which on the one hand could mean that you can sell a lot of them, but on the other hand, you are trying to sell the value at the moment as well. Lots to figure out.
One of the challenges of Robots as a Service is that robots are still physical and they still require a lot of maintenance, which pushes the price point up even though the cost of the hardware is coming down. This seems inherently less scalable. Do you think these obstacles have been overcome?
Not entirely. Most startups are in the phase of trying. I don’t know the perfect definition of RaaS, because simply making the robot isn’t enough. It has to be tied to an actual value being created by the robot itself. Take the RaaS model that Simbe is using: their clients are billed per item scanned, so the more items the robot scans, the more revenue they generate. Or in the case of Avidbots, the more square feet that the robot cleans, the more Avidbot earns. But it’s not the end user paying for it. It’s really the corporation behind all this infrastructure that is paying for it, and it’s still too early to know whether they will be willing to scale up.
That said, I think that hardware reliability is in some ways the bigger question, as these robots are just getting to market at scale and we don’t yet know how long they will last out there. Few robots have run more than a thousand miles today, so all this is up in the air.
Are there other areas in the retail and consumer goods chain that you would encourage startups to look at?
Robot arms are getting better, cheaper, more accurate and less dangerous, so I think they
will start to pop up in all sorts of places and will come in many forms. At first they will probably be used in commercial environments, for example in restaurant kitchens. In the retail space, robot arms could fill shelves and stock inventory, or they could also be used to deliver goods from the store. Today we are a little constrained in our thinking of how a robot arm can be used, but as they become more application-specific they will just become better at what they are supposed to do.
It’s a little more complex if you’re thinking about the consumer market. People tend think of consumer robots as companions — robot pets, for example. But consumer robots will no doubt differentiate as well. There is a HAX company called Trainerbot that launched this year on Kickstarter. They are building a ping pong robot that teaches you how to play and trains you — and you can imagine that could be done with many sports. When you add computer vision and sophisticated movement, some people might think of these robots as even better companions.
Obviously there is a period of land grab before the field becomes specialized. Right now we are in a phase where most companies want to be a platform, or want to have the killer app. I think it’s slowly becoming more competition-specific, but it will continue to specialize.
Being based for such a long time in China where there has been such growth in recent years, what do you see ahead?
One thing that isn’t well acknowledged is that China is starting to come up with their own robots. They now have a pretty good technical base and they are catching up on know-how. It’s an obvious market for China to serve its need for robots domestically – so that is something to watch for.
Also, we have seen a commoditization of manufacturing machines, from laser cutters and 3D printers, to production machines, CNC machines, and furnaces — anything that makes a product come alive, as it were. Being in the manufacturing center of the world, it is phenomenal the level of automation that has been achieved already. Smartphones are produced with barely any human touching them; even the touch screen is tested by robot fingers. Though it’s easier to create a fully automated robot factory if you have only one product to build, there are increasingly fewer people in factories here: there’s nobody in the injection molding department, for example, but you have robot arms and conveyor belts (which at some point will be replaced by mobile robots), so that trend will continue. Robot arms are going to replace a lot of jobs.
But I think the tipping point for robotics is going to happen when robots start creating jobs. One can imagine that some robotics companies might reappropriate themselves, with the value of the robot essentially coming from the production that comes out of it. Dispatch is a great example of a company that has to figure out whether or not it is better to create its own network and rent it — the same is true with most robot companies. Avidbots could become a cleaning company if it wanted to, and it would be a better one, for example. Or Rational Robotics could rent their industrial painting machines to someone who wants to build their own garage. We haven’t seen that yet, but I’m expecting to see it pretty soon.
What is most exciting to me about robotics is that the business model is all down to what you want to do with the future of robots: Do you want them to replace human workers? Or do you want robots to be creators of value in the very first place?
HAX HAX is an accelerator for hardware companies founded in 2011 in Shenzhen by Cyril Ebersweiler and Sean O’Sullivan. The HAX accelerator program selects 30 startups a year for seed investment in a cohort program and, as of 2016, the HAX Boost program provides an additional marketing bootcamp. Although HAX is well known for backing successfully crowdfunded consumer hardware, a significant number of startups now moving through HAX are enterprise robotics startups. HAX is investing in five technology themes; lifestyle, health, robotics, infrastructure and fabrication/prototyping. HAX is funded by SOSV, the accelerator venture fund founded by Sean O’Sullivan.
SILICON VALLEY ROBOTICS Silicon Valley Robotics is the industry group for robotics and AI companies in the Greater San Francisco Bay Area, and is a not- for-profit (501c6) that supports innovation and commercialization of robotics technologies. We host the Silicon Valley Robot Block Party, networking events, investor forums, a directory, and a jobs board, and we provide additional services and information for members, such as these reports.
WE’LL BE RELEASING ADDITIONAL ESSAYS FROM THE REPORTS EVERY WEEK OR SO. OR YOU CAN READ FULL REPORTS AT: https://svrobo.org/reports
To visit any links mentioned please view the original article, the link is at the top of this post.