Ask Your Question

youbot hello world example arm not moving.

asked 2015-06-06 20:58:47 -0500

Truce gravatar image

I have ROS Hydro. I installed the ROS wrapper for youbot, and when I run the hello world example, the base moves but the arm doesn't. I am trying to simulate it in gazebo. I did: roslaunch youbot_gazebo_robot youbot.launch then I did: rosrun youbot_ros_hello_world youbot_ros_hello_world I am also having error loading the urdf material but I don't think that is the reason.

I have tried giving: rostopic pub /arm_1/arm_controller/position_command brics_actuator/JointPositions '{positions:[ {joint_uri: arm_joint_1, unit: rad, value: 1.0}]}' but the arm doesn't move.

My output looks like this:


PARAMETERS * /arm_1/arm_controller/constraints/arm_joint_1/goal * /arm_1/arm_controller/constraints/arm_joint_2/goal * /arm_1/arm_controller/constraints/arm_joint_3/goal * /arm_1/arm_controller/constraints/arm_joint_4/goal * /arm_1/arm_controller/constraints/arm_joint_5/goal * /arm_1/arm_controller/constraints/goal_time * /arm_1/arm_controller/gains/arm_joint_1/d * /arm_1/arm_controller/gains/arm_joint_1/i * /arm_1/arm_controller/gains/arm_joint_1/p * /arm_1/arm_controller/gains/arm_joint_2/d * /arm_1/arm_controller/gains/arm_joint_2/i * /arm_1/arm_controller/gains/arm_joint_2/p * /arm_1/arm_controller/gains/arm_joint_3/d * /arm_1/arm_controller/gains/arm_joint_3/i * /arm_1/arm_controller/gains/arm_joint_3/p * /arm_1/arm_controller/gains/arm_joint_4/d * /arm_1/arm_controller/gains/arm_joint_4/i * /arm_1/arm_controller/gains/arm_joint_4/p * /arm_1/arm_controller/gains/arm_joint_5/d * /arm_1/arm_controller/gains/arm_joint_5/i * /arm_1/arm_controller/gains/arm_joint_5/p * /arm_1/arm_controller/joints * /arm_1/arm_controller/type * /arm_1/gripper_controller/gains/gripper_finger_joint_l/d * /arm_1/gripper_controller/gains/gripper_finger_joint_l/p * /arm_1/gripper_controller/gains/gripper_finger_joint_r/d * /arm_1/gripper_controller/gains/gripper_finger_joint_r/p * /arm_1/gripper_controller/joints * /arm_1/gripper_controller/type * /gazebo_ros_control/pid_gains/caster_joint_bl/d * /gazebo_ros_control/pid_gains/caster_joint_bl/i * /gazebo_ros_control/pid_gains/caster_joint_bl/p * /gazebo_ros_control/pid_gains/caster_joint_br/d * /gazebo_ros_control/pid_gains/caster_joint_br/i * /gazebo_ros_control/pid_gains/caster_joint_br/p * /gazebo_ros_control/pid_gains/caster_joint_fl/d * /gazebo_ros_control/pid_gains/caster_joint_fl/i * /gazebo_ros_control/pid_gains/caster_joint_fl/p * /gazebo_ros_control/pid_gains/caster_joint_fr/d * /gazebo_ros_control/pid_gains/caster_joint_fr/i * /gazebo_ros_control/pid_gains/caster_joint_fr/p * /gazebo_ros_control/pid_gains/wheel_joint_bl/d * /gazebo_ros_control/pid_gains/wheel_joint_bl/i * /gazebo_ros_control/pid_gains/wheel_joint_bl/p * /gazebo_ros_control/pid_gains/wheel_joint_br/d * /gazebo_ros_control/pid_gains/wheel_joint_br/i * /gazebo_ros_control/pid_gains/wheel_joint_br/p * /gazebo_ros_control/pid_gains/wheel_joint_fl/d * /gazebo_ros_control/pid_gains/wheel_joint_fl/i * /gazebo_ros_control/pid_gains/wheel_joint_fl/p * /gazebo_ros_control/pid_gains/wheel_joint_fr/d * /gazebo_ros_control/pid_gains/wheel_joint_fr/i * /gazebo_ros_control/pid_gains/wheel_joint_fr/p * /joint_state_controller/publish_rate * /joint_state_controller/type * /robot_description * /robot_state_publisher/publish_frequency * /rosdistro * /rosversion * /use_sim_time * /world_description

NODES / arm_1_arm_controller_spawner (controller_manager/spawner) arm_1_gripper_controller_spawner (controller_manager/spawner) gazebo (gazebo_ros/gzserver) gazebo_gui (gazebo_ros/gzclient) gazebo_world_model (gazebo_ros/spawn_model) joint_state_controller_spawner (controller_manager/spawner) robot_state_publisher (robot_state_publisher/robot_state_publisher) spawn_robot (gazebo_ros/spawn_model)

auto-starting new master process[master]: started with pid [8103] ROS_MASTER_URI=http://localhost:11311

setting /run_id to e490f68e-0cb7-11e5-98e5-88532e128978 process[rosout-1]: started with pid [8116] started core service [/rosout] process[gazebo-2]: started with pid [8130] process[gazebo_gui-3]: started with pid [8136] process[gazebo_world_model-4]: started with pid [8144] Gazebo multi-robot simulator, version 1.9.6 Copyright (C) 2014 Open Source Robotics Foundation. Released under the Apache 2 License.

Gazebo multi-robot simulator, version 1.9.6 Copyright (C) 2014 Open Source Robotics Foundation. Released under the Apache 2 License.

process[spawn_robot-5]: started with pid [8147] process[joint_state_controller_spawner-6]: started with pid [8150] Msg Waiting for master.process[arm_1_arm_controller_spawner-7]: started with pid [8155] process[arm_1_gripper_controller_spawner-8]: started with pid [8176] spawn_model script started Msg Waiting for master Msg Connected to gazebo master @ http://127.0.0 ... (more)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-02-06 00:13:30 -0500

vijendra1125 gravatar image

updated 2017-02-06 23:01:10 -0500

You are not able to simulate in Gazebo using youbot_ros_hello_world because that file is publishing arm and gripper data on the topic "arm_1/arm_controller/position_command" and "arm_1/gripper_controller/position_command" respectively (you could check this in youbot_ros_hello_world code) whereas no such topic exist while running simulation in Gazebo. You could check it by running following command:

//run gazebo:

$ roslaunch youbot_gazebo_robot youbot.launch

//check topics

$ rostopic list

Topics on which you need to publish data are as give below:

For arm: /arm_1/arm_controller/command

For gripper: /arm_1/gripper_controller/command

Also, these topics have different message type associated with it which could be checked using following command:

$ rostopic info <topic_name>

You can check the data you need to publish for above msg type using following command:

$ rosmsg show <msg_type>

Hence, all you need to do is to publish right data in the format of message type associated with the right topic. Use the package given in the following link:

edit flag offensive delete link more


You know how I can move the arm with python, please help me by explaining why I can't find information on how to fill all the parameters of joint_position

alexisp gravatar image alexisp  ( 2021-04-19 15:31:43 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2015-06-06 20:58:47 -0500

Seen: 1,094 times

Last updated: Feb 06 '17