0% found this document useful (0 votes)
11 views7 pages

Robotic Manipulators

The document summarizes the development of a robotic manipulator prototype for SPHERES satellites. Key points: 1) The team developed simulations and inverse kinematics algorithms to calculate joint positions for a desired end effector location. 2) Dynamics simulations were created using Newton's laws to model how applied torques would affect the motion of the robotic arm attached to a SPHERES satellite. 3) A graphical simulation was developed using the SFML library to visualize the robotic arm and test inverse kinematics and dynamics models.

Uploaded by

Duncan Miller
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views7 pages

Robotic Manipulators

The document summarizes the development of a robotic manipulator prototype for SPHERES satellites. Key points: 1) The team developed simulations and inverse kinematics algorithms to calculate joint positions for a desired end effector location. 2) Dynamics simulations were created using Newton's laws to model how applied torques would affect the motion of the robotic arm attached to a SPHERES satellite. 3) A graphical simulation was developed using the SFML library to visualize the robotic arm and test inverse kinematics and dynamics models.

Uploaded by

Duncan Miller
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

M ASSACHUSETTS I NSTITUTE OF T ECHNOLOGY

D EPARTMENT OF A ERONAUTICS AND A STRONAUTICS : S PACE S YSTEMS L AB

Prototyping Robotic Manipulators For SPHERES

Lisandro Jimenez, Edward Lopez, Duncan Miller

August 12, 2014

1 I NTRODUCTION AND B ACKGROUND

SPHERES is a project that is based around small satellites(8 inches in diameter) that use

CO2 thrusters and sensors to maneuver with other satellites. SPHERES are used to explore

possibilities in spacecraft-to-spacecraft maneuvering and communication. SPHERES is an

acronym for Synchronized Position Hold, Engage, Reorient Experimental Satellites. These

satellites, aboard the International Space Station, provide a low risk experimental platform

to test out different algorithms and techniques that would otherwise be difficult/expensive

to test. On the ISS, these experiments can be carried out in microgravity in full six degrees of

freedom. These experiments are used to explore experimental space technologies and algo-

rithms, such as spacecraft flight formation and, in this case, robotic arms.

Having a robotic arm attached to satellites/spacecraft can be very useful, but can in-

troduce new problems. The application of these arms can range from helping astronauts

on spacewalks to autonomously constructing large structures in space. One problem is that

1
when the arm is moved, the entire satellite moves in response.

In this project, we used LEGO MindStorms, as it provides an easy-to-work-with solution

to our need to iterate rapidly. Currently, there is not a testbed for testing algorithms for space-

craft with robotic arms, and this project aimed to create one. For this project, a team of three

UROPs1 worked to develop and refine the robotic arm, develop the hardware and software

involved in communicating between the arm and SPHERES, and to develop simulations of

the SPHERES-arm interaction.

2 L ITERARY R ESEARCH

At the start of this project, we looked at what had been done before so that we could

build off of that and create a project that would contribute to the field of space robotics.

The information we compounded is located in the appendix of this report, which contains

a matrix of what has and has not been done as well as a list of academic papers pertaining

to the subject matter. The essence of what we learned from this was that there is quite a bit

of theoretical research done but little experimentation has occurred. With that, we figured

it would be best if we made an arm that it could move in 3D space and be able to simulate

the system (SPHERES, Halo and the Arm) dynamics. We also thought the final, end-all be-all

goal would include using Vertigo2 to track a moving object, then using the arm to grab it, and

finally using thrusters to bring to system to a stop. We never got to this though.

3 S IMULATION AND P LANNING

Our first step was to simulate the dynamics that would be experienced when the arm was

manipulated, and to be able to know what positions to put each joint of the arm in order to

be able to get the end-effector in a desired position.

1 Undergraduate Research Opportunity Program


2 Other SSL project involving cameras for vision tracking. See Vertigo Homepage for more info

2
3.1 I NVERSE K INEMATICS

Inverse Kinematics is used to determine how a structure moves and rotates to reach a

desired point. For the arm specifically, we needed to know how much to rotate each motor

to reach a desired location. In 2D, the most efficient way of doing this was with circles. With

a two-joint arm, all that is needed to do is draw one circle with a radius of the length of the

first arm segment centered at where the arm begins and draw another circle with a radius of

the length of the second arm segment centered at the desired location. Where these circles

intersect is the location that the second joint (beginning of the second arm segment) needs

to be in order to reach the desired location.

Figure 3.1: Circle Method for inverse kinematics

The same method can be used for greater degrees of freedom(more arm segments). There

will be infinite solutions, however, as opposed to two, due to the nature of two dimensional

space. Figure 3.2, showing one possible solution, illustrates this concept. A limited amount

of circles are shown in the figure for simplicity, but in actuality there are an infinite amount

of circles around the lower large circle.

The Circle Method is easily extended into the third dimension.

To implement the Circle Method in software, we used Matlab. To do this, we used fsolve,

a system of equations solver. The two equations were the two equations of the circles, which

held their radius and center point. The variables we solved for were x 1 and y 1 , the location of

the second joint. From there, we did simple trigonometry to solve for the angle the first arm

