action_trajectory_follower_interface.h
Go to the documentation of this file.
1 /*
2  * Copyright 2017, 2018 Jarek Potiuk (low bandwidth trajectory follower)
3  *
4  * Copyright 2017, 2018 Simon Rasmussen (refactor)
5  *
6  * Copyright 2015, 2016 Thomas Timm Andersen (original version)
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #pragma once
22 
23 #include <inttypes.h>
24 #include <array>
25 #include <atomic>
26 #include <cstddef>
27 #include <vector>
28 
30 {
31  std::array<double, 6> positions;
32  std::array<double, 6> velocities;
33  std::chrono::microseconds time_from_start;
34 
36  {
37  }
38 
39  TrajectoryPoint(std::array<double, 6> &pos, std::array<double, 6> &vel, std::chrono::microseconds tfs)
40  : positions(pos), velocities(vel), time_from_start(tfs)
41  {
42  }
43 };
44 
46 {
47 public:
48  virtual bool start() = 0;
49  virtual bool execute(std::vector<TrajectoryPoint> &trajectory, std::atomic<bool> &interrupt) = 0;
50  virtual void stop() = 0;
52 };
std::array< double, 6 > positions
std::array< double, 6 > velocities
std::chrono::microseconds time_from_start
ROSCPP_DECL bool execute(const std::string &method, const XmlRpc::XmlRpcValue &request, XmlRpc::XmlRpcValue &response, XmlRpc::XmlRpcValue &payload, bool wait_for_master)
TrajectoryPoint(std::array< double, 6 > &pos, std::array< double, 6 > &vel, std::chrono::microseconds tfs)


ur_modern_driver
Author(s): Thomas Timm Andersen, Simon Rasmussen
autogenerated on Fri Jun 26 2020 03:37:00