RoCo demonstration brainstorming
We came up with some challenging problems for RoCo demo and we will keep brainstorming. (Thank you Nabeel and Mauricio) Here are some ideas (currently focusing on Paperbot, will extend to other robots later on):
-
Robot going through large ridges or bumps: robot will get stuck on a ridge if wheel diameter is not large enough or if the robot is too wide.
-
Robot following path with sharp turns: smaller wheel diameter is needed to follow precisely, larger wheel diameter is needed to finish the task on time.
-
Robot going up or down a very steep incline: need certain wheel diameter to maintain speed and torque, certain mass to control friction, but large wheels will cause the robot to tip.
-
Battle bots/ramming another robot: need high mass but low friction to acceleration to a high momentum (optimizing momentum, wheel radius is also a factor) [I need more time to think about this one, it sounds interesting, but I need to think through]
Project overview
I also talked to Pehuen, we agreed on how this research will be carried out and Pehuen will help with the optimization part of the problem. The basic logic is (this is also for Nabeel to catch up with the progress): We have RoCo take design parameters (e.g. w, l, h, etc) as input, expand the functionality of RoCo to generate 3D ready-to-simulate design file (the more I think about it, the more I feel like we need generate a file can be applied not just to Webots but other simulation tool as well, so I think .obj will be our best option.) Once we have the automatic generated file, we will apply that to Webots + some solid environment (no Scenic involved at this stage). Output from Webots (e.g. v) will be grouped with RoCo input (e.g. w, l, h, etc) as a set of input-output-relationship. We will be some (maybe 10-100) sets needed in order to build an input-output-relationship so that we can give the best redesign suggestion from performance. I will work on automating RoCo to generate ‘simulatable’ robots, and Pehuen will work on the optimization part later on.
I have also talked to Yusuke regarding my current progress, so that Yusuke can carry on the Webots simulation part of the problem.
RoCo implementation questions
- In Paperbot.yaml, the paperbot is considered as one piece. Is this understanding correct?
-
In function STLWrite(faces, fp, kwargs), the faces contain all parts, body and wheels. Do you know if there is an easy way to differentiate the body and wheels? (I know this is do-able since it is separated in DXF 2d drawing, but I am having trouble finding where it happens)
-
Can we split different body part in the ESPSegBuilder.py? We will still have a whole body ESPSeg.yaml saved to library in the end, but adding different components along the way, e.g. body.yaml, wheel.yaml. Do you think this is a valid approach?