Hi everyone,
I have been working with a fancy 6dof collaborative robot arm for my day job as a Research engineer, and that’s what got me interested to explore the "creation"
of a robot in further detail. The general question I keep asking myself is - “How difficult could it be to make your own robot?” Motivated by this question, I began to explore the possibilities of creating my own SCARA robot, from scratch. This means that I will get a chance to work on the embedded design of the robot, including motor controllers and communication interfaces to talk to the higher-ups (read: ROS2), the mechanical design of the robot itself, which should be quite a task because I am not very experienced in CAD, and finally the software design for the robot - all the things that make it intelligent.
I am starting my project with ROS2 in mind from the get-go, so as to have maximum exposure to a wide range of ROS2 concepts during the course of the project. For starters, since I am most comfortable with the software side of things, my idea is to start with the URDF and the integration of ros2_control
into the robot. I have created a very basic model of myscarabot using primitive shapes in URDF, and have succeeded in integrating the test_system
hardware plugin of ros2_control to my robot.
Next, I would want to focus on the creation of the msb_hw_interface
package, which will provide the Hardware Interface for ROS2 to be able to talk to the robot and vice versa. I have been scouring the internet for resources, and I’m still in the scratchpad phase regarding this. I would like to start with an "emulator"
of sorts for the moment, and then slowly move up to implementing actual API calls to robot hardware once I have been able to find parts, build boards, et cetera.
I would really appreciate your feedback and guidance on the project, the sources of which are available here. If anyone has the experience of writing the hw_interface package for a robot, I would like some tips on the overall design and implementation as well.
Looking forward to your responses !
Thanks,
Sampreet