3
Figure 3.2: Circle Method for 3 DOF

made with respect to the x-axis and the angle the second arm made with respect to the first

segment. This can be expanded in two ways: 3D and more arm segments.

For more arm segments, we just need to have more circles, one for every segment. The

thinking here is that you the first segment draws out one circle. The start of the second seg-

ment has to be located some point on that circle, so it is assigned an arbitrary point (x 2 , y 2 )

on the first circle. Centered on that point, it draws out a circle with a radius of its length.

The equation of that circle will look like (x 2 − x 1 )2 + (y 2 − y 1 )2 = L 22 , with (x 2 , y 2 ) representing

a point on the rim of the circle. The third segment has to begin somewhere on the second

circle, so it is given an arbitrary point (x 2 , y 2 ) and draws a circle centered at that position. It’s

equation looks like (x 3 − x 2 )2 + (y 3 − y 2 )2 = L 23 . This cycle continues until the nt h segment

centered at (x n−1 , y n−1 ) draws a circle of its own. We want the desired location to be on that

circle, so it’s equation is (x n , x n−1 )2 + (y n , y n−1 )2 = L 2n , with (x n , y n ) representing the desired

location. From there, you let fsolve do the rest of the work.

(x + y)3 = (x + y)2 (x + y)

= (x 2 + 2x y + y 2 )(x + y)
(3.1)
3 2 2 2 2 3
= (x + 2x y + x y ) + (x y + 2x y + y )

= x 3 + 3x 2 y + 3x y 2 + y 3

With 3D, it gets a bit more complicated. Currently the motors we are using only have

4
one degree of rotational freedom, which greatly limits them. If they had three degrees of

rotational freedom, it would be simple: we would use spheres instead of circles in the method

described above. But alas, life is not that easy. This is because in our design all of the arm

segments lie on the same plane, which would not be considered when using spheres. That

being so, we have not come up with an exact solution but we an idea on how to approach

this. We were thinking of using a change

3.2 DYNAMICS S IMULATION AND V ISUALIZATION

In order to predict the dynamics of the system, we came up with a formula resulting

from Newton’s 2nd Law. This formula describes how a two-segment system will move given

the moments of inertia of both segments about the pivot point and at least one displacement

angle is known.

θ1 θ2
= (3.2)
I2 I1

Where I 1 and I 2 are the moments of inertia of each of the respective segments, and θ1

and θ2 are the respective displacement angles.

Figure 3.3: Angle Displacement Method

We created a graphical simulation in C++ using the SFML graphics library in order to vi-

sualize the method we came up with to predict arm dynamics. We created a class to represent

an arm-SPHERES system. This class in turn contained three "arm segment" class objects(one

for the SPHERE, two for each joint of the arm). It then became easy to manipulate the joints of

the arm and find out information of the system. Because of this, we were able to implement a

brute force search method to find the motor positions that would result in the arm reaching a

certain spot. This is independent of graphics, which allows us to run it on, for example, Halo.

Using SFML, we took this information and drew basic shapes to represent each of the arm

segments and the spheres.

5
3.3 H EADING ON LEVEL 2 ( SUBSECTION )

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

 
 A 11 A 21 
A=  (3.3)
A 21 A 22

Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis

dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque

eu, pretium quis, sem.

3.3.1 H EADING ON LEVEL 3 ( SUBSUBSECTION )

Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, tincidunt tris-

tique, libero. Vivamus viverra fermentum felis. Donec nonummy pellentesque ante. Phasel-

lus adipiscing semper elit. Proin fermentum massa ac quam. Sed diam turpis, molestie vitae,

placerat a, molestie nec, leo. Maecenas lacinia. Nam ipsum ligula, eleifend at, accumsan

nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat lorem.

Sed lacinia nulla vitae enim. Pellentesque tincidunt purus vel magna. Integer non enim.

Praesent euismod nunc eu purus. Donec bibendum quam in tellus. Nullam cursus pulvinar

lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum pellentesque felis eu massa.

H EADING ON LEVEL 4 ( PARAGRAPH ) Suspendisse vel felis. Ut lorem lorem, interdum eu, tin-

cidunt sit amet, laoreet vitae, arcu. Aenean faucibus pede eu ante. Praesent enim elit, rutrum

at, molestie non, nonummy vel, nisl. Ut lectus eros, malesuada sit amet, fermentum eu, so-

dales cursus, magna. Donec eu purus. Quisque vehicula, urna sed ultricies auctor, pede

lorem egestas dui, et convallis elit erat sed nulla. Donec luctus. Curabitur et nunc. Aliquam

dolor odio, commodo pretium, ultricies non, pharetra in, velit. Integer arcu est, nonummy

in, fermentum faucibus, egestas vel, odio.

4 L ISTS

4.1 E XAMPLE OF LIST (3* ITEMIZE )

• First item in a list

6
– First item in a list

* First item in a list

* Second item in a list

– Second item in a list

• Second item in a list

4.2 E XAMPLE OF LIST ( ENUMERATE )

1. First item in a list

2. Second item in a list

3. Third item in a list

You might also like