Robotics StackExchange | Archived questions

How to use ros_control with real robot

I am trying to configure a controller for my own robot as suggested here, with using ros_controller and hardware_interface, but related documentation is not totally clear for me, then I run into roscontrolboilerplate template and tried to adapt it to my robot.

Such that I have a couple of doubts about it.

  1. read / write functions should include the code to command the motors and receive corresponding feedback from encoder. Then:

    a) Since motors in my robot are commanded through two services with angle as parameter, then do I just have to call them inside write function? If so, where is every joint position available?

    b) Current feedback position is available as topic data. So, where should this data be stored?

  2. I run demo.launch file created by setup assistant. But I am not sure how to communicate it with ros_control.

    a) Running demo.launch and then roboticarmmbpo_hardware.launch, it shows:

    process[robotic_arm_mbpo/robotic_arm_mbpo_hardware_interface-1]: started with pid [5110] process[robotic_arm_mbpo/ros_control_controller_manager-2]: started with pid [5114] process[robotic_arm_mbpo/robot_state_publisher-3]: started with pid [5117] [ INFO] [1545080133.382974836]: Waiting for model URDF on the ROS param server at location: //robotic_arm_mbpo/robot_description [ INFO] [1545080133.491500360]: RoboticArmMBPOHWInterface Ready. [ INFO] [1545080133.493281977]: GenericHWInterface Ready. Loaded joint_state_controller Loaded position_trajectory_controller Started ['joint_state_controller'] successfully Started ['position_trajectory_controller'] successfully [robotic_arm_mbpo/ros_control_controller_manager-2] process has finished cleanly

    b) If I set fake_execution to false in launch file an action client error appears: Action client not connected: /follow_joint_trajectory.

What should I do here?

Asked by jcgarciaca on 2018-12-17 16:26:57 UTC

Comments

Answers