Skip to content

BILHR-Tutorial/Tutorial-Announcement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

🧠 BILHR- Developer Reference & Workflow Guide

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.


📊 Joints

The following plot shows each joint.

Joints


🚀 Frequently Used Commands

🔧 Build & Source

colcon build --symlink-install
source install/setup.bash

🔧 Creating a Package

ros2 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 numpy

📡 Check ROS System

ros2 node list
ros2 topic list
ros2 service list
rqt_graph

▶️ Run Nodes

ros2 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_sub

🔓 Unlock / Lock Joints

ros2 service call /Unlock_All_Joints std_srvs/Empty {}
ros2 service call /Lock_All_Joints std_srvs/Empty {}

🤖 Robot Setup & Network

  1. Turn on the robot.
  2. Check connection with:
ping 192.168.50.20X  # X = robot ID
ping 192.168.50.201  # Our robot
  1. If ping works but no nodes appear, reboot the robot.
  2. After boot, verify /Joint_Control and /camera_publisher are running:
ros2 node list

🧪 Standard Workflow

Follow this sequence every time you run a motion experiment.

  1. Unlock joints first.
  2. Start keyboard_input_node
  3. Start ainex_motion_node
  4. Open rqt_graph to verify connections
  5. Open PlotJuggler to monitor joint states:
ros2 run plotjuggler plotjuggler

🧼 Coding Standards

  • 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__":

📦 Submission Checklist

  • Include full /src folder with packages
  • Provide any required screenshots or logs
  • Include demo videos of motion or vision tasks

🎞️ Video Requirements

  • Max length: 60 seconds
  • Min resolution: 720p
  • Min framerate: 25 FPS
  • Max file size: 30 MB

📦 Naming Convention

LastName1_LastName2_LastName3_ProjectName.tar.gz

Dürr_Guan_Li_Su_Wang_TeamA.zip


⚠️ Operational Reminders

  • 🔋 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

✅ Team TODO

  • 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. :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors