| Honestly wish you all the best here! Truly, it's great that you're trying to simplify the deployment of robotics, because that would be great for everyone. One thing I have to say looking at your website, is that is has serious "Underpants Gnomes" vibes. 1. Build in sim
2. Test in sim
...
3. Deploy on a real robot Taking something from simulation and having it work "effortlessly" (as your marketing puts it) is sort of the holy grail of robotics. It's something that has confounded researchers and roboticists for a long time, so I'm a little bit skeptical as to whether your product actually lives up to the promises made in your marketing material. It would help if you showed more demos of what this means in a practical sense. In the video on your website it shows a simulated tractor, and then a tractor moving in an open field with no obstacles. This is pretty much the best case scenario, but how does it actually perform in more realistic scenarios? Going into your FAQ a little, it seems to suggest the process isn't so seamless: We’ve built Polymath with the goal of a seamless transition from sim to reality (other than necessary-but-minimal tuning of controls).
"Necessary-but-minimal" is kind of understating how difficult sensor calibration and controller tuning is. It's all the difference between a simulated world and the real world (and also necessitates the need for controls and perception experts, which your marketing seems to imply are not needed or minimally necessary with your product). I'm curious how your product makes this process easier.It appears like your value-add is that your product simplifies the whole ROS tech stack to some degree, but to me I would imagine transitioning from sim to reality without much work would imply that you have made real advancements in simulation technology. Is that the case? Or does your product mostly address improvements in the development experience? |
You are asking about the FAQs here: https://www.polymathrobotics.com/product
We are actually a hardware and real robots company first! Our simulator efforts are for two purposes: 1. Allow more people to try out our autonomy core, and build on top of our API 2. Allow our own developers to run testing and tuning in sim.
To your point, we don't expect tuning to purely happen in sim. However, we did have our senior controls engineer just recently tune up a controller in sim for Caladan, and later deploy practically the same thing to the real vehicle, leading to much smoother steering commands. We'll write about that in detail in the future.
Our work is to ensure that API commands that are sent in sim, behave as close to identically as possible on real vehicles, thereby allowing people who build on top of us to focus on higher level software stack (business logic layer, etc). Hence, users of our API don't need to have any robotics experience, they simply command the vehicle to do something, and we ensure it gets done. (and our team is comprised of perception, controls, ML, etc engineers)
The details of how this is done will be a future writeup, but the summary is that we pass sensors through a Hardware Abstraction Layer (HAL), along with kinematic/dynamic configuration and data about the vehicle. This allows the global and local planners to plan for a more generic vehicle (ex: Ackermann steering vs differential steering), while the HAL ensures that the planners don't generate unfeasible or unsafe commands.
Let me know if the above answers your questions!