Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (12.5 KB)

1 41 bcoltin
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 241 bcoltin
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 41 bcoltin
<title>libdragonfly: Movement</title>
4 1398 cmar
<link href="tabs.css" rel="stylesheet" type="text/css">
5 41 bcoltin
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
</head><body>
7 1398 cmar
<!-- Generated by Doxygen 1.5.9 -->
8 1145 deffi
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18 241 bcoltin
</div>
19 1145 deffi
<div class="contents">
20 41 bcoltin
<h1>Movement</h1>Functions fo controlling robot motion Higher level functions to control the movement of robots.
21 1398 cmar
<a href="#_details">More...</a>
22
<p>
23
<table border="0" cellpadding="0" cellspacing="0">
24 41 bcoltin
<tr><td></td></tr>
25
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
26
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga02f16883c5ce325e2dbb8c3835aa9a1"></a><!-- doxytag: member="move::FWD" ref="ga02f16883c5ce325e2dbb8c3835aa9a1" args="" -->
27
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#ga02f16883c5ce325e2dbb8c3835aa9a1">FWD</a>&nbsp;&nbsp;&nbsp;0</td></tr>
28
29
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move forwards. <br></td></tr>
30
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb8d9d2e1ff6a03ce3b45a32e0002a405"></a><!-- doxytag: member="move::BCK" ref="gb8d9d2e1ff6a03ce3b45a32e0002a405" args="" -->
31
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__move.html#gb8d9d2e1ff6a03ce3b45a32e0002a405">BCK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
32
33
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move backwards. <br></td></tr>
34
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gff79b776dbd665d08a0cfcb4c2931c98"></a><!-- doxytag: member="move::SLOW_SPD" ref="gff79b776dbd665d08a0cfcb4c2931c98" args="" -->
35
#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>
36
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A slow speed. <br></td></tr>
38
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0dd7c6a61a43fb8a3698988c414a9bf"></a><!-- doxytag: member="move::HALF_SPD" ref="ga0dd7c6a61a43fb8a3698988c414a9bf" args="" -->
39
#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>
40
41
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Half of the full speed. <br></td></tr>
42
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gab20a9de15efe0d1b5599a3dd2ae9fea"></a><!-- doxytag: member="move::NRML_SPD" ref="gab20a9de15efe0d1b5599a3dd2ae9fea" args="" -->
43
#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>
44
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A normal speed. <br></td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga1f2e117ff854d46ca84f16a1eb8419a"></a><!-- doxytag: member="move::FAST_SPD" ref="ga1f2e117ff854d46ca84f16a1eb8419a" args="" -->
47
#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>
48
49
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fast speed. <br></td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g35819c1d24f97763dab51cd367514443"></a><!-- doxytag: member="move::FULL_SPD" ref="g35819c1d24f97763dab51cd367514443" args="" -->
51
#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>
52
53
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum speed. <br></td></tr>
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4e9e38cfcdb9bfd0f80c69a574301731"></a><!-- doxytag: member="move::SLOW_TURN" ref="g4e9e38cfcdb9bfd0f80c69a574301731" args="" -->
55
#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>
56
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A slow turning speed. <br></td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfc67eeed7b52f97b8483af04e27a9ce"></a><!-- doxytag: member="move::NRML_TURN" ref="gdfc67eeed7b52f97b8483af04e27a9ce" args="" -->
59
#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>
60
61
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A medium turning speed. <br></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb900792066abf52697bd19cc5240ae24"></a><!-- doxytag: member="move::FAST_TURN" ref="gb900792066abf52697bd19cc5240ae24" args="" -->
63
#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>
64
65
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A high turning speed. <br></td></tr>
66
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
67
<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>
68
69
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the robot at the specified velocity.  <a href="#g4e27eab618b1d874ff25fd2b2a65493b"></a><br></td></tr>
70
<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>
71
72
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the robot while avoiding obstacles.  <a href="#g8e79749d6af4a0aa12aceee41ad62ebd"></a><br></td></tr>
73
</table>
74
<hr><a name="_details"></a><h2>Detailed Description</h2>
75 1398 cmar
Functions fo controlling robot motion Higher level functions to control the movement of robots. <hr><h2>Function Documentation</h2>
76 241 bcoltin
<a class="anchor" name="g4e27eab618b1d874ff25fd2b2a65493b"></a><!-- doxytag: member="move.c::move" ref="g4e27eab618b1d874ff25fd2b2a65493b" args="(int velocity, int omega)" -->
77
<div class="memitem">
78
<div class="memproto">
79
      <table class="memname">
80 41 bcoltin
        <tr>
81 241 bcoltin
          <td class="memname">void move           </td>
