Robotics StackExchange | Archived questions

How to implement control of Husky robot using voltage of motors or rotation of wheels directly?

I am trying to control the rotation speed of Husky's wheels directly rather than linear and angular velocities of the robot. Is that possible and how it can be implemented?

Asked by ajnyh on 2023-04-02 02:21:56 UTC

Comments

What type of ros node is subscribed to the cmd_vel topic?

Asked by Mike Scheutzow on 2023-04-02 11:03:22 UTC

ROS node /twist_mux is subscribed to the cmd_vel

Asked by ajnyh on 2023-04-03 04:21:46 UTC

OK, what type of node follows the twist_mux?

Asked by Mike Scheutzow on 2023-04-03 07:07:03 UTC

twist_mux publishes /husky_velocity_controller/cmd_vel which is subscribed by node husky_node. husky_node publishes the following topics * /diagnostics [diagnostic_msgs/DiagnosticArray] * /husky_velocity_controller/odom [nav_msgs/Odometry] * /husky_velocity_controller/parameter_descriptions [dynamic_reconfigure/ConfigDescription] * /husky_velocity_controller/parameter_updates [dynamic_reconfigure/Config] * /joint_states [sensor_msgs/JointState] * /rosout [rosgraph_msgs/Log] * /status [husky_msgs/HuskyStatus] * /tf [tf/tfMessage]

Asked by ajnyh on 2023-04-04 04:30:43 UTC

Answers

What you describe in the comments matches the manufacturer's smaller robot, the Jackal. On that robot, they use a rosserial-master to pass the cmd_vel message to a proprietary circuit board called the MCU. As far as I know, the manufacturer does not provide a software API to send commands to the individual wheels, so I doubt that direct wheel velocity control is possible (at least, not without a hardware hack that would completely void the warranty.)

Asked by Mike Scheutzow on 2023-04-04 06:17:40 UTC

Comments