IP Library Granted Patent US 10,787,027
Granted Patent B2
US 10,787,027 · App. 15/981,972 · Granted Sep 29, 2020

Illustration robot movement

Inventor: Richard Rhodes (Broomfield, CO)
Assignee: SPHERO, INC.
B43L13/022B25J5/007B25J9/1684B25J9/1692B25J11/0075
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,787,027
App. No.
15/981,972
Granted
Sep 29, 2020
Kind
B2
Abstract

Aspects of the present disclosure relate to illustration robot movement. In examples, a destination location may specify a location to which the illustration robot should move a writing instrument from its current location. In some examples, the robot may not be parallel to the vector from the location of the writing instrument to the destination location, such that the robot may need to rotate or turn in order to create the illustration. Accordingly, the robot may move along an arc determined to cause the writing instrument to move tangent to the vector. Further, the arc may be periodically recalculated in order to maintain the movement of the writing instrument along the vector, rather than along an arc.

Claims (73)

1. A system for creating an illustration by a robot, comprising:

at least one processor; and

memory encoding computer executable instructions that, when executed by the at least one processor, perform a method comprising:

accessing a destination location for a writing instrument of the robot, wherein the robot comprises a writing instrument at a writing instrument location and a plurality of wheels;

generating a first vector between the writing instrument location and the destination location;

generating a second vector perpendicular to the first vector, wherein the second vector passes through the writing instrument location;

identifying an intersection point of the second vector and a wheel axis, wherein the wheel axis is perpendicular to a forward direction for the robot and passes through a center point of the robot;

determining a radius between the center point of the robot and the intersection point;

generating, based on the determined radius, a wheel speed for each of the plurality of wheels to move the robot along an arc having a radius of the determined radius and a center of the intersection point; and

causing each of the plurality of wheels of the robot to move at the generated wheel speed for each of the plurality of wheels.

2. The system of claim 1 , wherein the destination location is part of a drawing comprising a plurality of destination locations.

3. The system of claim 2 , wherein the method further comprises:

determining whether the writing instrument is at the destination location; and

when it is determined that the writing instrument is at the destination location, accessing a second destination location from the drawing.

4. The system of claim 2 , wherein the drawing is received from a computing device.

5. The system of claim 1 , wherein the method further comprises:

generating a second wheel speed for each of the plurality of wheels to move the robot along a second arc, wherein at least a part of the second arc is determined to maintain a path of the writing instrument along the first vector; and

causing each of the plurality of wheels of the robot to move at the determined second wheel speed for each of the plurality of wheels.

6. The system of claim 1 , wherein the method further comprises:

determining the destination location is associated with a draw indicator; and

adjusting a height of the writing instrument in relation to an illustration surface based on the draw indicator.

7. The system of claim 1 , wherein the wheel speed for each of the plurality of wheels is generated based at least in part on at least one of:

maintaining a constant drawing speed of the robot;

a physical size associated with a drawing comprising the destination location; and

a distance to be traveled by the robot.

8. A method for generating an illustration by an illustration robot, comprising:

receiving, from a computing device, a drawing comprising one or more destination locations for a writing instrument of the illustration robot, wherein the writing instrument is located at a writing instrument location;

accessing a destination location from the drawing;

determining whether the destination location is parallel to a forward direction of the illustration robot;

when it is determined that the destination location is not parallel to the forward direction, generating a wheel speed for each of a plurality of wheels of the illustration robot to move the illustration robot along an arc, wherein at least a part of the arc is determined to maintain a path of the writing instrument along a vector from the writing instrument location to the destination location; and

causing each of the plurality of wheels of the illustration robot to move at the generated wheel speed for each of the plurality of wheels.

9. The method of claim 8 , further comprising:

generating a second wheel speed for each of the plurality of wheels to move the illustration robot along a second arc, wherein at least a part of the second arc is determined to maintain a path of the writing instrument along the vector; and

causing each of the plurality of wheels of the robot to move at the determined second wheel speed for each of the plurality of wheels.

10. The method of claim 8 , wherein determining the arc comprises:

generating a first vector between the writing instrument location and the destination location;

generating a second vector perpendicular to the first vector, wherein the second vector passes through the writing instrument location;

identifying an intersection point of the second vector and a wheel axis, wherein the wheel axis is perpendicular to a forward direction for the illustration robot and passes through a center point of the illustration robot;

determining a radius between the center point of the illustration robot and the identified intersection point; and

generating the arc having a radius of the determined radius and a center of the identified intersection point.

11. The method of claim 8 , further comprising:

determining the destination location is associated with a draw indicator; and

adjusting a height of the writing instrument in relation to an illustration surface based on the draw indicator.

12. The method of claim 8 , wherein the wheel speed for each of the plurality of wheels is generated based at least in part on at least one of:

maintaining a constant drawing speed of the illustration robot;

a physical size associated with the drawing; and

a distance to be traveled by the illustration robot.

13. The method of claim 8 , further comprising:

determining whether the writing instrument is at the destination location; and

when it is determined that the writing instrument is at the destination location, accessing a second destination location from the drawing.

14. A method for creating an illustration by a robot, comprising:

accessing a destination location for a writing instrument of the robot, wherein the robot comprises a writing instrument at a writing instrument location and a plurality of wheels;

generating a first vector between the writing instrument location and the destination location;

generating a second vector perpendicular to the first vector, wherein the second vector passes through the writing instrument location;

identifying an intersection point of the second vector and a wheel axis, wherein the wheel axis is perpendicular to a forward direction for the robot and passes through a center point of the robot;

determining a radius between the center point of the robot and the intersection point;

generating, based on the determined radius, a wheel speed for each of the plurality of wheels to move the robot along an arc having a radius of the determined radius and a center of the intersection point; and

causing each of the plurality of wheels of the robot to move at the generated wheel speed for each of the plurality of wheels.

15. The method of claim 14 , wherein the destination location is part of a drawing comprising a plurality of destination locations.

16. The method of claim 15 , further comprising:

determining whether the writing instrument is at the destination location; and

when it is determined that the writing instrument is at the destination location, accessing a second destination location from the drawing.

17. The method of claim 15 , wherein the drawing is received from a computing device.

18. The method of claim 14 , further comprising:

generating a second wheel speed for each of the plurality of wheels to move the robot along a second arc, wherein the second arc is determined to maintain the path of the writing instrument along the first vector; and

causing each of the plurality of wheels of the robot to move at the determined second wheel speed for each of the plurality of wheels.

19. The method of claim 14 , further comprising:

determining the destination location is associated with a draw indicator; and

adjusting a height of the writing instrument in relation to an illustration surface based on the draw indicator.

20. The method of claim 14 , wherein the wheel speed for each of the plurality of wheels is generated based at least in part on at least one of:

maintaining a constant drawing speed of the robot;

a physical size associated with a drawing comprising the destination location; and

a distance to be traveled by the robot.

Assignments (2)
SECURITY INTEREST Recorded May 11, 2020
From: SPHERO, INC.
To: SILICON VALLEY BANK
Reel/Frame 052623/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2018
From: RHODES, RICHARD
To: SPHERO, INC.
Reel/Frame 045868/0175 →
Continuity (2)
Provisional Application 62507583 · May 17, 2017
Related Publication 20180333981A1 · Nov 22, 2018