Open VerlooyNick opened 9 months ago
The "/target" is a service, just like the "/init", and "/halt". You can check if it is available by running:
ros2 service list
If so, the "/target" may be set, for example, by:
ros2 service call /motor_left/target canopen_interfaces/srv/COTargetDouble "{ target: 10.0 }"
Indeed, that works. But for integration into a robot system working with the service does not seem the right way. Image I have a joystick creating a velocity command which I want to apply to the motor. I’d assume I could publish to a certain topic to have a more real time behaviour instead of working with services.
This is where you would use the ros2_control interface that provides you with all kind of streaming options. Though I understand that the setup is a bit more difficult, we have a short but probably not optimal example here: https://ros-industrial.github.io/ros2_canopen/manual/rolling/user-guide/how-to-create-a-robot-system.html
This is where you would use the ros2_control interface that provides you with all kind of streaming options. Though I understand that the setup is a bit more difficult, we have a short but probably not optimal example here: https://ros-industrial.github.io/ros2_canopen/manual/rolling/user-guide/how-to-create-a-robot-system.html
@ipa-cmh Have you tested this robot system approach on real hardware?
Right now I'm working with the proxy driver and writing my own Cia402 application layer. Is the documentation for the Cia402 driver correct? This states that the /target is a subscriber but it only appears as a service?
@ipa-cmh Have you tested this robot system approach on real hardware?
@jclinton830 we have the driver running on pilz prbt robot (6 axis robot arm). Apart from that we have just created a solution for a customer on Maxon hardware, this has pointed out some problems with the sdo timeouts.
Sorry we are currently a bit slow with work on the stack, but we are currently quite bound into other projects. Should get better in November though. I will prepare a workshop on the robot system part for ROS I Workshop in Singapore end of November.. That will hopefully add some of the necessary documentation.
I'm trying to run a Nanotec motor through the ros2_canopen stack. Following the documentation and trinamic tutorial, I'm able to init, start and stop the motor by using the service calls. Now I'm looking for the next step: integrate the motor into my mobile robot. Therefore, I expected the /target topic to be available to publish to. This is not the case, I'm not seeing the /target topic in the list. So currently I'm not able to publish targets. Any suggestions?
Logs ros2 topic list
Bus.yml
launch file
Setup: