Arduino and CanOpen

Hi,
I'm working on a project and i'm considering differnt types of platform to do it. The project consist in a robotic arm currently used by a pc, Both working with the canopen protocol (the pc is acutally running orocos and use canfestival to implement canopen).
My goal is to remove the pc and use something that can allow me to give some simple command, through can bus, to the robotica arm.
Here some question
Do you think that arduino could do the job?
i've read somewhere that arduino can implement canopen it is true? if so can someone point me to some example to watch?
if i should choose arduino wich components should i buy to have somenthing working??

There is at least one open source CAN protocol implementation and probably more. CAN can be used over different types of physical network and the CAN open source project I looked at only supported one specific network. I suggest you do some googling, see what implementations you can find and whether any of them support the type of physical network that you're using.

i was of the idea that the can protocol was a standard and, as long as i respect the standard i shouldn't have any problem about the comunication via can bus regardless the physical layer.
am i wrong?

CAN encompasses lots and lots of standards, and just because it's CAN doesn't mean it will work with any other CAN implementation. You need to know what standards are being used starting from the physical layer and working up. Then you need to find a protocol implementation that supports what you need.