Welcome to JetCobot repository
5.Movelt positive kinematics design
Movelt inverse kinematics design
1. Usage environment
Motherboard: Jetson Orin Nano/Nx
ROS2: Humble
2. Driving the real machine
Driving the real machine is to convert the joint state information of the robot arm into the control of the real robot arm by subscribing to the /joint_states topic of Moveit2.
Note: Since the real robot arm does not have an obstacle avoidance function, some positions may encounter obstacles; so the planned robot arm movements should be as reasonable as possible and avoid positions with obstacles
(It is recommended to use preset positions to demonstrate driving the real machine)
2.1. Start the real machine
If you do not drive the real machine, simulate the robot arm movements in MoveIt:
xxxxxxxxxxros2 run jetcobot_driver sync_plan
2.2. Start MoveIt2
xxxxxxxxxxros2 launch jetcobot_moveit demo.launch.py

3. Inverse kinematics design
Inverse kinematics refers to the position of the end effector of the given robot arm, MoveIt calculates the angles of each joint of the robot arm, and then plans to the target position by itself.
Start command
The robot needs to be successfully loaded in MoveIt and You can start planning now! appears to run the following command: The robot will plan to the position by itself
xxxxxxxxxxros2 run jetcobot_moveit set_target_position


Notes
Since the position of the end effector of a given robot is difficult to determine, it is recommended that users follow the following method to find a reachable pose.
Check the pose of 6_Link and then replace the target pose in the program: the data changes only after the robot needs to be planned and executed to the specified pose.
MotionPlanning → Planned Path → Links: Positions, Orientation
