Welcome to DOFBOT Pro repository
2.AI Encyclopedia-Arithmetic Master
AI Encyclopedia-Arithmetic Master
Before running the function, you need to close the App and large programs. For the closing method, refer to [4. Preparation] - [1. Manage APP control services].
1. Function Description
After the program starts, give the large model an arithmetic problem. After thinking, the large model will reply with the correct answer and find the correct answer on the desktop and control the robotic arm to point to the correct answer. If there is no correct answer on the desktop at this time, the robotic arm will shake its head.
2. Startup
Taking the text version as an example, users with Jetson-Nano mainboard version need to enter the docker container first and then input the following command. Users with Orin mainboard can directly open the terminal and input the following command:
ros2 launch largemodel largemodel_control.launch.py text_chat_mode:=TrueThen open a second terminal and input the following command:
xxxxxxxxxxros2 run text_chat text_chat
Then input arithmetic content in the text_chat terminal, for example, let the large model calculate what 6 multiplied by 11 equals, you can input like this: "Let's do an arithmetic problem, tell me what is the result of six multiplied by eleven?", and press Enter; if it's the voice version, wake up the voice module and directly say to the voice module "Let's do an arithmetic problem, tell me what is the result of six multiplied by eleven", then wait for the large model to think and reply, as shown in the figure below:

The robotic arm will point to 66 on the desktop, as shown in the figure below:

Here's a point to note: before asking the question, we need to add Let's do an arithmetic problem, so that the large model will plan the correct steps, otherwise, the large model will directly reply with the result without pointing to the arithmetic result.
3. Task Planning
- Reply with the result of the arithmetic problem;
- Call the seehat() function to observe the desktop situation;
- If the result number of the arithmetic problem exists on the desktop, then call point_to(x1, y1, x2, y2) to control the robotic arm to point to this number;
- If the result number of the arithmetic problem does not exist on the desktop, then call arm_shake to control the robotic arm to shake its head, indicating that the result number of the arithmetic problem is not on the desktop.