Ask Your Question

ColinG's profile - activity

2022-06-13 10:41:45 -0500 received badge  Nice Question (source)
2019-11-12 11:42:13 -0500 received badge  Famous Question (source)
2019-03-28 20:32:22 -0500 received badge  Nice Question (source)
2016-03-03 07:25:03 -0500 received badge  Student (source)
2016-03-03 07:25:01 -0500 received badge  Self-Learner (source)
2016-03-03 07:25:01 -0500 received badge  Teacher (source)
2016-03-03 07:24:19 -0500 received badge  Notable Question (source)
2015-11-11 15:59:56 -0500 received badge  Famous Question (source)
2015-07-03 12:30:16 -0500 received badge  Popular Question (source)
2015-07-03 12:30:16 -0500 received badge  Notable Question (source)
2015-06-26 16:31:14 -0500 received badge  Popular Question (source)
2015-04-30 18:48:57 -0500 received badge  Enthusiast
2015-04-25 23:58:37 -0500 answered a question Unexpected Link Position Reset When Launching Controllers

I believe I tracked down the issue. I overlooked that "setCommand" was running at first without the command variables initialized to any value, so I assume they were just some unpredictable junk number. It seems like this explains the inconsistent behavior. In any case, initializing those in the init function appears to have resolved the issue.

If anyone has more insight as to what exactly was happening on the hardware_interface end, I would be glad to hear it. Thanks to anyone that read this.

2015-04-25 22:30:24 -0500 asked a question Unexpected Link Position Reset When Launching Controllers

Hello everyone,

I am simulating a simple manipulator in Gazebo, and controlling joints via ros_control using a simplified version of this controller class. The robot model spawns normally in Gazebo every time, and sometimes the controllers function as expected.

My problem is that I sometimes see unexpected behavior, occurring instantly after launching the controller nodes: 1) Roughly half the time, the Gazebo link states all instantly become zero, and all the robot pieces jumble together at the origin, motionless. The rostopic /gazebo/link_states shows all links at exactly x, y, z = 0.

2) Rarely, the robot links appear to fly around, cycling rapidly through many random positions in space.

I notice that the issues never occur if the controller gains are set to zero, so they seem to depend on sending a nonzero input to the setCommand member function of hardware_interface::JointHandle.

Does anyone have any ideas about what might be the issue, or where I should focus troubleshooting?

I'm using ROS Indigo on Ubuntu 14.04.

Thanks in advance for any help!

2015-04-24 18:45:22 -0500 received badge  Scholar (source)
2015-04-24 18:45:21 -0500 commented answer Getting controller_manager to recognize new controller

This is exactly what I was missing! The controller is functioning now as expected. Thank you for pointing me in the right direction.

2015-04-23 23:25:44 -0500 asked a question Getting controller_manager to recognize new controller

Hello everyone,

I am trying to write a new controller as simply as possible and get it working with Gazebo, but now that I have everything set up, my new controller does not seem to register with controller_manager. I am new to ROS, ros_control, and cmake, so I am struggling to troubleshoot.

When launching my controller, parameters load successfully, but I receive an error for each controller:

Could not load controller 'joint1_position_controller' because controller type 'artbot_control_new/CustomController' does not exist.

What is necessary for controller_manager to recognize the new class? In my workspace I have:

1) Robot description and gazebo packages for a robot very similar to this tutorial. Works correctly with existing ros_controllers examples.

2) A control package with the following:

  • CMakeLists.txt and package.xml files specifying controller_interface, hardware_interface, pluginlib.
  • In src, a controller class .cpp file based on this example, with the namespace, class name, and pluginlib arguments updated.
  • A .yaml config file and launchfile specifying this package and the new controller.

I could be missing something very basic, but I am not sure where to look next. Let me know what information I can provide.

I'm using ROS Indigo on Ubuntu 14.04.

Thanks in advance!