You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using a servo for robot control and it uses CANOpen for communication. To facilitate the development I use ros2_canopen proxy_driver. The SDO and RPDO works well but PDO doesn't, which means I can receive the data from the servo but I can't control it using ros2_canopen. My bus config is as following:
To use proxy driver tpdo, you need to assign index, subindex,data. I wonder what is the correct settings of these. From my knowledge of PDO, I know PDO maps severl objects to one data frame(say target position, control word, mode of operation here), but what is the index and subindex, and how should I set the data?
Besides, I tried to use 0x607A and other members' indices as its index, but nothing happened. I also tried to send three tpdo messages via interface which includes the target position, controlword and mode of operation respectively, still nothing happened and I didn't see any tpdo messages by using candump(but I can see rpdo messages and that works well).
So how should I send tpdo exactly? Please help me.
Thanks a lot!
The text was updated successfully, but these errors were encountered:
I'm using a servo for robot control and it uses CANOpen for communication. To facilitate the development I use ros2_canopen proxy_driver. The SDO and RPDO works well but PDO doesn't, which means I can receive the data from the servo but I can't control it using ros2_canopen. My bus config is as following:
To use proxy driver tpdo, you need to assign index, subindex,data. I wonder what is the correct settings of these. From my knowledge of PDO, I know PDO maps severl objects to one data frame(say target position, control word, mode of operation here), but what is the index and subindex, and how should I set the data?
Besides, I tried to use 0x607A and other members' indices as its index, but nothing happened. I also tried to send three tpdo messages via interface which includes the target position, controlword and mode of operation respectively, still nothing happened and I didn't see any tpdo messages by using candump(but I can see rpdo messages and that works well).
So how should I send tpdo exactly? Please help me.
Thanks a lot!
The text was updated successfully, but these errors were encountered: