A Beaglebone Black fitted with an Isenberg Robotics BeagleBone Robotics Cape and a USB WiFi dongle form the hardware foundation for this robot. State measurements of the robot including wheel increments, acceleration, angular velocity, heading, and GPS coordinates are transmitted via wireless link to a PC. Robot Operating Systems (ROS) on both the PC and BeagleBone handles the packing, transmission, and unpacking of data as a standard ROS topic. The robot, as shown, is also instrumented with motion capture markers from a PhaseSpace X2E motion capture system. This is also networked to the PC via a ROS topic. A ROS node on the PC unpacks the data, computes a control signal, and publishes it back out on another ROS topic that the BeagleBone subscribes to thereby creating a closed loop system. The dynamic model of this robot has been identified and is described: System identification of a mobile robot with motion capture data. With a dynamic model, a ground truth via the motion capture system, and a closed-loop framework, this robot has served as the basis for much of my recent work in mobile robot control.
Many manipulator and mobile robotics problems can be solved with kinematic control strategies. While knowledge of the dynamics can certainly improve performance, it it is not always required for many of these problems. This is not the case for a robot, or any system, that must balance under the influence of gravity. Such systems provide a much more rewarding challenge!
The goal of this project is two-fold. Besides balancing, the robot must also be simultaneously capable of position control. Preliminary simulations have indicated a straightforward strategy for achieving this goal. First, however, the dynamic model of the robot is required. Obtaining the parameters of this model from experimentation is the first phase. Check back for updates!
In the fall of the 2021 and spring of 2022, I advised a group of senior students who designed and built a 6 degree of freedom manipulator, MATIE, in order to have a platform on which the interesting control techniques from my Robotics II course could be applied. The low cost motors available to capstone groups unfortunately have a significant amount of backlash. It occurred to me that the backlash could be decreased through addition backlash-free reduction such as the reduction that is possible with timing belt pulleys. The first joint of the robot on the left (that rotates about the vertical axis) was a prototype to test this idea. Indeed, the angular backlash is decreases by the factor equal to the additional reduction. This robot is no serving as a test platform for investigating manipulator calibration (kinematic system identification). The current project involves comparing blind machine learning based approaches with both classical methods and hybrid methods of calibration using motion capture data for the truth data.
The SCARA configuration is clever in that the inner most joint actuators do not need to overcome the force of gravity as is the case for the second and third joints on most revolute manipulators. Without a third link, the 2-DoF SCARA is the prototype 2-link manipulator from which many analytical solutions are derived. This makes it an interesting robot to have on hand! This specific manipulator was originally designed to perform experiments in system identification and dynamic control. The "control box" contains a switching power supply, motor drivers, quadrature decoders, and a PIC-based circuit board with a custom RS-232 interface protocol. Programming of the robot is accomplished on a PC (in Python or MATLAB in my case). The PC reads in the angle data, computes a control, and sends the appropriate motor signals back to the PIC-based circuit board to drive the motors. This robot was used for the paper: Sensorless Force Estimation for a Two-Link Manipulator Based Upon Linear Dynamics.
This robot was developed for use in the laboratory component of my Control Systems course at High Point University. Lab experiments include transfer function identification of the DC gear motors using the method described in my paper: Transfer Function Identification for Small DC Gear Motors Using Only Angular Position , Motor Speed Control, Kinematic (P-Control) position control, PID wall-following (notice the orthogonally oriented distance sensors on the side) described here, and balancing control.