-
Notifications
You must be signed in to change notification settings - Fork 5
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
Motor naming discrepancy #18
Comments
So... There are typically going to be more motors on a VEX robot than there will be joints because the actuators are weak. Because of this, joint names and motor names wont match up 1:1. We definitely want to modify the gazebo plugins to take in a motor name which corresponds to that joint (I would use name instead of port id for clarity). TBH, I am not sure how this looks on a standard robot (i.e. tank drive), because I built it all for Swerve. Ideally you would group related motors and address them as one, which would allow you to connect multiple motors to one joint, but this isn't supported by Serial Driver rn and I don't plan on doing it. I suppose you can pick one motor from the motor group and then add a multiplier lol. So for a tank drive robot with three motors on each side of the drive, gazebo plugin would link the primary wheel joint to ONE of the motors and then also be configured to multiply torque/current/power by three? |
I'll set the motor names to be prefaced with As for picking which motor to actuate, do all of the motors that actuate the wheel joints like |
Take a look at this URDF I added. This is how I think plugin can be configured. The V5 Sim plugin in that branch is also somewhat up to date and can be worked off. The matrices I added there can map a vector of joint velocities/torques to the vector of motor torques/velocities arbitrarily, so don't need to worry about specifics of how things are configured, can just do as big block ops. Next up would be to add a callback that gets the velocity and position setpoint vectors for the motors of interest. Then we get velocity and position vector for all the joints we list in URDF, and transform them to actuator/sensor space. Then can apply the motor controllers (which I still need to migrate) to those position / velocity errors to get torque cmd and then transform back to joints and poly in gazebo. |
Motors could be ordered in actuator jacobian by port number? |
Motor names should always be the same, while port number can change very easily. I would order by the index in the name vector |
Closed in favor of #6. |
V5MotorCommand.msg
identifies motors usingmotor_name
The
V5MotorCommand.msg
is used to populate theV5ActuatorCommand.msg
I'd like to parse the
V5ActuatorCommand.msg
using the joint names inghost1_sim_pid.xacro
/ghost1_sim_voltage.xacro
versus the
motor_names
inv5_sim_config.yaml
since
joint_name
is already being referenced ingazebo_joint_pid_plugin.cpp
.The text was updated successfully, but these errors were encountered: