Little John Tutorials
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.