Embodied AI Glossary中文

SocketCAN

Advanced

The Linux kernel's built-in CAN bus driver, which makes a CAN port behave like a network interface.

SocketCAN is the CAN bus driver and protocol stack built into the Linux kernel, originally contributed by Volkswagen's research division. It abstracts a CAN interface into a network interface just like an Ethernet card (for example, can0), so programs can send and receive CAN frames using the ordinary socket API, without depending on the proprietary driver of any particular USB-CAN adapter. Many robot joint motors, grippers, and arms communicate over CAN bus (a serial bus known for strong noise resistance); a common setup is to plug a USB-CAN device into the host computer, bring up the interface at the right bit rate with the ip command, and then debug with candump and cansend from can-utils — a routine step when building desktop arms and motor drives.

ExampleRun ip link set can0 up type can bitrate 1000000 to bring up the interface, then use candump can0 to view the feedback frames sent back by a motor.

Also called
can-utils
Related
Controller Area Network (CAN) · CANopen / CiA 402 Drive Profile · Servo Drive (Motor Driver) · Host Computer · Ubuntu Linux
Sources
SocketCAN - Controller Area Network (Linux kernel docs)

See it in the full glossary →