82
          <td>(</td>
83
          <td class="paramtype">int&nbsp;</td>
84
          <td class="paramname"> <em>velocity</em>, </td>
85 41 bcoltin
        </tr>
86
        <tr>
87 241 bcoltin
          <td class="paramkey"></td>
88
          <td></td>
89
          <td class="paramtype">int&nbsp;</td>
90
          <td class="paramname"> <em>omega</em></td><td>&nbsp;</td>
91 41 bcoltin
        </tr>
92
        <tr>
93 241 bcoltin
          <td></td>
94
          <td>)</td>
95 1398 cmar
          <td></td><td></td><td></td>
96 41 bcoltin
        </tr>
97
      </table>
98 241 bcoltin
</div>
99
<div class="memdoc">
100 41 bcoltin
101
<p>
102
Move the robot at the specified velocity.
103
<p>
104
Causes the robot to move with the given translation and rotational velocities. motors_init must be called before this function can be used.<p>
105
<dl compact><dt><b>Parameters:</b></dt><dd>
106
  <table border="0" cellspacing="2" cellpadding="0">
107
    <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>
108
    <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>
109
  </table>
110
</dl>
111 241 bcoltin
<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>
112
113 1398 cmar
<p>References <a class="el" href="motor_8h_source.html#l00050">BACKWARD</a>, <a class="el" href="motor_8h_source.html#l00048">FORWARD</a>, <a class="el" href="motor_8c_source.html#l00079">motor1_set()</a>, and <a class="el" href="motor_8c_source.html#l00112">motor2_set()</a>.</p>
114 1145 deffi
115 241 bcoltin
</div>
116
</div><p>
117
<a class="anchor" name="g8e79749d6af4a0aa12aceee41ad62ebd"></a><!-- doxytag: member="move.c::move_avoid" ref="g8e79749d6af4a0aa12aceee41ad62ebd" args="(int velocity, int omega, int strength)" -->
118
<div class="memitem">
119
<div class="memproto">
120
      <table class="memname">
121 41 bcoltin
        <tr>
122 241 bcoltin
          <td class="memname">void move_avoid           </td>
123
          <td>(</td>
124
          <td class="paramtype">int&nbsp;</td>
125
          <td class="paramname"> <em>velocity</em>, </td>
126 41 bcoltin
        </tr>
127
        <tr>
128 241 bcoltin
          <td class="paramkey"></td>
129
          <td></td>
130
          <td class="paramtype">int&nbsp;</td>
131
          <td class="paramname"> <em>omega</em>, </td>
132 41 bcoltin
        </tr>
133
        <tr>
134 241 bcoltin
          <td class="paramkey"></td>
135
          <td></td>
136
          <td class="paramtype">int&nbsp;</td>
137
          <td class="paramname"> <em>strength</em></td><td>&nbsp;</td>
138 41 bcoltin
        </tr>
139
        <tr>
140 241 bcoltin
          <td></td>
141
          <td>)</td>
142 1398 cmar
          <td></td><td></td><td></td>
143 41 bcoltin
        </tr>
144
      </table>
145 241 bcoltin
</div>
146
<div class="memdoc">
147 41 bcoltin
148
<p>
149
Move the robot while avoiding obstacles.
150
<p>
151
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>
152
<dl compact><dt><b>Parameters:</b></dt><dd>
153
  <table border="0" cellspacing="2" cellpadding="0">
154
    <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>
155
    <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>
156
    <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>
157
  </table>
158
</dl>
159 241 bcoltin
<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>
160
161 1398 cmar
<p>References <a class="el" href="motor_8h_source.html#l00050">BACKWARD</a>, <a class="el" href="motor_8h_source.html#l00048">FORWARD</a>, <a class="el" href="rangefinder_8h_source.html#l00046">IR1</a>, <a class="el" href="rangefinder_8h_source.html#l00048">IR2</a>, <a class="el" href="rangefinder_8h_source.html#l00050">IR3</a>, <a class="el" href="rangefinder_8h_source.html#l00052">IR4</a>, <a class="el" href="rangefinder_8h_source.html#l00054">IR5</a>, <a class="el" href="motor_8c_source.html#l00079">motor1_set()</a>, <a class="el" href="motor_8c_source.html#l00112">motor2_set()</a>, and <a class="el" href="rangefinder_8c_source.html#l00131">range_read_distance()</a>.</p>
162 1145 deffi
163 241 bcoltin
</div>
164
</div><p>
165 1145 deffi
</div>
166 1398 cmar
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Sep 7 19:07:28 2009 for libdragonfly by&nbsp;
167 41 bcoltin
<a href="http://www.doxygen.org/index.html">
168 1398 cmar
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
169 41 bcoltin
</body>
170
</html>