-
Notifications
You must be signed in to change notification settings - Fork 357
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
Clarification on Each Dimension's Meaning for ActionType.VEL #203
Comments
Hi @input-0313 yes, you are correct, the first 3 components of the 4D action space in Of course, as you noted and if you prefer, you can modify this simply by re-implementing method |
@JacopoPan Hello However, the actual drone speeds seem substantially lower than these set points. Does PyBullet have an intrinsic speed limit, or are there constraints on the velocities fed into the controller? Additionally, the drone occasionally flips or exhibits instability—might this be due to a need for PID tuning? If so, could you recommend some resources for PID parameter optimization? |
The control input (as individual motor RPMs) is computed from the desired velocity via the DSLPIDControl class in these lines. The resulting desired thrust will be limited by the fact that the target position is the same as the current one, you could try to increase the gym-pybullet-drones/gym_pybullet_drones/envs/VelocityAviary.py Lines 158 to 166 in 50d1a95
|
@JacopoPan
Hello,
I'm currently working on a project using the gym-pybullet-drones environment, and I'm implementing drone control using the ActionType.VEL. I observed that the action space is defined with a size of 4 for each drone when this action type is used.
Could you clarify what each of the four dimensions in this action vector represents specifically for ActionType.VEL?
Additionally, in the "_preprocessAction" function, the target velocity vector is determined by the formula:
target_vel = self.SPEED_LIMIT * np.abs(target[3]) * v_unit_vector
Could you please explain why only the 4th dimension of the action vector is considered for the velocity's magnitude? Does this mean that the first three dimensions are intended for direction, and the fourth for scaling the velocity to the desired magnitude?
I'm trying to understand the underlying logic to ensure correct implementation and possibly make necessary adjustments for my project.
Thank you for your help!
The text was updated successfully, but these errors were encountered: