kimkk 发表于 2022-10-22 12:11:31

GitHub 上有哪些机器人、无人机、自动控制等方面的有趣项目 ...

本题已收录至知乎圆桌 » 玩转无人机,更多无人机(Drone)操控、应用、研发方面的话题欢迎关注讨论。

2132207956 发表于 2022-10-22 12:26:02

这个项目,算是很创意,很有想法的,看起来很简单,但真做起来,绝对不简单!
Arduino项目:一个120 FPS OpenCV图像处理和四个平滑控制的步进电机,
软件根据图像处理数据计算出球的3D位置,并使用此信息控制橙色的乒乓球运动状态。

步进电机和OpenCV视觉
https://www.zhihu.com/video/1221197464340193280
创作者还给出对应的备件清单:
- 1x Teensy 4.0 Microcontroller
- 4x StepperOnline DM442S stepper motor drivers
- 4x Nema 17 Stepper Motors with 5:1 planetary gearbox
- 1x 48V 8A power supply
- 1x e-con Systems See3CAM_CU135 camera
- 1x Windows Computer with OpenCV installed on it
- All the parts defined the Fusion360 project
- Custom Windows Application (made with Unity)甚至还给出了实现代码及实现数据(GitHub):
T-Kuhn/HighPrecisionStepperJuggler

更:看到评论里不少人说到,2017全国大学生电子设计大赛B题 | 板球控制系统,
       增加一个国外大神板球控制系统的作品,供大家参考借鉴。

2017国赛:板球控制系统
https://www.zhihu.com/video/1222639131529953280



板球控制系统:硬件系统部分



板球控制系统:软件控制逻辑

小熊爱飞翔 发表于 2022-10-22 12:37:28

这个当然必须得说Pixhawk及其配套项目啊。
Pixhawk是一个独立的开源硬件项目,旨在为学术界、业余爱好者和开发者社区提供现成的、高质量的、低成本的自动驾驶仪(常用于无人机)硬件设计标准。最初出自苏黎世理工(2008年)。现在已经是第四代了(Pixhawk 4)。长下面这样的。



Pixhawk 4

基本上需要自动驾驶(飞控)等需要用到的硬件和接口它都提供了。它采用2块STM32,一块做核心主控,另一块做IO处理。它提供丰富的传感器,加速度计、陀螺仪、磁力计、气压计、GPS等。它的接口也很丰富,从图片上就能看出来。
和Pixhawk配套的开源软件主要有PX4和ArduPilot。其中PX4在GitHub上有3K的Star,ArduPilot在GitHub上有4.5K的Star。
划重点:Pixhawh是一款开源的自动驾驶仪硬件。和Pixhawk配套的开源软件主要有PX4和ArduPilot。
Pixhawk硬件github地址:Pixhawk
PX4飞控软件GitHub地址:PX4/Firmware
ArduPilot飞控软件GitHub地址:ArduPilot/ardupilot
Pixhawk官网:Home Page
PX4官网:https://px4.io/
ArduPilot官网:http://ardupilot.org/
那么他的效果如何,请看测试效果。

Pixhawk 4 S500 Kit测试
https://www.zhihu.com/video/1172993615545716736

Pixhawk从硬件到软件,都是开源的,如果想自己二次开发,那也很容易。事实上,这也是很多公司的做法。
<hr/>上面这些都只是常规操作,平平无奇,但总有人是不走寻常路的。
所以,有人还拿Pixhawk去申请了一个专利!



基于Pixhawk的专利

开自己的发,让别人无F**k开。佩服佩服!
等等,为什么收藏是赞的三倍?

pmx1225 发表于 2022-10-22 12:44:55

没人说NASA开源的火星流浪者机器人吗?
这是NASA开源的,可以自己构建,缩小版的火星探测六轮车机器人。
涉及电子、机械、软件、机器人等领域知识,零件可以自行3D打印,该项目里提供了详细的图纸和教程。
nasa-jpl/open-source-rover
JPL's Open Source Build-It-Yourself Rover

lhl428 发表于 2022-10-22 12:58:37

hector quadrotor 是德国老牌理工学校Technische Universität Darmstadt大学开发的ros包,可以用于用于多旋翼的建模,控制和仿真。
GitHub - libing64/hector_quadrotor: hector_quadrotor contains packages related to modeling, control and simulation of quadrotor UAV systems.
GitHub - tu-darmstadt-ros-pkg/hector_quadrotor: hector_quadrotor contains packages related to modeling, control and simulation of quadrotor UAV systems.

