Welcome to DOFBOT-Ultra repository
3. MoveIt Drive Real Robot
MoveIt Drive Real Robot
Please ensure that the web control program backend process is not running in the background. To close it, refer to the [Get Started Quickly - 2. Access the Terminal] section in [Disable the Auto-Start Web Control Backend Process]. After closing, please restart DofbotUltra!!!
MoveIt Drive Real Robot1. Usage Environment2. Drive Real RobotCommunication Test2.1. Start Real Robot2.2. Start MoveIt23. Real Robot Movement
1. Usage Environment
Motherboard: VMware Workstation virtual machine Ubuntu 22.04 image
ROS2: Humble
2. Drive Real Robot
Driving the real robot is accomplished by subscribing to the MoveIt2 /joint_states topic, converting the joint state information of the arm into control commands for the real robot.
Note: Since the real robot does not have obstacle avoidance functionality, some poses may hit obstacles. Therefore, planned arm motions should be as reasonable as possible and avoid positions with obstacles.
(It is recommended to use preset poses for demonstrating driving the real robot.)
Before starting, we need to ensure that DofbotUltra and the virtual machine are on the same local network and that ROS2 can communicate with each other.
It is recommended to configure the virtual machine's network to bridged mode.

Please ensure that the virtual machine and DofbotUltra are on the same local network and that ROS2 DomainID is consistent.
Communication Test
In the terminal of the virtual machine, run
ros2 run demo_nodes_cpp talker
Then, on the DofbotUltra motherboard, run
xxxxxxxxxxros2 run demo_nodes_cpp listener
If you see this, communication is working normally.

2.1. Start Real Robot
In the DofbotUltra docker, enter the following command:
xxxxxxxxxxros2 run dofbot_ultra_driver dofbot_ultra_driver
2.2. Start MoveIt2
xxxxxxxxxxros2 launch dofbot_ultra_moveit demo.launch.py

3. Real Robot Movement
Demonstrate driving the real robot arm to the preset initialization position:
Set planning group: arm_group
Set pose: init
Plan and execute pose: Plan & Execute
