Sim2Real Development for Thymio with ROS

Trajectory Comparison between real run and simulation.
Final project for MICRO-453 Robotics Practicals with 5.8/6.0
Students: Chuanfang Ning, Jianhao Zheng, Yujie He

Example page: https://go.epfl.ch/ros_basics_final_2021

2021/04: Update our project Report !

🔑 Keywords

Thymio, PID, Way following, Obstacle avoidance, Pledge algorithm, Aruco marker, Sim2Real, Gazebo

🔨 How to use?

  • visualize Thymio in RViz

    roslaunch ros_basics_exercise thymio_simple_rviz.launch
    
  • simulate Thymio robot in Gazebo with an interactive window

    roslaunch ros_basics_control simu_thymio.launch
    
  • adding waypoints and obstacle for the robot

    roslaunch ros_basics_control simu_thymio.launch
    roslaunch ros_basics_exercise set_simu_waypoints_obstacle.launch
    
  • tune with rqt tools (rqt_plot, rqt_reconfigrure, rqt_image_show)

    roslaunch ros_basics_control simu_thymio.launch
    roslaunch ros_basics_exercise tune_with_rqt.launch
    
  • visualize the rosbag files

    roslaunch ros_basics_exercise view_with_rosbag.launch
    
  • extract pose and sensor information from rosbag files

    roslaunch ros_basics_exercise view_with_rosbag.launch
    # open a new terminal
    rosrun ros_basics_exercise topic_reader.py
    
  • plot trajectory comparison between real and simulation (using matlab)

    cd results_from_bag/
    # run `plot_traj_comp.m` in MATLAB
    

    traj_thymio_simulation_navigation_with_obstacle_avoidance

  • connect to the real Thymio

    pip install thymiodirect
    roslaunch ros_basics_control real_thymio.launch
    

🎒Example rosbag files

rosbags can be downloaded from Google Drive

For more info, you can refer to readme.md in ./src/ros_basics_exercise/rosbags/ folder.

⭐ Acknowledgement

Thanks to Vaios Papaspyros and Rafael Barmak from MOBOTS at EPFL for the amazing course tutorials !

Chuanfang Ning
Chuanfang Ning
Msc Student in Robotics @ EPFL

Versatility makes Vision. Practice makes Proficiency.