开源仿真引擎ODE(Open Dynamics Engine)环境搭建

2023-11-01 08:50

本文主要是介绍开源仿真引擎ODE(Open Dynamics Engine)环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Codeblocks 版本16.01

因为仿真需要,找到了这个软件,官网资料有点旧,比较杂乱,记录下安装步骤。

下载源码

https://www.ode-wiki.org/wiki/index.php?title=Manual:_Install_and_Use

  安装codeblocks代码编辑器和premake编译工具。

sudo add-apt-repository ppa:damien-moore/codeblocks-stable

sudo apt-get update

sudo apt-get install codeblocks

sudo apt-get install premake premake4

接着/home/yake/ProgramFiles/ode-0.13/ode/src/config.h修改为1,保持软件对之前旧版本代码的兼容性。

//#define dTRIMESH_OPCODE_USE_OLD_TRIMESH_TRIMESH_COLLIDER 0
#define dTRIMESH_OPCODE_USE_OLD_TRIMESH_TRIMESH_COLLIDER 1

然后转换为codeblocks的工程(注意调用的是premake4注意codeblocks参数),因为目录下有premake4.lua配置文件,所以调用premake4来编译。

$ cd /home/yake/ProgramFiles/ode-0.13/build
$ premake4 --help
$ premake4 --with-demos --with-tests codeblocks
$ premake4 --with-demos --with-tests --only-double codeblocks

ode里面支持双精度和单精度的仿真,本来想调用双精度的,但是环境依赖项出不来,后来去掉--only-double就可以在在codeblocks里面选择了

在/home/yake/ProgramFiles/ode-0.13/lib/DebugDoubleLib下可以看到生成的文件信息

利用Codeblocks打开工程文件:/home/yake/ProgramFiles/ode-0.13/build/codeblocks/ode.workspace,可以看到源代码都已经导入进来了,如下图所示。

接着下载日本教授的例子http://demura.net/simulation

解压到ode的源码目录

cd /home/yake/ProgramFiles/ode-0.13/roboSimu

因为目录下只有premake.lua文件,所以用premake来编译。

$ premake --help

$ premake --os linux --target cb-gcc

同理,利用codeblocks打开工程/home/yake/ProgramFiles/ode-0.13/roboSimu/src/roboSimu.workspace,如下图所示

 编译的时候报错误

通过修改ode_double和draw_stuff链接项解决。直接指定到上次利用DebugDoubleLib编译好的文件就可以解决

/usr/bin/ld: ../../lib/DebugDoubleLib/libdrawstuffd.a(x11.o)||undefined reference to symbol 'XNextEvent'| 

 通过添加X11链接项解决  

/usr/bin/ld: ../../lib/DebugDoubleLib/libode_doubled.a(atomic.o)||undefined reference to symbol 'pthread_mutexattr_init@@GLIBC_2.2.5'|

通过添加pthread链接项解决

最后的链接项如下图所示。

Project——Build Options

编译成功后,运行例子就可以了,这里以hello工程为例。结果如下图所示,运行成功后,球自由落体运动。在球体的那个窗口Ctrl+X然后按Enter退出

 参考地址:

https://www.ode-wiki.org/wiki/index.php?title=Manual:_Install_and_Use

http://demura.net/english/378.html

http://demura.net/simulation

http://demura.net/9ode/575.html 

问题解决后就可以跟着作者的目录接着进行学习了

http://demura.net/english

=========================================

workspace里有很多个Projects,不想一个个添加链接库

Settings——Compiler

另外替换掉命令行终端,由xterm改为gnome的

Settings——Environment

gnome-terminal -t $TITLE -x

参考链接:

https://blog.csdn.net/ztguang/article/details/51015388?locationNum=8

这篇关于开源仿真引擎ODE(Open Dynamics Engine)环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/321877

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex