Difference between revisions of "Little John Tutorials"

From Macro Wiki
Jump to: navigation, search
Line 1: Line 1:
In order to use of Little John, one needs first to initialize the vision system that is responsible for obtaining the robot's pose. To do so, follow this steps:
+
In order to use Little John, one needs first to initialize the vision system that is responsible for obtaining the robot's pose. To do so, follow this steps:
  
 
1- roslaunch markers markers_odometry.launch
 
1- roslaunch markers markers_odometry.launch
Line 9: Line 9:
 
Now, follow the procedures to initialize the robot:
 
Now, follow the procedures to initialize the robot:
  
1- Connect the robotic arm in an outlet;
+
1- Connect the robotic arm into an outlet;
  
2- Connect the robotic arm in the computer through an USB port;
+
2- Connect the robotic arm to the computer through a USB port;
  
 
3- sudo chmod 777 /dev/ttyUSB0
 
3- sudo chmod 777 /dev/ttyUSB0
Line 19: Line 19:
 
5- Turn on the mobile base;
 
5- Turn on the mobile base;
  
6- Connect the mobile base in the computer through an USB port;
+
6- Connect the mobile base in the computer through a USB port;
  
 
7- sudo chmod 777 /dev/ttyUSB1
 
7- sudo chmod 777 /dev/ttyUSB1
  
 
8- roslaunch turtlebot_bringup minimalmin.launch
 
8- roslaunch turtlebot_bringup minimalmin.launch
 
== Examples ==
 
[https://sourceforge.net/p/macroufmg/littlejohn/mobilemanipulator/HEAD/tree/trunk/ROS/catkin_ws/src/littlejohn_control/src/simulations/nonlinear_control_simulation.cpp Nonlinear Control Simulation Example]
 
 
== Doxygen documentation ==
 
[https://svn.code.sf.net/p/macroufmg/littlejohn/mobilemanipulator/trunk/ROS/catkin_ws/src/littlejohn_control/src/documentation/html/index.html Doxygen Little John]
 
  
 
== Classes Brief Explanation and UML ==
 
== Classes Brief Explanation and UML ==
 
The C++ implementation of Little John is composed of the following classes:
 
The C++ implementation of Little John is composed of the following classes:
  
- LittleJohn: Class responsible for all the robot's communication (with the simulator and the real robot) and obtention of inter parameters (e.g., whole-body Jacobian matrix, end-effector pose, etc.). An object of this class is set to used in simulation or in real experiments through a parameter of the constructor.
+
- LittleJohn: Class responsible for all the robot's communication (with the simulator and the real robot) and obtention of inter parameters (e.g., whole-body Jacobian matrix, end-effector pose, etc.). An object of this class is set to use in simulation or in real experiments through a parameter of the constructor.
  
 
- RoboticArm: Class responsible for the communication with the robotic arm.
 
- RoboticArm: Class responsible for the communication with the robotic arm.
Line 40: Line 34:
 
- MobileBase: Class responsible for the communication with the mobile base.
 
- MobileBase: Class responsible for the communication with the mobile base.
  
The classes RoboticArm and MobileBase are meant to serve as intern attributes of the class LittleJohn and, therefore, their access occur indirectly through an object of LittleJohn. This is made clearer in the UML that follows.
+
The classes RoboticArm and MobileBase are meant to serve as intern attributes of the class LittleJohn and, therefore, their access occurs indirectly through an object of LittleJohn. This is made clearer in the UML that follows.
  
 
[[File:little_john_uml.jpg|200px|thumb|center]]
 
[[File:little_john_uml.jpg|200px|thumb|center]]
 +
 +
== Doxygen documentation ==
 +
[https://svn.code.sf.net/p/macroufmg/littlejohn/mobilemanipulator/trunk/ROS/catkin_ws/src/littlejohn_control/src/documentation/html/index.html Doxygen Little John]
 +
 +
== Examples ==
 +
[https://sourceforge.net/p/macroufmg/littlejohn/mobilemanipulator/HEAD/tree/trunk/ROS/catkin_ws/src/littlejohn_control/src/simulations/nonlinear_control_simulation.cpp Nonlinear Control Simulation Example]

Revision as of 13:14, 25 August 2017

In order to use Little John, one needs first to initialize the vision system that is responsible for obtaining the robot's pose. To do so, follow this steps:

1- roslaunch markers markers_odometry.launch

2- rosrun rqt_reconfigure rqt_reconfigure

3- Select ar_track_alvar and set max_frequency (29.87Hz).

Now, follow the procedures to initialize the robot:

1- Connect the robotic arm into an outlet;

2- Connect the robotic arm to the computer through a USB port;

3- sudo chmod 777 /dev/ttyUSB0

4- roslaunch my_dynamixel_tutorial ax18_controller.launch

5- Turn on the mobile base;

6- Connect the mobile base in the computer through a USB port;

7- sudo chmod 777 /dev/ttyUSB1

8- roslaunch turtlebot_bringup minimalmin.launch

Classes Brief Explanation and UML

The C++ implementation of Little John is composed of the following classes:

- LittleJohn: Class responsible for all the robot's communication (with the simulator and the real robot) and obtention of inter parameters (e.g., whole-body Jacobian matrix, end-effector pose, etc.). An object of this class is set to use in simulation or in real experiments through a parameter of the constructor.

- RoboticArm: Class responsible for the communication with the robotic arm.

- MobileBase: Class responsible for the communication with the mobile base.

The classes RoboticArm and MobileBase are meant to serve as intern attributes of the class LittleJohn and, therefore, their access occurs indirectly through an object of LittleJohn. This is made clearer in the UML that follows.

Little john uml.jpg

Doxygen documentation

Doxygen Little John

Examples

Nonlinear Control Simulation Example