Controlling an Igus Robolink Robotic Arm (CAN bus)

Hi guys,

I’m looking to control an Igus Robolink robotic arm ( with an Arduino Uno. The arm is already connected to a Commonplace Robotics control module which consists of a series of motor drivers and a support module, all of which are connected to each other on a CAN bus (please see “Robot Controller” - Industry | Commonplace Robotics). I’m intending to use a CAN shield attached to the Uno to control the system, rather than being PC controlled as it currently is with software provided by CPR.

I’m aware of the stepper motor libraries that exist, but was wondering how I use them within CAN protocol as I’ve never coded onto CAN before; could anyone offer some advice on this please?

I’m pretty new to robotics and CAN (if you couldn’t tell!), so any help would be greatly appreciated. Cheers

You cannot do this directly. CAN (Controlled Area Network) is a communication network typically used for control. Something connected to the CAN buss interprets the message on the buss and performs the appropriate action if intended for it. Typically the master puts commands on the buss and the slaves interpret them and act on them if appropriate. Get the Arduino cookbook and read it. Also on line there are many videos etc showing the Arduino and how to do what you want. This additional information will go a long way in getting your problem solved. Once you get past this you then need to select your sensors and actuators. At that point you start on the hardware design and write your software.

The actuators on the arm are NEMA 17 and 23 stepper motors. I've got some experience with Arduino so I know the basic stuff that's in the cookbook; which part of it do you think I should look at specifically as I can't see anything about CAN in it? (I'm looking at the 1st edition if that makes a difference) I've also been trying to look online to find examples of using Stepper Motors on a CAN bus so if there are any specific videos you'd recommend I'd appreciate it as I haven't been able to find them. The CPR stepper motor drivers also seem quite a lot different to the drivers used on most tutorials of using Arduino with big stepper motors, so I don't know how much of a difference this will make.