Project files
README.md
Machine-translated by Robotheca from the original in Chinese (opens in a new tab). License: MIT (opens in a new tab).
Ubuntu/Linux Development Environment Issues (10 points)
Problem Description
Configure an independent robot development environment on Ubuntu 22.04, create a wheelleg user and a group with the same name, and complete the configuration using useradd, groupadd, and usermod. The user should have access to /dev/ttyUSB*, /dev/ttyACM*, /dev/video*, Linux GPIO, and can0/vcan0, and be able to run ROS 2 Humble. For a pure host-only solution, GPIO or USB-CAN access must be verified; for a joint upper-lower computer solution, USB-TTL/serial access to the lower computer must be verified; for a pure lower computer solution, explain why it does not depend on the host computer.
Deliverables
Provide setup/, scripts/, permissions/, and repeatable scripts: user/permission initialization, USB/serial port, camera (can be checked with v4l2-ctl), GPIO, CAN, and ROS 2 checks. Scripts should handle cases where devices do not exist, permissions are insufficient, and virtual CAN is used.
Scoring
| Item | Score |
|---|---|
wheelleg user and user group | 2 |
| USB/serial port permissions | 2 |
| Camera permissions and detection | 1 |
| GPIO permissions and detection | 1 |
CAN permissions and can0/vcan0 detection | 2 |
| ROS 2 Humble environment and host computer control link | 2 |
Acceptance
Perform environment checks as the regular wheelleg user and display the outputs of ros2 --version, ros2 topic list, ros2 node list, ros2 run, and ros2 launch. For pure microcontroller solutions without ROS 2/host computer, up to 1/2 of the points may be awarded based on complete microcontroller control, simulation deployment, permission documentation, and logs. For host-only or combined host-microcontroller solutions, acceptance is based on the integrity of the control chain.
Files by @wusi321, at commit b6b12b0, read from GitHub in your browser. Hardware license: MIT; software license: MIT. Robotheca doesn't review code: read it before running it.