We solved the problems about week 2 and this week we will focus on managing the communication between the Raspberry Pi and Arduino, facilitating data
exchange and commands transmission. Additionally, implement path planning
algorithms to generate an optimal path between two specified points.
Week 3 process
(1) Mounting the camera onto the vehicle and optimizing the wiring of the vehicle.
White: Motor positive
Black: Motor negative
Brown: Encoder phase A
Yellow: Encoder phase B
Red: Encoder power supply
Green: Encoder ground
Purple: Motor drive power supply
Blue: Motor drive ground

(2) Simulate a model of the vehicle and write a path planning algorithm. Significant progress has been achieved in prototype development, primarily focusing on camera calibration, AprilTag positioning, and multi-tag fusion. At the start of the week, we initiated the calibration process for the Logitech C270 camera using the camera_calibration package. This involved capturing several images of a checkerboard pattern to compute the camera's internal parameters. Subsequently, we printed out the 36h11 tag family and employed the AprilTag detector provided by the apriltag_ros package. This yielded promising results with all transformations between the camera frame and tag frame visualized in rviz. The next challenge entailed obtaining the camera-to-world transformation using the world-to-tag and camera-to-tag transformations. This was straightforward by computing the inverse matrix of cam_to_tag, thus obtaining world_to_tag and tag_to_cam transformations, from which world_to_cam could be derived. In scenarios where multiple tags were detected in an image, each tag provided a world_to_cam transformation, prompting the need for a precise position estimation algorithm such as weighted averaging. We opted to use the decision margin as weights, assigning higher weight to tags with higher decision margins. Given that quaternions cannot be directly averaged due to their non-linearity, the slerp algorithm was employed for averaging rotations.
Localization and fusion
(3) Test the vehicle to confirm whether the vehicle is capable of both lateral (sideways) and longitudinal (forward/backward) movement.
The vehicle is capable of longitudinal (forward/backward) movement
The vehicle is capable of lateral (sideways) movement
Next week plan
(1) Complete the design of the poster and print it out.
(2) Securing and bundling wires on the cart to ensure circuit safety.
(3) Deal with the problems left for the first three weeks about the code and the circuit.
(4) Prepare for the bench Inspection.
Comments
Post a Comment