/robot_arm_development

This is a ROS package using Moveit to control a Scara robot arm. We use Solidworks to create the robot model and URDF file, Moveit to plan the trajectory of the arm, and Galil control card to control the multi-axis motion of the robot arm.

Primary LanguageC++

Robot arm development · ROS noetic Moveit 1 noetic Galil control card B140

This is a ROS package using Moveit to control a Scara robot arm. We use Solidworks to create the robot model and URDF file, Moveit to plan the trajectory of the arm, and Galil control card to control the multi-axis motion of the robot arm.

This package includes four sub-packages:

  • Three-links URDF package: Generated by Solidworks. Follow the sw2urdf GUI, and a ROS package with Rviz demo will be created automatically. Solidworks to URDF tutorials
  • My moveit controller: Use Moveit setup assistant to create a Moveit package and choose KDL Kinematics Plugin as the kinematics solver, then you can simply plan a trajectory by dragging the end of the robot arm. Moveit Setup Assistant
  • Based driver: Create an action server to accept the joint trajectories and use Gclib (Galil's C++ API) to send our motion request to the Galil control card, and then the control card will drive the motor when it receives a new position.
  • Applications: Move group C++ interface allows us to use API to create applications, such as collision detection, obstacle avoidance, and object attachment (todo). Move Group C++ Interface

These four sub-packages cover all basic functions for controlling a simple Scara robot.

Hardware Install

image image

Building

Download the packages to the src folder in your workspace, and then go to the root folder of the workspace using catkin build to build ROS packages, including three_links, my_moveit_controller, based_driver, and applications.

catkin build three_links my_moveit_controller based_driver applications

Launch

After building all necessary packages, run the following command to open moveit and rviz simulation.

roslaunch based_driver moveit_to_galil.launch

For obstacle avoidance, keep moveit on and open another window to run the following command:

rosrun applications avoid_obstacle

Then click the next button on Rviz visualization toolbar to add and erase obstacles to the world.

Demo

image image

References