Project

General

Profile

Statistics
| Revision:

root / trunk / docs / libdragonfly / group__move.html @ 41

History | View | Annotate | Download (11.7 KB)

1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>libdragonfly: Movement</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.4.6 -->
8
<div class="tabs">
9
  <ul>
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11
    <li><a href="modules.html"><span>Modules</span></a></li>
12
    <li><a href="files.html"><span>Files</span></a></li>
13
  </ul></div>
14
<h1>Movement</h1>Functions fo controlling robot motion Higher level functions to control the movement of robots.  
15
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
16
<tr><td></td></tr>
17
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
18
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga02f16883c5ce325e2dbb8c3835aa9a1"></a><!-- doxytag: member="move::FWD" ref="ga02f16883c5ce325e2dbb8c3835aa9a1" args="" -->
19
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#ga02f16883c5ce325e2dbb8c3835aa9a1">FWD</a>&nbsp;&nbsp;&nbsp;0</td></tr>
20

    
21
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move forwards. <br></td></tr>
22
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb8d9d2e1ff6a03ce3b45a32e0002a405"></a><!-- doxytag: member="move::BCK" ref="gb8d9d2e1ff6a03ce3b45a32e0002a405" args="" -->
23
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#gb8d9d2e1ff6a03ce3b45a32e0002a405">BCK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
24

    
25
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move backwards. <br></td></tr>
26
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gff79b776dbd665d08a0cfcb4c2931c98"></a><!-- doxytag: member="move::SLOW_SPD" ref="gff79b776dbd665d08a0cfcb4c2931c98" args="" -->
27
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#gff79b776dbd665d08a0cfcb4c2931c98">SLOW_SPD</a>&nbsp;&nbsp;&nbsp;96</td></tr>
28

    
29
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A slow speed. <br></td></tr>
30
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0dd7c6a61a43fb8a3698988c414a9bf"></a><!-- doxytag: member="move::HALF_SPD" ref="ga0dd7c6a61a43fb8a3698988c414a9bf" args="" -->
31
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#ga0dd7c6a61a43fb8a3698988c414a9bf">HALF_SPD</a>&nbsp;&nbsp;&nbsp;128</td></tr>
32

    
33
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Half of the full speed. <br></td></tr>
34
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gab20a9de15efe0d1b5599a3dd2ae9fea"></a><!-- doxytag: member="move::NRML_SPD" ref="gab20a9de15efe0d1b5599a3dd2ae9fea" args="" -->
35
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#gab20a9de15efe0d1b5599a3dd2ae9fea">NRML_SPD</a>&nbsp;&nbsp;&nbsp;160</td></tr>
36

    
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A normal speed. <br></td></tr>
38
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1f2e117ff854d46ca84f16a1eb8419a"></a><!-- doxytag: member="move::FAST_SPD" ref="ga1f2e117ff854d46ca84f16a1eb8419a" args="" -->
39
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#ga1f2e117ff854d46ca84f16a1eb8419a">FAST_SPD</a>&nbsp;&nbsp;&nbsp;192</td></tr>
40

    
41
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fast speed. <br></td></tr>
42
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g35819c1d24f97763dab51cd367514443"></a><!-- doxytag: member="move::FULL_SPD" ref="g35819c1d24f97763dab51cd367514443" args="" -->
43
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#g35819c1d24f97763dab51cd367514443">FULL_SPD</a>&nbsp;&nbsp;&nbsp;255</td></tr>
44

    
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum speed. <br></td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4e9e38cfcdb9bfd0f80c69a574301731"></a><!-- doxytag: member="move::SLOW_TURN" ref="g4e9e38cfcdb9bfd0f80c69a574301731" args="" -->
47
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#g4e9e38cfcdb9bfd0f80c69a574301731">SLOW_TURN</a>&nbsp;&nbsp;&nbsp;64</td></tr>
48

    
49
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A slow turning speed. <br></td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfc67eeed7b52f97b8483af04e27a9ce"></a><!-- doxytag: member="move::NRML_TURN" ref="gdfc67eeed7b52f97b8483af04e27a9ce" args="" -->
51
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#gdfc67eeed7b52f97b8483af04e27a9ce">NRML_TURN</a>&nbsp;&nbsp;&nbsp;96</td></tr>
52

    
53
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A medium turning speed. <br></td></tr>
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb900792066abf52697bd19cc5240ae24"></a><!-- doxytag: member="move::FAST_TURN" ref="gb900792066abf52697bd19cc5240ae24" args="" -->
55
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#gb900792066abf52697bd19cc5240ae24">FAST_TURN</a>&nbsp;&nbsp;&nbsp;128</td></tr>
56

    
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A high turning speed. <br></td></tr>
58
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
59
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#g4e27eab618b1d874ff25fd2b2a65493b">move</a> (int velocity, int omega)</td></tr>
60

    
61
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the robot at the specified velocity.  <a href="#g4e27eab618b1d874ff25fd2b2a65493b"></a><br></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#g8e79749d6af4a0aa12aceee41ad62ebd">move_avoid</a> (int velocity, int omega, int strength)</td></tr>
63

    
64
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the robot while avoiding obstacles.  <a href="#g8e79749d6af4a0aa12aceee41ad62ebd"></a><br></td></tr>
65
</table>
66
<hr><a name="_details"></a><h2>Detailed Description</h2>
67
Functions fo controlling robot motion Higher level functions to control the movement of robots. 
68
<p>
69
<hr><h2>Function Documentation</h2>
70
<a class="anchor" name="g4e27eab618b1d874ff25fd2b2a65493b"></a><!-- doxytag: member="move.c::move" ref="g4e27eab618b1d874ff25fd2b2a65493b" args="(int velocity, int omega)" --><p>
71
<table class="mdTable" cellpadding="2" cellspacing="0">
72
  <tr>
