The robotic arm is now fully operational. It has 6 Degrees of Freedom and can be controlled remotely from any laptop running the interface software.The robotic hand is capable of simple tasks such as lifting and carrying small objects. I have attached a wireless AV camera to the robotic hand. A human operator can now “see” what the robot is doing and issue commands accordingly over the wireless data link.
In this earlier post, I had documented a Serial Communications Class for data transfer with an Arduino device in the Qt environment. While it worked OK for transferring data at slower data transfer rates, it couldn’t handle fast communications with the the Invensense MPU6050 IMU. Also, that version had a lot of other problems:-
I have been learning Qt for a while now, and one its features is the very powerful concept of SIGNALS and SLOTS. I have become very dependent on the signal-slot mechanism and I use it liberally in the projects that I play around with.
Having experimented with the Arduino, and having gotten quite familiar with the basics, I needed a way to port Arduino data into the Qt environment so that I could do more complex stuff than the Arduino’s 32KB memory onboard memory would allow. Most examples of porting Arduino data to a PC are implemented with the processing programming language . Programming in processing is quite simple to learn, and easy to distribute when you’re done. But processing is doesn’t have a very well developed GUI and I needed a way to connect my Arduino into the Qt environment because I really like the signal-slot mechanism.