Fawkes API Fawkes Development Version
goto_thread.h
1
2/***************************************************************************
3 * goto_thread.h - Katana goto one-time thread
4 *
5 * Created: Wed Jun 10 11:44:24 2009
6 * Copyright 2006-2009 Tim Niemueller [www.niemueller.de]
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Library General Public License for more details.
19 *
20 * Read the full text in the LICENSE.GPL file in the doc directory.
21 */
22
23#ifndef _PLUGINS_KATANA_GOTO_THREAD_H_
24#define _PLUGINS_KATANA_GOTO_THREAD_H_
25
26#include "motion_thread.h"
27
28#include <string>
29
31{
32public:
34 fawkes::Logger * logger,
35 unsigned int poll_interval_ms);
36
37 virtual void set_target(float x, float y, float z, float phi, float theta, float psi);
38
39 virtual void once();
40
41 /** Stub to see name in backtrace for easier debugging. @see Thread::run() */
42private:
43 virtual void
44 run()
45 {
46 Thread::run();
47 }
48
49 float x_, y_, z_;
50 float phi_, theta_, psi_;
51 unsigned int poll_interval_usec_;
52};
53
54#endif
Katana linear goto thread.
Definition: goto_thread.h:31
KatanaGotoThread(fawkes::RefPtr< fawkes::KatanaController > katana, fawkes::Logger *logger, unsigned int poll_interval_ms)
Constructor.
Definition: goto_thread.cpp:46
virtual void set_target(float x, float y, float z, float phi, float theta, float psi)
Set target position.
Definition: goto_thread.cpp:63
virtual void once()
Execute an action exactly once.
Definition: goto_thread.cpp:74
Katana motion thread base class.
Definition: motion_thread.h:36
Interface for logging.
Definition: logger.h:42