Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (11.5 KB)

1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
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.5.3 -->
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="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13
    <li><a href="files.html"><span>Files</span></a></li>
14
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
15
  </ul>
16
</div>
17
<h1>Movement</h1>Functions fo controlling robot motion Higher level functions to control the movement of robots.  
18
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
19
<tr><td></td></tr>
20
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
21
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga02f16883c5ce325e2dbb8c3835aa9a1"></a><!-- doxytag: member="move::FWD" ref="ga02f16883c5ce325e2dbb8c3835aa9a1" args="" -->
22
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#ga02f16883c5ce325e2dbb8c3835aa9a1">FWD</a>&nbsp;&nbsp;&nbsp;0</td></tr>
23

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

    
28
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move backwards. <br></td></tr>
29
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gff79b776dbd665d08a0cfcb4c2931c98"></a><!-- doxytag: member="move::SLOW_SPD" ref="gff79b776dbd665d08a0cfcb4c2931c98" args="" -->
30
#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>
31

    
32
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A slow speed. <br></td></tr>
33
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0dd7c6a61a43fb8a3698988c414a9bf"></a><!-- doxytag: member="move::HALF_SPD" ref="ga0dd7c6a61a43fb8a3698988c414a9bf" args="" -->
34
#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>
35

    
36
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Half of the full speed. <br></td></tr>
37
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gab20a9de15efe0d1b5599a3dd2ae9fea"></a><!-- doxytag: member="move::NRML_SPD" ref="gab20a9de15efe0d1b5599a3dd2ae9fea" args="" -->
38
#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>
39

    
40
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A normal speed. <br></td></tr>
41
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1f2e117ff854d46ca84f16a1eb8419a"></a><!-- doxytag: member="move::FAST_SPD" ref="ga1f2e117ff854d46ca84f16a1eb8419a" args="" -->
42
#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>
43

    
44
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fast speed. <br></td></tr>
45
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g35819c1d24f97763dab51cd367514443"></a><!-- doxytag: member="move::FULL_SPD" ref="g35819c1d24f97763dab51cd367514443" args="" -->
46
#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>
47

    
48
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum speed. <br></td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4e9e38cfcdb9bfd0f80c69a574301731"></a><!-- doxytag: member="move::SLOW_TURN" ref="g4e9e38cfcdb9bfd0f80c69a574301731" args="" -->
50
#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>
51

    
52
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A slow turning speed. <br></td></tr>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfc67eeed7b52f97b8483af04e27a9ce"></a><!-- doxytag: member="move::NRML_TURN" ref="gdfc67eeed7b52f97b8483af04e27a9ce" args="" -->
54
#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>
55

    
56
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A medium turning speed. <br></td></tr>
57
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb900792066abf52697bd19cc5240ae24"></a><!-- doxytag: member="move::FAST_TURN" ref="gb900792066abf52697bd19cc5240ae24" args="" -->
58
#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>
59

    
60
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A high turning speed. <br></td></tr>
61
<tr><td colspan="2"><br><h2>Functions</h2></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#g4e27eab618b1d874ff25fd2b2a65493b">move</a> (int velocity, int omega)</td></tr>
63

    
64
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the robot at the specified velocity.  <a href="#g4e27eab618b1d874ff25fd2b2a65493b"></a><br></td></tr>
65
<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>
66

    
67
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the robot while avoiding obstacles.  <a href="#g8e79749d6af4a0aa12aceee41ad62ebd"></a><br></td></tr>
68
</table>
69
<hr><a name="_details"></a><h2>Detailed Description</h2>
70
Functions fo controlling robot motion Higher level functions to control the movement of robots. 
71
<p>
72
<hr><h2>Function Documentation</h2>
73
<a class="anchor" name="g4e27eab618b1d874ff25fd2b2a65493b"></a><!-- doxytag: member="move.c::move" ref="g4e27eab618b1d874ff25fd2b2a65493b" args="(int velocity, int omega)" -->
74
<div class="memitem">
75
<div class="memproto">
76
      <table class="memname">
