To be Synchronous or Asynchronous, that is the question
What are we talking about? Communication between programs can be Synchronous (send out a request, get a response, in that order, always) or Asynchronous (requests are sent and responses received, but messages can be sent in either direction at any time). There's a lot going on behind the scenes in every Apollo Robot, and even in this blog you are reading right now. Both have Synchronous and Asynchronous components.
In preparation for a plug and play web interface for Apollo, the oshRobot webserver was upgraded with Asynchronous Gunicorn workers. These interact with WebSockets, allowing for a responsive robot interface available over the internet without the need to open ports on your firewall/router.
Also Asynchronous is oshRobot Live Chat. If you see this Icon on the top right of oshrobot.com, a staff member is available to answer your questions in a Live Chat. Shoot us an email (Staff@oshRobot.com) or leave a question/comment in the support forum otherwise.
Additional temporally relevant asynchronous communications can be found in the robot motion controller, comprised of a Raspberry Pi 4, and two Teensy 3.2 Adruinos. In an effort to maximize accessibility, the oshMotion controller runs on the current standard release of Rasberry Pi OS Lite (Kernel 5.1, Debian 11). Not being a real-time operating system, response time varies. Subsequently an asynchronous serial communication is required between the Pi and micro-controller to achieve a consistent 1ms servo loop.
Check out the video below where we test out oshMotion, moving Apollo's arms from a stop to full speed in one direction, to a stop, and full speed in the other direction 6 times per second. To verify the test, an additional Arduino compatible microcontroller (Teensy 3.2) is programmed to monitor the step counts and pulse widths heading to the stepper drivers, making sure each and every step is accounted for. 1640 steps in each direction, every time.
Now let's look inside Apollo's mechanical engineering as we assemble an Apollo 10
Specialized Assembly Fixtures make sure each Apollo 10 is square and precise
Kevlar timing belts provide a near zero backlash drive and gear reduction for the primary arms
Full Metal Drive
Positioning the motor, arm, and belt tensioner on the same aerospace aluminum plate provides the rigidity necessary for ultimate precision
Also in an effort to maximize it's accessibility, Apollo 10 can be purchased as a Kit, or Fully Assembled
If you've got a lot of time on your hands, and you feel like you could see yourself building a robot, opt for the Kit version of Apollo 10, and save about $1,000.
Purchase an Apollo Kit, and an Apollo Assemblers Package. If you've chosen an option with Short or Long arms, also add appropriately sized arm fixtures to your cart, as only a Medium Primary Arm fixture is included in the Assemblers Package.
Assembling an Apollo 10 is much like building a robot, as you're building a robot... Great instructions, documentation, and support are available though, so give it a try if you're up for the challenge.
Purchase an Assembled Apollo 10 if you want to forego the arduous yet rewarding assembly process.
Small Aluminum End Effector Installed
An Apollo 10S during assembly. This robot has Short Primary Arms installed, but no secondary arms or end effector
The varied and illusive Mitsubishi spyder
As usual, the harsh jungle road conditions have caused a drive-train issue on the Mitsubishi. This Tri-Joint lost a bearing. Many days, many trips to the auto-store, many axle / cv joint combos later, a new spyder joint is installed. Most of the parts are different sized from the originals, but the important parts, the hub and differential mating surfaces match.
Replacement parts aren't always easy to find in the jungle. You'll soon find out the reason why you're "looking after parts" rather than acquiring them. Make sure to wash everything thoroughly in petrol to remove the sand and dirt packed in the new used parts you've found.
“Gentlemen, you can't fight in here! This is the War Room!” - Peter Sellers, Dr StrangeLove