[ros-users] [Discourse.ros.org] [ROS-Industrial] Fully Open …

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Alexander Rössler via Discourse.ros.org via ros-users
Date:  
To: ros-users
CC: Alexander Rössler via Discourse.ros.org
Subject: [ros-users] [Discourse.ros.org] [ROS-Industrial] Fully Open Source (Industrial) Robotics Controller




[quote="vmayoral, post:29, topic:5832"]

Im not familiar with the Borunte BRTIRUS0805A robot but it sounds like youre running the controller directly in the FPGAs, right? If thats the case, its rather similar to what were doing with the [ORC ](https://acutronicrobotics.com/products/orc/) (it has a big FPGA inside). Could you share a bit more about the difficulties you found while interfacing with the Borunte arm?

[/quote]

Yes, the Mesa-Electronics Anything I/O cards use Xilinx Spartan 6 FPGA for step generation and to process encoder feedback. The cards themselves are connected via Ethernet to the Linux host computer. The driver is called [hostmot2](http://www.machinekit.io/docs/man/man9/hostmot2/) and works via an open protocol called "TRAM". In short, the cards communicate with the host PC via a best-effort UDP connection/ No problem since there is a direct connection between the MESA card and the PC.



The hostmot2 source code, both from the [FPGA](https://github.com/LinuxCNC/hostmot2-firmware) and the [driver](https://github.com/machinekit/machinekit/tree/master/src/hal/drivers/mesa-hostmot2) are open-source. Some devs from the Machinekit community ported the FPGA code to [SoC platforms](https://github.com/machinekit/mksocfpga). A group from Germany created a fully open source AC servo drive also using the protocol but implemented on a uC (see [STMBL](https://github.com/rene-dev/stmbl)).



The greatest difficulty I faced was wiring up the new controller cards. Every AC servo has at least 10 I/O connections that times six gives a lot of wires to connect. Not a problem, but half of my cables harnesses where wired incorrectly, so I had to do at least twice... If I built a productions system, I would go for a solution that either uses EtherCAT or hostmot2 to interface with the AC servo drives, saving lot's work wiring up the electric cabinet.



The Machinekit part of the setup was relatively straight-forward for me. A challenge was the emergency stop and following error detection implementation.



The ROS part with hal_ros_control is straightforward, it's just a matter of connecting the robot HAL pins to the exposed ros_control HAL pins.











---

[Visit Topic](https://discourse.ros.org/t/fully-open-source-industrial-robotics-controller/5832/30) or reply to this email to respond.







If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates.
______________________________________________________________________________
ros-users mailing list

http://lists.ros.org/mailman/listinfo/ros-users
Unsubscribe: <http://lists.ros.org/mailman//options/ros-users>