73
    <td class="mdRow">
74
      <table cellpadding="0" cellspacing="0" border="0">
75
        <tr>
76
          <td class="md" nowrap valign="top">void move           </td>
77
          <td class="md" valign="top">(&nbsp;</td>
78
          <td class="md" nowrap valign="top">int&nbsp;</td>
79
          <td class="mdname" nowrap> <em>velocity</em>, </td>
80
        </tr>
81
        <tr>
82
          <td class="md" nowrap align="right"></td>
83
          <td class="md"></td>
84
          <td class="md" nowrap>int&nbsp;</td>
85
          <td class="mdname" nowrap> <em>omega</em></td>
86
        </tr>
87
        <tr>
88
          <td class="md"></td>
89
          <td class="md">)&nbsp;</td>
90
          <td class="md" colspan="2"></td>
91
        </tr>
92
      </table>
93
    </td>
94
  </tr>
95
</table>
96
<table cellspacing="5" cellpadding="0" border="0">
97
  <tr>
98
    <td>
99
      &nbsp;
100
    </td>
101
    <td>
102

    
103
<p>
104
Move the robot at the specified velocity. 
105
<p>
106
Causes the robot to move with the given translation and rotational velocities. motors_init must be called before this function can be used.<p>
107
<dl compact><dt><b>Parameters:</b></dt><dd>
108
  <table border="0" cellspacing="2" cellpadding="0">
109
    <tr><td valign="top"></td><td valign="top"><em>velocity</em>&nbsp;</td><td>the translational velocity of the robot, in the range -255 to 255. A positive value indicates forward motion, while a negative value indicates backwards motion.</td></tr>
110
    <tr><td valign="top"></td><td valign="top"><em>omega</em>&nbsp;</td><td>the rotational velocity of the robot, in the range -255 to 255. A positive value indicates a counterclockwise velocity, while a negative value indicates a clockwise velocity.</td></tr>
111
  </table>
112
</dl>
113
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__motors.html#gbad32bfc46c9f31ba81955775611bd21">motors_init</a>, <a class="el" href="group__motors.html#g751a431c19cdb52bbbc8127455bd41ee">motor1_set</a>, <a class="el" href="group__motors.html#g23940fd8408c23fcf312b1d5937f0ab0">motor2_set</a> </dd></dl>
114
    </td>
115
  </tr>
116
</table>
117
<a class="anchor" name="g8e79749d6af4a0aa12aceee41ad62ebd"></a><!-- doxytag: member="move.c::move_avoid" ref="g8e79749d6af4a0aa12aceee41ad62ebd" args="(int velocity, int omega, int strength)" --><p>
118
<table class="mdTable" cellpadding="2" cellspacing="0">
119
  <tr>
120
    <td class="mdRow">
121
      <table cellpadding="0" cellspacing="0" border="0">
122
        <tr>
123
          <td class="md" nowrap valign="top">void move_avoid           </td>
124
          <td class="md" valign="top">(&nbsp;</td>
125
          <td class="md" nowrap valign="top">int&nbsp;</td>
126
          <td class="mdname" nowrap> <em>velocity</em>, </td>
127
        </tr>
128
        <tr>
129
          <td class="md" nowrap align="right"></td>
130
          <td class="md"></td>
131
          <td class="md" nowrap>int&nbsp;</td>
132
          <td class="mdname" nowrap> <em>omega</em>, </td>
133
        </tr>
134
        <tr>
135
          <td class="md" nowrap align="right"></td>
136
          <td class="md"></td>
137
          <td class="md" nowrap>int&nbsp;</td>
138
          <td class="mdname" nowrap> <em>strength</em></td>
139
        </tr>
140
        <tr>
141
          <td class="md"></td>
142
          <td class="md">)&nbsp;</td>
143
          <td class="md" colspan="2"></td>
144
        </tr>
145
      </table>
146
    </td>
147
  </tr>
148
</table>
149
<table cellspacing="5" cellpadding="0" border="0">
150
  <tr>
151
    <td>
152
      &nbsp;
153
    </td>
154
    <td>
155

    
156
<p>
157
Move the robot while avoiding obstacles. 
158
<p>
159
Moves the robot with the given translational and angular velocities while avoiding obstacles. To be effective, this function must be called repeatedly throughout the motion. It relies on the IR rangefinders to detect obstacles. Before calling this function, motors_init and range_init must be called.<p>
160
<dl compact><dt><b>Parameters:</b></dt><dd>
161
  <table border="0" cellspacing="2" cellpadding="0">
162
    <tr><td valign="top"></td><td valign="top"><em>velocity</em>&nbsp;</td><td>the translational velocity of the robot, in the range -255 to 255. A positive value indicates forward motion.</td></tr>
163
    <tr><td valign="top"></td><td valign="top"><em>omega</em>&nbsp;</td><td>the rotational velocity of the robot, in the range -255 to 255. A positive value indicates a counterclockwise velocity.</td></tr>
164
    <tr><td valign="top"></td><td valign="top"><em>strength</em>&nbsp;</td><td>the strength of the avoid behavior, in the range 0 to 100.</td></tr>
165
  </table>
166
</dl>
167
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__motors.html#gbad32bfc46c9f31ba81955775611bd21">motors_init</a>, <a class="el" href="group__rangefinder.html#g52d0666b725e6d3a14b5bddc28190e59">range_init</a>, <a class="el" href="group__move.html#g4e27eab618b1d874ff25fd2b2a65493b">move</a> </dd></dl>
168
    </td>
169
  </tr>
170
</table>
171
<hr size="1"><address style="align: right;"><small>Generated on Fri Sep 14 15:36:18 2007 for libdragonfly by&nbsp;
172
<a href="http://www.doxygen.org/index.html">
173
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
174
</body>
175
</html>