armadillo2_teleop_node.cpp
Go to the documentation of this file.
1 #include <ros/ros.h>
2 #include <sensor_msgs/Joy.h>
4 
6 
7 void printAxes()
8 {
9 
10 }
11 
12 void joyCallback(const sensor_msgs::Joy::ConstPtr& joy)
13 {
14  /* print axes for testing */
15  /*for (int i=0; i<joy->axes.size(); i++)
16  fprintf(stderr, "axes[%i]:%f | ", i, joy->axes[i]);
17  fprintf(stderr, "\n");*/
18  /*for (int i=0; i<joy->buttons.size(); i++)
19  fprintf(stderr, "axes[%i]:%f | ", i, joy->buttons[i]);
20  fprintf(stderr, "\n");*/
21 
22  /* drive robot */
23  armadillo_teleop->twist.axis_angular = joy->axes[armadillo_teleop->twist.joy_axis_angular];
24  armadillo_teleop->twist.axis_linear = joy->axes[armadillo_teleop->twist.joy_axis_linear];
25  armadillo_teleop->drive();
26 
27  /* move torso */
28  //TODO: INIT WITH JOINT INITIAL STATE TO PREVENT MOVEMENT TO 0 ON STARTUP
29  //TODO: ALOW STOP FUNTCTION
30  //TODO: ADD DEBOUNCER FOR BUTTONS
31  if (joy->axes[armadillo_teleop->torso.joy_axis_updown] == 1)
32  armadillo_teleop->torso.axis_updown += armadillo_teleop->torso.inc_updown;
33  else if (joy->axes[armadillo_teleop->torso.joy_axis_updown] == -1)
34  armadillo_teleop->torso.axis_updown -= armadillo_teleop->torso.inc_updown;
35  //fprintf(stderr, "[%f]\n", armadillo_teleop->torso.axis_updown );
36  if (joy->axes[armadillo_teleop->torso.joy_axis_updown] != 0)
37  armadillo_teleop->moveTorso();
38 
39 }
40 
41 
42 int main(int argc, char** argv) {
43 
44  ros::init(argc, argv, "armadillo2_teleop_node");
45  ros::NodeHandle nh;
46  ros::Subscriber joy_sub = nh.subscribe<sensor_msgs::Joy>("joy", 10, &joyCallback);
47  armadillo_teleop = new Armadillo2Teleop(nh);
48  ros::spin();
49  delete armadillo_teleop;
50  return 0;
51 }
52 
int main(int argc, char **argv)
Subscriber subscribe(const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())
int joy_axis_angular
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
float inc_updown
void printAxes()
Armadillo2Teleop * armadillo_teleop
float axis_updown
float axis_linear
void joyCallback(const sensor_msgs::Joy::ConstPtr &joy)
ROSCPP_DECL void spin()
float axis_angular


armadillo2_teleop
Author(s):
autogenerated on Wed Jan 3 2018 03:47:53