ros-industrial / ros2_canopen

CANopen driver framework for ROS2
https://ros-industrial.github.io/ros2_canopen/manual/rolling/
124 stars 52 forks source link

I think the document needs to be more optimized to facilitate understanding how to use Canopen #247

Open zouzhe1 opened 5 months ago

zouzhe1 commented 5 months ago

I am a beginner

I think the document needs to be more optimized to facilitate understanding how to use Canopen。

A.words meaning

1,lifecycle https://ros-industrial.github.io/ros2_canopen/manual/rolling/quickstart/examples.html "cia402_lifecycle_setup.launch.py" and "cia402_setup.launch.py",What is the difference between this “lifecycle”? 2,Proxy Why use the term proxy, which makes it difficult for people to immediately understand specific things

B.user-guide

The user guide only contains scattered and messy knowledge introductions, which is very unclear and unfriendly to newcomers

C.The most common example

If I only want a motor that supports Canopen cia402 to rotate in speed mode or position mode. What should I do? Isn't this the most common and commonly used situation? Looking at you again, you have provided a bunch of controllers, but none of them have clear information that can be used in this way.

D.suggest

You should specifically write a page on how to control the rotation of a cia402 servo.

E.about controller name

The controller should have a name that is understandable, such as a position_mode_servo_controller or a speed_mode_servo_controller

Let's take a look at the names you've given us, forward Position Controller, when the newcomer sees this name, they only know that it is related to the location and do not know if they need anything

F.Roast

https://ros-industrial.github.io/ros2_canopen/manual/rolling/user-guide/how-to-create-a-robot-system.html I followed this page and it doesn't work at all because it's not detailed enough.

Finally, there is only one sentence testing cli, without any formal code on how to control it

Lars-Ki commented 5 months ago

Hello,

I came across this issue while trying to integrate a motor that supports CANopen CiA 402 into a project using a single-board computer and a CAN module. My goal is to control the motor in either speed mode or position mode, which I believe is a common use case for many developers.

So far, I've established communication between the motor and the single-board computer, as evidenced by the motor driver responding with an error message. This leads me to believe that the wiring is correctly set up. However, I'm encountering difficulties in finding clear information or examples on how to proceed with the actual motor control using the ros2 canopen package. I have now spent multiple 8-hour shift days trying to get started.

A super simple example or a snippet of code demonstrating how to get a motor running in either speed or position mode using the ros2 canopen package would be immensely helpful. I'm particularly interested in any prerequisites, configuration steps, or specific commands required to achieve basic motor operation within this context.

Thank you in advance for any guidance or resources you can provide. It would be greatly appreciated by those of us trying to navigate these functionalities for our projects.

Best regards,

Lars-Ki

tejasps28 commented 2 months ago

@Lars-Ki hi, were you able to implement controlling motor using this ros2_canopen?

roncapat commented 2 months ago

@zouzhe1 fully agree with you. BTW, have you understood how to activate a cia_402 drive in position or velocity?

Lars-Ki commented 2 months ago

@tejasps28: sorry no I didn't manage to get it to work. I abandoned ros2 for my very simple project. It is very unfortunate that the developers couldn't provide any useful help.