77
        <tr>
78
          <td class="memname">void move           </td>
79
          <td>(</td>
80
          <td class="paramtype">int&nbsp;</td>
81
          <td class="paramname"> <em>velocity</em>, </td>
82
        </tr>
83
        <tr>
84
          <td class="paramkey"></td>
85
          <td></td>
86
          <td class="paramtype">int&nbsp;</td>
87
          <td class="paramname"> <em>omega</em></td><td>&nbsp;</td>
88
        </tr>
89
        <tr>
90
          <td></td>
91
          <td>)</td>
92
          <td></td><td></td><td width="100%"></td>
93
        </tr>
94
      </table>
95
</div>
96
<div class="memdoc">
97

    
98
<p>
99
Move the robot at the specified velocity. 
100
<p>
101
Causes the robot to move with the given translation and rotational velocities. motors_init must be called before this function can be used.<p>
102
<dl compact><dt><b>Parameters:</b></dt><dd>
103
  <table border="0" cellspacing="2" cellpadding="0">
104
    <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>
105
    <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>
106
  </table>
107
</dl>
108
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__motors.html#gbad32bfc46c9f31ba81955775611bd21" title="Initialize the motors.">motors_init</a>, <a class="el" href="group__motors.html#g751a431c19cdb52bbbc8127455bd41ee" title="Set speed and direction of motor1.">motor1_set</a>, <a class="el" href="group__motors.html#g23940fd8408c23fcf312b1d5937f0ab0" title="Set speed and direction of motor2.">motor2_set</a> </dd></dl>
109

    
110
</div>
111
</div><p>
112
<a class="anchor" name="g8e79749d6af4a0aa12aceee41ad62ebd"></a><!-- doxytag: member="move.c::move_avoid" ref="g8e79749d6af4a0aa12aceee41ad62ebd" args="(int velocity, int omega, int strength)" -->
113
<div class="memitem">
114
<div class="memproto">
115
      <table class="memname">
116
        <tr>
117
          <td class="memname">void move_avoid           </td>
118
          <td>(</td>
119
          <td class="paramtype">int&nbsp;</td>
120
          <td class="paramname"> <em>velocity</em>, </td>
121
        </tr>
122
        <tr>
123
          <td class="paramkey"></td>
124
          <td></td>
125
          <td class="paramtype">int&nbsp;</td>
126
          <td class="paramname"> <em>omega</em>, </td>
127
        </tr>
128
        <tr>
129
          <td class="paramkey"></td>
130
          <td></td>
131
          <td class="paramtype">int&nbsp;</td>
132
          <td class="paramname"> <em>strength</em></td><td>&nbsp;</td>
133
        </tr>
134
        <tr>
135
          <td></td>
136
          <td>)</td>
137
          <td></td><td></td><td width="100%"></td>
138
        </tr>
139
      </table>
140
</div>
141
<div class="memdoc">
142

    
143
<p>
144
Move the robot while avoiding obstacles. 
145
<p>
146
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>
147
<dl compact><dt><b>Parameters:</b></dt><dd>
148
  <table border="0" cellspacing="2" cellpadding="0">
149
    <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>
150
    <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>
151
    <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>
152
  </table>
153
</dl>
154
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__motors.html#gbad32bfc46c9f31ba81955775611bd21" title="Initialize the motors.">motors_init</a>, <a class="el" href="group__rangefinder.html#g52d0666b725e6d3a14b5bddc28190e59" title="Initialize the rangefinders.">range_init</a>, <a class="el" href="group__move.html#g4e27eab618b1d874ff25fd2b2a65493b" title="Move the robot at the specified velocity.">move</a> </dd></dl>
155

    
156
</div>
157
</div><p>
158
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 6 20:27:39 2008 for libdragonfly by&nbsp;
159
<a href="http://www.doxygen.org/index.html">
160
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
161
</body>
162
</html>