This guide provides step-by-step instructions for assembling the parts of the PRLS and its supplemental Mechanical Kit into an autonomous car robot. This autonomous car robot design has the following features:
- Powerful Cortex-M4 processor
- Fast, Ethernet-based communication
- Integrated with ROS for control and data visualization
- Three long range distance sensors (aimed front, left 45º, right 45º)
- Five high-speed analog line sensors
- Servo-based gripper
- High-power current-controlled BLDC motors
- Precision wheel odometry and on-board 6-axis IMU
- Long-lasting LiPo battery pack (~2.5hrs at max draw)
- Speaker and microphone for music or communication
All of the hardware in the supplemental kit can either be 3D-printed (get the models for free here) or purchased separately. The list of parts to be printed for this build are as follows:
- 1x car_mc_mount
- 1x car_battery_mount
- 2x caster_mount
- 1x line_sensor_mount
- 3x tof_sensor_mount_angled
- 1x car_top_panel
- 1x left_cover
- 1x right_cover
- 1x left_arm
- 1x right_arm
Mount the Left Motor Submodule to a 200mm piece of MakerBeam. It’s usually easiest to attach one side of screws at a time.
Once all screws are in, slide the Submodule to the side until it is about 1cm from the end of the beam.
Mount the wheel to the Motor Submodule.
Mount the Right Motor Submodule in the same way, but slide it to the opposite side of the beam as shown below:
Add the 150mm back beam to the left beam by first adding a 90-degree bracket to the top of the beam.
Then connect the other side of the bracket to the 150mm beam. Ensure that the beams are flush and meet at as close to a 90-degree angle as possible.
Add two screws to the back rail of the back beam. Then attach the right beam to the robot in the same way, then move the Motor Submodules such that they are flush with the back beam; This will add stability and ensure that they are correctly positioned.
Build the center tower out of one 150mm beam and two 40mm beams. The inner edges of the 40mm beams should be centered on the 150mm beam and separated by 40mm.
Add four screws to the front and bottom rails of the 150mm beam (see first picture), then attach the tower beam to the robot such that it is flush with the front surface of the Motor Submodules. The brackets holding on the 40mm beams should be facing the back of the robot.
Add the following screws, then connect the front beam using two more 90-degree braces:
- 3x left rail of left beam
- 3x right rail of right beam
- 2x right rail of left beam
- 2x left rail of right beam
- 2x front rail of front beam
- 4x top rail of front beam
- 1x bottom rail of left beam
- 1x bottom rail of right beam
- 1x bottom rail of front beam
Add the following screws, then connect the center beam to the robot.
- 4x top rail of center beam
- 2x front rail of center beam
- 2x bottom rail of center beam
- 2x back rail of center beam
Build a caster by popping out the ball out of its housing and bolting the housing to the caster mount (caster_mount).
Then pop the ball back into the housing and build a second caster.
Attach the caster, servos, and line sensors (line_sensor_mount) using screws previously added to the left/right, top, and front rails respectively. The casters should be flush with the front beam. The servos should be flush with the front and center beams and flush with the adjacent braces. The line sensor array should be centered on the center beam. It’s typically easiest to pull the center beam towards the back of the robot and assemble everything except the front screws of the servos.
The center beam can then be pulled forward until the servos are flush with the front brace, at which point the front of the servos can be secured. At this point, the robot should roll around easily on its wheels and casters. Ensure that the frame is close to horizontal and that the line sensor array is not dragging on the ground.
Add the Module Core plate (car_mc_mount) using four previously added screws on the front of the tower beam and the back of the center beam. Ensure that the plate is oriented as shown, and secure it such that the left side of the plate is flush with the right side of the left beam.
Add the Module Core to the plate with three screws through the raised holes.
Thread a velcro strap through the two slits and use it to secure the microcontroller programmer.
Mount the battery holder (car_battery_mount) using four previously added screws on the bottom rails of both the tower and center beams. The holes in the batter holder should line up with the nuts used to mount the Module Core’s.
Add a velcro strap to the battery holder, aligned with the indentations on the edges of the battery holder. Place the battery in the holder and use the velcro strap to secure the battery.
Attach the distance sensor mounts (tof_sensor_mount) to screws previously added to the bottom rails of the left, right, and front beams.
Add the distance sensors to the mounts.
The front sensor (first image) should be aligned such that the short edge of the mount is flush with the front side of the front beam. The left and right sensors should be angled at 45 degrees by making one of the long edges of the mount flush with the outer sides of the left and right beams (second image).
Connect and secure the wires for the base electronics. See the PRLS hardware guide for details on how each cable should be connected. Placing the remaining two velcro straps on the right side of the center and tower beams works well for routing the wires.
Add the power switches and bump switches to the top panel (car_top_panel). The power switches should be pushed in from the top until they snap into place. The bump switches should be pushed in until they’re level with the top surface of the panel, then screwed in from the sides using four M2 screws. Ensure that the “on” indicators of the power switches are facing right, and that the heads of the bump switches are facing towards the back of the top plate.
Add the speaker and microphone by snapping them into their respective receptacles. Ensure that the shiny terminals of the speaker are facing the bottom of the top panel (towards the top of the first picture).
Connect and secure the top panel electronics. The same two velcro straps can be used to route these wires.
Optionally add the USB programming cable and / or Ethernet cable as desired. These cables should be routed through the hole near the back of the top panel.
The top panel can then be secured to the tower posts using two screws on the back of the tower posts. Slide the screws all the way into the slits in the top panel before tightening the nuts for a secure connection.
Add the outer casing (left_cover, right_cover) using six screws previously added to the outer rails of the robot (one on the front, side, and back for each cover). You may need to flex the cover slightly to get it over the screws. Ensure that the cover is flush with the outer surfaces of the beams and that the two cover pieces meet evenly in the center.
Add the gripper by first mounting the square, white servo horns to the exposed servo heads. The horns should appear as in the second image when the servos are at their zero position (centered).
Slot the gripper arms (left_arm, right_arm) into the appropriate servo horns and secure the arms with the screws. Ensure that the gripper arms can reach both poses shown below for proper operation.