© 2024 EasyEDA Some rights reserved ISO/IEC
1.Easy to use and quick to get started
2.The process supports design scales of 300 devices or 1000 pads
3.Supports simple circuit simulation
4.For students, teachers, creators
1.Brand new interactions and interfaces
2.Smooth support for design sizes of over 5,000 devices or 10,000 pads
3.More rigorous design constraints, more standardized processes
4.For enterprises, more professional users
PRO Six-legged Robot
Mode:
This is my undergraduate graduation project, a six-legged robot that moves based on real-time kinematics calculation.
Added a new robotic arm for picking up items.
GPL 3.0
1. Control the movement of the robot through the remote control.
2. Control the attitude and position of the robot body.
3. Control the direction of movement and the turning angle (can be understood as linear speed and angular speed)
4. Control the position and attitude of the body while moving flexibly.
5. The fuselage still moves in different positions and postures.
This project is made public for the first time and is my original project. The project has not won any awards in other competitions.
Almost complete.
Tip: The software can be nested using code blocks. There is no need to explain all parts of the software, just the important parts.
Robot motion solution has relatively high requirements for floating-point operations. If the motion needs to be smoother, more computing power is required. Therefore, the hexapod robot uses STM32H750VBT6, which supports FPU and has higher performance.
STM32H750VBT6 uses a 32-bit ARM CortexM7 core, carrying a double-precision floating-point FPU, a 16KB data cache and a 16KB instruction cache, with a main frequency of up to 480MHz and up to 600MHz under overclocking.
The core board uses the stm32H750VBT6 mini core board designed by WeActStudio. The core board has built-in 8MB Quad SPI Flash and 8MB SPI Flash, providing enough space for storing robot control code. The core board provides SD card and TypeC interfaces and has strong expansion capabilities. At the same time, there are diodes in series to prevent power backflow. The operating voltage is 3.3V to 5V.
Since stm32H750VBT6 has less on-chip Flash, only 128kb, there is not much space left after loading FreeRTOS. Therefore, it is usually necessary to burn the main code to the off-chip Flash, and burn the BootLoader program to the on-chip Flash, through the BootLoader Jump the program to the main code stored in external Flash.
In order to simplify the wiring and reduce the failure rate, Huaner's LX224 serial port bus servo is used here. The steering gear rotation accuracy is 0.24° and the torque is 20kg·cm (approximately 1.98N·m).
In terms of power supply, since the six-legged robot is heavier and requires higher power for walking, a high-power model aircraft battery with strong discharge capacity is used here.
In terms of power supply, since the six-legged robot is heavier and requires higher power for walking, a high-power model aircraft battery with strong discharge capacity is used here.
DJI’s DR16 remote control receiver is chosen here. The DR16 has a longer remote control distance and stronger anti-interference ability. Since it uses DBUS levels, which are opposite to the serial port levels, the logic levels need to be inverted when configuring the serial port. Based on 2.4G wireless transmission, DR16 has the characteristics of point saving, longer transmission distance, larger bandwidth, etc. It can realize long-distance control of hexapod robots and meet the characteristics of legged robots working in complex environments. Working voltage is 5V
The gyroscope uses the MPU6050 module. The MPU6050 module is a 6-axis motion processing component launched by InvenSence. It integrates a 3-axis gyroscope and a 3-axis acceleration sensor internally. It communicates with the outside through the IIC interface and has its own digital motion processor DMP (Digital Motion Processor). Motion Processor). Through DMP, the computing burden of the microcontroller can be greatly reduced. This module is widely used in products such as model aircraft. The operating voltage is 3.3V to 5V.
This algorithm is the core of this robot, so I will briefly talk about some algorithm steps here. This requires a certain foundation in robotics. Those who have no foundation or are not interested in this part can skip it.
The kinematics analysis of a hexapod robot is to establish the space rectangular coordinate system on the joints of the robot's legs, convert the spacing between the joints of the legs and the angles of the joints, and solve the position and attitude matrix matrices, thereby establishing The kinematic equations of the robot. In order to determine the relationship between coordinate systems on each joint, a suitable method for kinematic analysis is required. This article uses the DH modeling method, which uses a secondary transformation matrix to describe the spatial relationship between the various links on the robotic arm. Each joint can be represented by a fourth-order homogeneous transformation matrix, and the transformation matrices are multiplied according to the order of the connecting rods to obtain the relationship between the first and last coordinate systems and construct a kinematic coordinate system.
First model the single leg
Taking the leg as the origin, as shown in the figure below, and the starting end of the leg as the origin, establish a spatial rectangular coordinate system.
The modeling method uses the D-H modeling method. This method is mainly used in robot kinematics. A coordinate system is established on each link. The transformation of the coordinates of the two links is achieved through homogeneous coordinate transformation. The secondary coordinates are used multiple times. Transformation can establish the relationship between the first and last coordinate systems [3]. Using the DH modeling method, a kinematic coordinate system can be constructed. The starting end of the leg is the 0 series, "Start servo 1" is the 1 series, "Servo 1 Servo 2" is the 2 series, "Servo 2 Servo 3" is the 3 series, "Servo 3 leg end" ” for the 4 Series. Note that the axis distance from servo 1 to servo 2 is L1, the axis distance from servo 2 to servo 3 is L2, and the axis distance from servo 3 to the end of the leg is L3, then the DH parameters are as shown in the table below.
Forward kinematics solution:
Inverse kinematics solution:
Forward and inverse kinematics calculations are implemented throughout the entire robot motion algorithm. After completing the gait planning, forward and inverse kinematics calculations are performed to calculate the positions of the 18 servos on the fuselage.
Those who are interested in gait algorithm and position and posture control can check it out in my graduation thesis.
Body position control :
(1) Control height (z-axis)
(2) Control the y-axis and x-axis
Body attitude control :
(1) Control the Z axis
(2) Control the Y axis
(3) Control the X axis
Nothing
Video link: https://www.bilibili.com/video/BV1xg4y1L7wh/
Engineering accessories: https://github.com/ByteRyze/Hexapod_2
Designed by Ryzee (from OSHWHub)
Loading...
Do you need to add this project to the album?