ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
2019-09-18 03:58:59 -0500 | received badge | ● Guru (source) |
2019-09-18 03:58:59 -0500 | received badge | ● Great Answer (source) |
2017-12-10 22:48:17 -0500 | received badge | ● Guru (source) |
2017-12-10 22:48:17 -0500 | received badge | ● Great Answer (source) |
2017-07-11 03:03:23 -0500 | edited answer | ROS using C++ 11 & How to Use With Catkin? All the current distributions of ROS are compiled using C++03. You can compile your own packages using c++11 by adding |
2017-07-11 02:58:53 -0500 | commented answer | ROS using C++ 11 & How to Use With Catkin? You could try SET_SOURCE_FILES_PROPERTIES( foo.cpp PROPERTIES COMPILE_FLAGS -std=c++11). I have, however, not tried this |
2017-03-29 06:48:15 -0500 | received badge | ● Good Answer (source) |
2016-07-07 03:44:13 -0500 | received badge | ● Famous Question (source) |
2016-06-29 09:07:07 -0500 | received badge | ● Scholar (source) |
2016-06-29 09:07:02 -0500 | commented answer | Control Trinamic motor using ros_canopen We have found the issue, the main problem was that at the moment ros_canopen does not allow to map the same object in multiple PDO. Related issue here. |
2016-06-07 06:10:50 -0500 | received badge | ● Notable Question (source) |
2016-06-07 03:55:07 -0500 | commented answer | Control Trinamic motor using ros_canopen I have updated the eds and added updated candump here |
2016-06-07 01:36:20 -0500 | received badge | ● Popular Question (source) |
2016-06-07 00:38:02 -0500 | commented answer | Control Trinamic motor using ros_canopen Adding ParameterValue to 6060 and 6040 helped to get rid of 081 emergency message. The problem is that I still get the same error: Transition timeout; Could not enable motor; Transition timeout. Maybe you know what other issues I might have? |
2016-06-06 02:53:47 -0500 | asked a question | Control Trinamic motor using ros_canopen I am trying to control Trinamic PD-1160 motor using ros_canopen. The motor is DS402 complient. The CANopen manual of this motor is located here. I have configured the canopen_motor_node using the following eds and yaml files. The canopen_motor_node starts successfully using this configuration file but initialization service fails with the following error: Here is a short snippet of candump output that I get when initializing the canopen_motor_node: From this I see that the first control word and operation mode is all 00 (message 301). The motor responds with emergency message to this. From the motors documentation this error message is: My question is weather this is a configuration issue or a bug in ros_canopen. The motor documentation has a section describing that in order to move the motor its operation mode has to be changed first and only then the state switching should occur. Note that I have changed the switching_state parameter to 2 but this did not have any effect on init function behavior. |
2016-05-09 02:48:44 -0500 | commented answer | How to used ROS_CANopen? I believe indigo-devel should be the most up to date code. |
2016-05-08 20:05:32 -0500 | received badge | ● Good Answer (source) |
2016-05-06 05:23:54 -0500 | received badge | ● Nice Answer (source) |
2016-05-06 00:45:35 -0500 | answered a question | How to used ROS_CANopen? I assume you are using this USB-to-CAN device. You are right ros_canopen only supports SocketCAN interface. If you want to use another kernel driver i.e. ECI you will have to implement a custom driver plugin. You could have a look at how socketcan_interface is implemented in ros_canopen here. That being said it seems that your USB-to-CAN device also supports SocketCAN. The driver is located here. So you could have a look at it. Another question is does your robot use OpenCAN protocol? If it does not then ros_canopen package might not be suitable for you at all. And even if your robot does support OpenCAN you might have to implement additional profiles because ros_canopen for now only supports basic (301) and motion control (402) profiles. But I can not comment on that more without knowing what robot you are trying to control. Hopefully that helps to clarify things a bit. |
2016-04-29 14:31:51 -0500 | received badge | ● Great Answer (source) |
2016-04-29 14:31:51 -0500 | received badge | ● Guru (source) |
2016-04-25 01:05:21 -0500 | received badge | ● Editor (source) |
2016-04-25 01:02:34 -0500 | answered a question | Stereo cameras no disparity output The problem is camera sync. Your cameras are not synchronized and the processor never receives two images that would have the same time stamp and therefore never start processing images. By default stereo_image_proc uses exact sync strategy. This can by changed by modifying the stereo_image_proc.launch file. The default file has this: This should be changed to: This will make sure that the two images are processed as soon as they are received. |
2015-10-09 11:15:19 -0500 | received badge | ● Nice Answer (source) |
2015-09-02 03:25:44 -0500 | answered a question | What is the difference between acceleration and effort? Effort is the type of control of your joints where the commands that you specify for your joint are for example voltage or power. For example you could have a power controlled joint where the controller of joint motor can receive commands from 0 to 1000 (when controller receives 0 the motor would not move and when controller receives 1000 the motor of that joint would move at its maximal power). If you had a stepper motor controller that can be only controlled using effort you would then need to specify a EffortJointInterface and the joint_trajectory_controller would internally run a PID loop to control the position of your joints using effort. Your case is different you already have a stepper controller that can be controlled using target position. You therefore have a PositionJointInterface and in this case the joint_trajectory_controller only works by forwarding the target positions directly to stepper motor controller. You can read more about different modes of joint_trajectory_controller here. So specifying the VelocityJointInterface and EffortJointInterface in your case does not make sense. Now in terms of trying to improve the cartesian path there are several things you could try doing. First would be to try tweaking the parameters of the stepper motor controller. This is highly dependent on the actual motor controller that you have. If this controller has a PID loop internaly you might have to tweak PID parameters etc. |
2015-09-01 23:55:09 -0500 | received badge | ● Good Answer (source) |
2015-09-01 23:55:09 -0500 | received badge | ● Enlightened (source) |
2015-09-01 15:50:38 -0500 | received badge | ● Nice Answer (source) |
2015-09-01 09:04:55 -0500 | received badge | ● Teacher (source) |
2015-09-01 01:59:03 -0500 | answered a question | ROS using C++ 11 & How to Use With Catkin? All the current distributions of ROS are compiled using C++03. You can compile your own packages using c++11 by adding the following line to the CMakeLists.txt of your project: Note that it is recomended to have checks for c++11 features at configure time and provide equivalent functionality with extra compiler features. This is only required if you are planning to release the ROS packages that you develop. If you are only planning to use your packages yourself then you can just c++11 functionality. You can read more about ROS and C++11 here: link text |
2015-07-31 05:30:00 -0500 | received badge | ● Enthusiast |
2014-11-03 04:48:38 -0500 | received badge | ● Supporter (source) |