Skip to content

在Ubuntu20.04(×86)+ ros1-noetic环境下,实现了外骨骼机器人仿真,运动学正解,实现了外骨骼机器人的关节角度读取并发布、视觉测距、基于D435i的3d点云障碍物识别避障、仿真机器人运动轨迹的自定义规划。

License

Notifications You must be signed in to change notification settings

hhz0328/ros1_exoskeleton_maxon_simulation

Repository files navigation

ros1_exoskeleton_maxon_simulation——2023.7.28

引言

大四上,总耗时5个月,从0到1,独立完成的一个小项目。在学习过程中,也走了一些弯路,踩了很多坑。于是决定开源代码,希望可以帮助相关领域志同道合的小伙伴,节约开发的时间成本,把自己的精力放到控制算法的开发上。

1)功能介绍

在ros1-noetic中实现了外骨骼机器人仿真,运动学正解,实现了外骨骼机器人的gazebo&rviz联调、关节角度读取并发布、视觉测距、基于3d点云的障碍物识别避障、仿真机器人运动轨迹的自定义规划。

配套实物机器人控制代码:https://github.com/hhz0328/ros1_canopen_maxon_control

仿真机器人展示视频(来源于本人B站):https://www.bilibili.com/video/BV1f94y157Qa/?spm_id_from=333.1007.0.0

image

image

2)环境配置

(1)用到的模块:gazebo,rviz,moveit

(2)编译过程:将以上的功能包放入到 /catkin_ws/src ,再在 /catkin_ws 中打开终端用 catkin_make 命令进行编译

3)使用

  • (1)打开联合仿真gazebo&rviz(可以通过movei提供的交互界面,对机器人进行控制):
  $ roscore
  $ roslaunch exo_stand_moveit_config full_leg_sim.launch
  • (2)使用python的API接口,进行控制(在功能包exo_stand_control/scripts目录下):
  $ rosrun exo_stand_control exo_stand_fk.py
  • (3)使用cpp的API接口,进行控制(在功能包exo_stand_control/src目录下):
  $ rosrun exo_stand_control exo_stand_fk
  • (4)配合intel D435i深度相机,将障碍物3d点云导入到仿真环境中(注意同一时间只能打开一个rviz,否则会报错,所以在使用时要使用 ctrl+c 关闭先前打开的联合仿真终端命令):
  $ roslaunch exo_stand_moveit_config exo_stand_intelD435i_obstacle_pointcloud.launch
  • (5)python实现消息记录的订阅和保存(在功能包exo_stand_status/scripts目录下):
  $ rosrun exo_stand_status save_listener.py
  • (6)cpp实现消息记录的订阅和保存(在功能包exo_stand_status/src目录下):
  $ rosrun exo_stand_status listener_continue_trajectory
  • (7)将录制的.bag文件转换成.csv格式并导出到工作空间下(在功能包rosbag_to_csv中,需要特别注意rosbag_to_csv这功能包在catkin_make之前,需要更新一下rosdep,否则会显示编译出错):
  $ rosrun rosbag_to_csv rosbag_to_csv.py

GOOD LUCK

坚持开源,共同进步!对代码有疑问,可以通过主页邮箱留言,也可以issue提问

你的星星,是我前进的动力。🖼

About

在Ubuntu20.04(×86)+ ros1-noetic环境下,实现了外骨骼机器人仿真,运动学正解,实现了外骨骼机器人的关节角度读取并发布、视觉测距、基于D435i的3d点云障碍物识别避障、仿真机器人运动轨迹的自定义规划。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published