peterdavidfagan / moveit_py_example

A ROS2 package demonstrating use cases of moveit_py.
4 stars 1 forks source link

A basic example with real robot #2

Open metanav opened 1 year ago

metanav commented 1 year ago

I would appreciate if an example with interfacing MoveIt2 to control real robot (using microRos) instead of Rviz or Gazebo is added. Also, there should be a guideline for the requirements/config/launch scripts setup before running the example.

peterdavidfagan commented 1 year ago

Hi @metanav,

Thank you for posting this issue, while development of the library is still in progress I have planned to write a set of tutorials for the first release.

I will look to add real-robot tutorials at some point. For now this issue serves as a good reminder so thank you for including the above request I will be sure to service this in time.

metanav commented 1 year ago

Thanks, @peterdavidfagan for adding this to your ToDo. I am new to ROS2/MoveIt world (just started learning a few days ago!). I am trying to control an Arduino Braccio++ robot arm. So far what I have done:

  1. The Arduino Braccio++ running a microROS node that publishes joint_states topic. Also, it runs an action server to receive the joint_trajectory_action request to move the arm.
  2. I have installed the ROS2 Humble and MoveIt2 on Ubuntu 22.04 Desktop.
  3. The Ubuntu Desktop runs microROS Agent and I can see the published topic using the ros2 topic list
  4. I found braccio (previous version, but the dimension seems the same) STL and URDF files online and have generated the braccio_moveit_config package using the moveit_setup_assistant.

Now I want to use the moveit2_py example to control the Braccio++ arm.

I guess I need to run the launch script from the braccio_moveit_config package to start nodes (move_group?) with which moveit2_py will interact. There are many launch scripts, which one should I start? Do I need to change something in the default generated launch script? Will the moveit2_py automatically find the publish topic and action server and start using them?

                  moveit2_py 
                        |
                        v
RViz <--   nodes (started by launch script) --> microROS Agent -> Real Robot 

Sorry for the basic questions but a simple example with guidelines would solve all these newbie questions. I can test your library on a real robot and share the findings or any issues.