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.
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?
I run
demo.launch
file created by setup assistant. But I am not sure how to communicate it withros_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
tofalse
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