Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Controllers and Fetch description files. #47

Open
Xianqi-Zhang opened this issue Nov 10, 2023 · 3 comments
Open

Controllers and Fetch description files. #47

Xianqi-Zhang opened this issue Nov 10, 2023 · 3 comments

Comments

@Xianqi-Zhang
Copy link

Hi,
Thanks for your sharing.

  1. For impedance:
    _step() -> _step_continuous() -> _setup_action() -> _do_simulation()
    In _setup_action(), it just setup gripper part action, rescale and set gravity compensation, without explicit force computation or convert actions to motions. Does this means that the force is calculated by Mujoco itself, only consider an action as a control signal and send to sim.data.ctrl, is impedance control? Or the mujoco use impedance control as default?
The robot senses the endpoint motion $x(t)$ and commands joint torques and forces to create $-f_{ext}$, the force to display to the user. Such a robot is called impedance controlled, as it implements a transfer function $Z(s)$ from motions to forces. 
  1. For torque:
    The only difference between torque and impedance is that the torque does not use _setup_action function (used to setup gripper part, rescale and set gravity compensation). But without setting gripper part, it cause an error "could not broadcast input array from shape...". After setup gripper part, they are almost the same. Is this control method not implemented completely yet?

  2. For NEW_CONTROLLERS:
    It seems they do not work for robots, not implemented completely yet?

  3. For experiments:
    IK controller is used for all experiments, or also with other controllers?

  4. The bullet description of Fetch is missing.
    There is no Fetch files in /models/assets/pybullet_data/fetch_description.

Thanks for any reply.

Best regards.

@Xiangyu-Lee
Copy link

Hello, I feel you have a deep understanding of this article. Could I ask you a question? I would greatly appreciate it if you could reply. I want to conduct experiments using the SAC algorithm on furniture with the furniture_name "block". However, it seems that this furniture does not have recipes. Can I set recipes myself? But how should I set some distances? I don't quite understand the rules for setting up the recipes. I would greatly appreciate it if you could reply.

@Xianqi-Zhang
Copy link
Author

Hello, I feel you have a deep understanding of this article. Could I ask you a question? I would greatly appreciate it if you could reply. I want to conduct experiments using the SAC algorithm on furniture with the furniture_name "block". However, it seems that this furniture does not have recipes. Can I set recipes myself? But how should I set some distances? I don't quite understand the rules for setting up the recipes. I would greatly appreciate it if you could reply.

Hello,

  1. Recipes:
  • For "block" recipe, you may wirite it yourself accroding to some other recipes, such as "three_blocks.yaml".
  • For parameters in recipes, you may set it accroding to code comments in "three_blocks.yaml".
  • (Only change "recipe" and "site_recipe" maybe effective too. At least you should try it first.)
  • The "recipe" and "site_recipe" are related to the "body name" and "site name" in env/models/assets/objects/xxx.xml.
  1. For recipes writed by yourself, the demonstration generation script may not work well (maybe related to parampters you set), so I strongly recommend that you only use the original 10 furniture models for experiments (please check demonstration generation part). Otherwise, it may be difficult to set up your baselines, especially IL-related baselines.

  2. This environment looks cool, but the task is difficult. I haven't even seen other papers citing it that have good results, or even slightly better results. So if you're desperate to publish a paper, this may not be a good choice, but if you want to learn how to write such an environment, then go ahead and learn. Of course, if you have a good idea, please stick to it.

  3. Finally, it has been a long time since I read this code, and I can't remember many parts. I'm very sorry.

Best regards.

@Xiangyu-Lee
Copy link

Xiangyu-Lee commented Apr 1, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants