I would like to share my work on integrating the AR3 with ROS and MoveIt. I've released a baseline version of my code with the necessary packages to get you started with controlling your own arm. I hope that it will be helpful for those looking to explore ROS and MoveIt.
The project is available at: https://github.com/ongdexter/ar3_core
I have implemented a joint position trajectory controller in the ros_control framework coupled with a simple position control on the Teensy. Tracking trajectories generated by MoveIt enables more complex behaviours like moving around obstacles.
I have included a basic implementation of the move group API which should be sufficient for simple tasks. However, I don't intend to develop a full GUI for teaching tasks as that falls outside of my intended use case and especially since Chris has already developed a very efficient tool for that in ARCS.
Everything is in C++, though the MoveIt Commander Python scripting interface can used to interface with the core software. I'll likely use it for a simple jogging tool, for instance.
You may have also noticed from the video that I've made some changes to the encoders as well. I've shifted the J2 and J5 encoders to the joints to ensure correspondence between the actual joint position and the model in MoveIt for motion planning. I'll detail those changes in a separate thread.
I intend to explore some vision-based planning and I'll be happy share my progress. I hope that some will find my work useful and I welcome any suggestions and contributions.