Control each wheels independently Summit XL

asked 2019-11-22 04:22:49 -0500

NarcisseNaabot gravatar image

Hi guys,

I wanted to ask you some questions. I want to control independently each heels of my robot. Different control exists and I choose the omni_control one. But what I want is to published a velocity only for 1 wheel. Different cmd_vel exists with that config but I don't really know how to publish inside them and in which one. Is someone encounter this issue ?

Here is the topics that I have :

/clock
/diagnostics
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/gazebo_gui/parameter_descriptions
/gazebo_gui/parameter_updates
/rosout
/rosout_agg
/summit_xl_a/cmd_vel
/summit_xl_a/docker/cmd_vel
/summit_xl_a/fix
/summit_xl_a/fix/position/parameter_descriptions
/summit_xl_a/fix/position/parameter_updates
/summit_xl_a/fix/status/parameter_descriptions
/summit_xl_a/fix/status/parameter_updates
/summit_xl_a/fix/velocity/parameter_descriptions
/summit_xl_a/fix/velocity/parameter_updates
/summit_xl_a/fix_velocity
/summit_xl_a/front_laser/scan
/summit_xl_a/imu/data
/summit_xl_a/imu/data/accel/parameter_descriptions
/summit_xl_a/imu/data/accel/parameter_updates
/summit_xl_a/imu/data/bias
/summit_xl_a/imu/data/rate/parameter_descriptions
/summit_xl_a/imu/data/rate/parameter_updates
/summit_xl_a/imu/data/yaw/parameter_descriptions
/summit_xl_a/imu/data/yaw/parameter_updates
/summit_xl_a/initialpose
/summit_xl_a/joint_states
/summit_xl_a/map
/summit_xl_a/map_updates
/summit_xl_a/move/cmd_vel
/summit_xl_a/move_base/cmd_vel
/summit_xl_a/move_base_simple/goal
/summit_xl_a/pad_teleop/cmd_vel
/summit_xl_a/particlecloud
/summit_xl_a/robotnik_base_control/cmd_vel
/summit_xl_a/robotnik_base_control/odom
/summit_xl_a/robotnik_base_hw/emergency_stop
/summit_xl_a/twist_marker
/tf
/tf_static

I work with the simulation of the summit XL. When I launch I activate the omni_drive mode :

roslaunch summit_xl_sim_bringup summit_xl_complete.launch omni_drive:=true

Like this it can load the right config for each wheels. Thank you for your help.

N.B. : I work with ROS Kinetic. I've deleted the cameras topics.

edit retag flag offensive close merge delete

Comments

Hi @NarcisseNaabot

I am not sure if this is an XY Problem...

Either way, to achieve what you want, you will need to provide another controller config file. The Gazebo model of the Summit XL contains one VelocityJointInterface for each wheel joint and they encapsulated the control over a control node that moves the whole platform.

If you want to control each well independently, just load one joint_velocity_controller per wheel (actuator). Once the control config is properly loaded, the controller will provide you with the set of topics in which you can publish the values of velocity.

Weasfas gravatar image Weasfas  ( 2019-11-26 05:33:51 -0500 )edit