As we discussed last Thu, there are two things to be done, so that our collaborators can have something to work on:
Write a controller to make the paperbot go to a specific target location.
Build an environment (manually for now) and apply it to Webots, and then replace it with Scenic later on.
Controller: move to target
Manually build environments:
There is an incline, a mountain, and some bumps, here is an screenshot:
Car moving in the environment, moving towards goal
1. A few adjustments
1.1. I adjusted the friction coefficient between the wheels and ground (set to high), and also adjusted the friction coefficient between the tail and ground (set to low).
1.2. I added a 'gps' node to get the location of the robot.
1.3. I added a 'compass' node to get the direction the robot is heading.
1.2. Using paperbot, with thin wheels. The car can not climb the hill or pass the bumps, due to non-sufficient friction on the wheel. Therefore, I changed wheels to cylinder and the car can move across bigger bumps as expected (see examples in the following sections).
2. After implementing the above adjustments, Here are some examples: Quadrant IV, bumps
3. Quadrant I, hill
4. Quadrant II, mountain
5. Quadrant III, flat surface
RoCo to Webots
I updated RoCo so that it can generate component information for robot with thickness.
Those info were imported into Webots and we got a new paperbot(with wall thickness)
The robot works (at least in the beginning). Currently the robot goes crazy in simulation, I will keep tuning parameters to make it work.
- Revise controller to read target location from property input (static environment and later on, Scenic environment input) instead of a hard coded location.
- Try to build environment from Webots, e.g. inclines, so that environment can be adjusted easily. Currently, environment is a solid piece.
- Break current solid environment into different pieces, for example, one hill, one bumps, one ditch, one with rocks. Send to Daniel to play around in Scenic. These pieces can also be imported into Webots, move around, scale up and down, rotate around (as a test out). I will try it out, I think it will be interesting.
- RoCo to Webots API development. Currently, geometry info can be extracted from RoCo and copy and paste into Webots simulation program. I will try to extract mechanical properties. Once we have all information ready to dispose, I will try to generate Webots .wbt simulation program automatically.