This document serves as a practical reference for team members. It summarizes essential commands, execution order, coding rules, and submission standards to avoid repetitive mistakes and confusion.
The following plot shows each joint.
colcon build --symlink-install
source install/setup.bashros2 pkg create --build-type ament_python name_of_package --dependencies other_package_1 other_package_2
ros2 pkg create --build-type ament_python ffnn --dependencies rclpy std_msgs geometry_msgs sensor_msgs numpyros2 node list
ros2 topic list
ros2 service list
rqt_graphros2 run ainex_motion joint_controller
ros2 run ainex_motion joint_visualization_node
ros2 run ainex_motion keyboard_input_node
ros2 run ainex_motion ainex_motion_node
ros2 run ainex_vision camera_subros2 service call /Unlock_All_Joints std_srvs/Empty {}
ros2 service call /Lock_All_Joints std_srvs/Empty {}- Turn on the robot.
- Check connection with:
ping 192.168.50.20X # X = robot ID
ping 192.168.50.201 # Our robot- If ping works but no nodes appear, reboot the robot.
- After boot, verify /Joint_Control and /camera_publisher are running:
ros2 node listFollow this sequence every time you run a motion experiment.
- Unlock joints first.
- Start keyboard_input_node
- Start ainex_motion_node
- Open rqt_graph to verify connections
- Open PlotJuggler to monitor joint states:
ros2 run plotjuggler plotjuggler- Add a comment with your name at the top of every .py file:
#Team A
#Guan Chenhao
#Julia Dürr
#You-Ri Su
#Yuxin Wang
#Yuxuan Li
- Add meaningful docstrings or inline comments for all functions
- Use variables instead of hardcoded joint IDs
- Place test/demo code inside if
__name__ == "__main__":
- Include full /src folder with packages
- Provide any required screenshots or logs
- Include demo videos of motion or vision tasks
- Max length: 60 seconds
- Min resolution: 720p
- Min framerate: 25 FPS
- Max file size: 30 MB
LastName1_LastName2_LastName3_ProjectName.tar.gz
Dürr_Guan_Li_Su_Wang_TeamA.zip
- 🔋 Keep the robot plugged in when not in motion (battery > 10V)
- 🔥 Do NOT leave joints locked for long periods — risk of overheating
- ✅ Always check joint range before sending commands
- 🆘 Do not swap robot-PC pairs without tutor approval
- Finalize motion logic
- Comment and clean code
- Record all required demo videos
- Write final README.md
- Package and submit before deadline
🧠 Keep calm and unlock your joints. :)