hector quadrotor 整合了ros和gazebo,可以进行uav相关的很多仿真,例如飞行动力学,机载传感器例如imu、gps、camera,复杂环境仿真等等。
1. modeling and control
作者利用风洞实验等测得了四旋翼的所有动力学参数,然后拿这些参数进行仿真,之后又拿仿真数据和实际飞行数据进行对比,结果相当吻合。
如果你想自己写飞控但又不想炸鸡,完全可以ros里进行仿真,仿真通过之后再把程序放到进飞机实际测试。
在仿真里写飞控还有一个好处就是飞机的所有state都可以使用ground truth进行控制,避免和estimation问题耦合。

http://www.gkmm.tu-darmstadt.de/publications/files/meyer2012quadrotorsimulation.pdf

2. sensor fusion
hector quadrotor上集成了目前uav上最常见的传感器,imu, magnetometer, gps, lidar, sonar, camear, stereo camera, kinect, 3d lidar, spinning lidar...
拿来做传感器融合仿真非常方便,所有state都有ground ground truth,哪里融合出错了非常容易发现。noise level也可以自己定义
使用hector quadrotor的数据,我自己写的基于ekf姿态融合跟 6d位置融合,att_ekf核心代码不到150行,6d pose_ekf 核心代码大约300行(Eigen真是高效)
GitHub - libing64/att_ekf: Extented Kalman Filter for attitude estimation using ROS
GitHub - libing64/pose_ekf: Extented Kalman Filter for 6D pose estimation using gps, imu, magnetometer and sonar sensor.

att_ekf, 长坐标轴是estimation,短的是ground truth


pose_ekf, 长坐标轴是estimation,短的是ground truth


我也试过跑optical flow 跟stereo visual odomety,效果都蛮好。laser-based slam上面的paper中已经实现了,作者把它放在了hector_localization这个包.


3. slam
hector quadrotor用于laser-based slam非常容易实现,但是没看到用hector quadrotor做camera-based slam的,但是我觉得既然光流和stereo vo都可以跑的很好,那么用来做slam应该不成问题,起码我自己是打算这么干的。
laser-based 2d slam



===========================================
2016.03.23 更新
@铁胆火车侠 提到了orb slam,我之前只看过paper并没有运行过
hector quadrotor仿真环境中控制uav飞圆形(几十圈),下图是用orb slam(monocular version) 跑出来的轨迹和点云。




单目能跑出这样的精度而且是实时的,我还是蛮惊讶的
为了让orb slam和hector quadrotor同时实时运行,对orb slam的接口做了修改
GitHub - libing64/ORB_SLAM2: Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities

zhuimeng0101 发表于 2022-10-22 13:13:32

我们组正在开发的Drake:
RobotLocomotion/drake · GitHub用于机器人动力学建模,模拟和控制,集成了运动规划,稳定性分析。应用的例子包括了人形机器人,飞机(四旋翼,固定翼)和机械臂等。语言是用MATLAB和C++(绝大多数动力学的函数同时提供了matlab和c++的接口)。这次的DARPA Robotics Challenge中MIT队的控制器也包含在这个软件中了。
关于这个软件中所运用的机器人理论知识,可以参考edx上的公开课程underactuated robotics
Underactuated Robotics

根据评论添加一部分回答。

[*]组的背景?
组的网站在这里 http://groups.csail.mit.edu/locomotion/index.html
[*]为什么不直接用ROS?
一是因为我们做研究需要的很多功能是ROS不提供的,比如说判定一个动态系统的region of attraction,这时候需要搜索一个Lyapunov function,ROS是没有这个功能的。二是因为我们的侧重点和ROS不一样。比如说ROS中的gazebo模拟器更侧重模拟的速度,而我们更注重模拟的精度。三是因为ROS太大了,其中核心的通信模块可以用LCM LCM: Lightweight Communications and Marshalling (LCM) 替换,这是一个轻量级的通讯模块。
[*]是否有机械臂的关节规划?
我们有计算forward kinematics和inverse kinematics的引擎,支持MATLAB和C++。对于避障目前是用的Bullet来计算物体之间的距离。做inverse kinematics的例子包括在ABB IRB140 arm上drake/runPlanning.m at master · RobotLocomotion/drake · GitHub,和在Atlas机器人上 drake/testIK.m at master · RobotLocomotion/drake · GitHub。
页: [1]
查看完整版本: GitHub 上有哪些机器人、无人机、自动控制等方面的有趣项目 ...