Skip to content

Commit

Permalink
Quartz sync: Feb 9, 2024, 3:02 AM
Browse files Browse the repository at this point in the history
  • Loading branch information
Ray Song committed Feb 9, 2024
1 parent 2b797aa commit 617fc5e
Showing 1 changed file with 30 additions and 3 deletions.
33 changes: 30 additions & 3 deletions content/FSM/FSM Week 6 Update.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Progress

## Habitat API
Still have difficulty figuring out how to have Stretch Robot imported into Habitat. Found another project [Home Robot](https://github.com/facebookresearch/home-robot) for Stretch Robot simulation and control using ROS and Habitat, but some packages like Pytorch3D, pyg require osx-64, my machine is osx-arm64, we need to find a machine that satisfies all packages.
### Task Setting
Different tasks could be save in configuration .yaml file. The format looks like below, but I haven't find a detailed doc talking about the format.
```yaml
Expand Down Expand Up @@ -94,13 +95,39 @@ SPL = \frac{1}{N} \sum_{i=1}^{N} S_i \frac{l_i}{\max(p_i, l_i)}
$$
This benchmark is purposed in [On Evaluation of Embodied Navigation Agents](https://arxiv.org/abs/1807.06757). For navigation, maybe we could use this directly.

Some metrics are considered to be used:
- measuring the distance from points on the path to the closest obstacle
- evaluating robot motion risk

Another paper [Benchmarking Metric Ground Navigation](https://arxiv.org/abs/2008.13315) purposed a set of metrics and a data-driven model to combine them to quantify the challenge posed by a particular environment for mobile robot navigation:
- Distance to Closest Obstacle
- Average Visibility
- Dispersion
- Characteristic Dimension
- Tortuosity

When I did research, "localization" is a word that used a lot, but I don't think I fully understand what it is.

>Robot localization is the process of determining where a mobile robot is located with respect to its environment.
\-[Wiley Encyclopedia of Electrical and Electronics Engineering](https://onlinelibrary.wiley.com/doi/full/10.1002/047134608X.W8318)

Basically, it provides location information of the robot. This information is usually gathered by sensors that monitor robots' motions. And the knowledge of reliability of the location estimate is crucial as there could be lots of noises in the environment, and it impacts the decisions the robots make.

## Virtual Machine
I gained lots of experience setting up the environment so far, and Arm64 is not compatible(Pytorch3D, ROS, etc.) in the most of time which is disappointing.

I have tried 4 different virtual machine softwares: UTM, VMWare Fusion, Virtual Box, Parallel Desktop. I like UTM, the interface is simple, and you can emulate x86 system. However, the emulation is extremely slow, I tried to install Ubuntu 20.04 desktop x86_64 using UTM, and the installation process took about 1 hour, so I don't encourage you to use it.
# Plan

Besides navigation, we may need to think about benchmarks in other tasks, such as picking, task time, etc.

Another thing is try to set Habitat on Colab although it is not officially supported. Installation script was removed on official Github repo, but here is a [previous version](https://drive.google.com/file/d/1TtrDDLWs786yp7h8vIB9jiFi0N96tVg8/view) I found.

- Setup Habitat on Colab
- Exploring Habitat
- Figuring out more benchmark
- [ ] Exploring Habitat
- [ ] Finding alternative libraries writing FSM
- [ ] Try to write simple FSM and make it work in Habitat in realtime
- [ ] Try to implement a FSM visualization, something like SMACH viewer

#### Related Links
- RT-2 by Google: https://robotics-transformer2.github.io/, Transfer Web Knowledge to Robotic Control
Expand Down

0 comments on commit 617fc5e

Please sign in to comment.