- ๐ Hi, Iโm @ricmua
ricmua / ros_force_dimension Goto Github PK
View Code? Open in Web Editor NEWA ROS2 package for interfacing with Force Dimension haptics robots.
License: Mozilla Public License 2.0
A ROS2 package for interfacing with Force Dimension haptics robots.
License: Mozilla Public License 2.0
@Jshulgach wrote documentation for Windows Subsystem for Linux. It is currently on a branch on a remote machine. Push and incorporate.
ROS Iron
5.19.0-50-generic
#50-Ubuntu SMP
Jul 10 2023
x86_64
No rule to make target '/home/default/work/force_dimension-sdk-3.15.0/lib/dhdms64.lib', needed by 'node'.
This seems to be due to the line that in the cmake file that references dhdms64.lib
... which seems to be a file in the Windows SDK? It is not clear for how long this has been an issue, and why it has not been flagged sooner. It is also not clear how this has built in the past.
The run_example
script is an executable script with a shebang line that is designed for Linux. It contains valid Python code, but will fail if invoked via a ROS2 run
or launch
command (e.g., ros2 run force_dimension run_example
) when using the MS Windows operating system.
Although there is a Python example for quickly testing out the Force Dimension node, it does not involve forces. It would make sense to create another script that involves forces -- perhaps by mirroring the center.cpp
example in the Force Dimension SDK.
Originally posted by @ricmua in #10 (comment)
The delta robot has a control unit with a physical button (see page 16 of the manual). For the sigma robot, however, forces are enabled and disabled programmatically (see page 20 of the manual). Examples in the Force Dimension SDK tend to invoke dhdEnableForce
early in execution. This was likely true in early versions of the ROS2 node in this package, but the functionality was removed. In order to ensure that the node works with the sigma robot, this should be re-added.
An early decision was made to avoid tf2 (see the ROS2 introduction to tf2). Re-evaluate that decision.
See pull request 15 (and issue 16),
There is a fairly basic flaw in the on_activate
method of the node. An int
type is used for sample_interval_ms
, instead of float, while setting the sample timer. This effectively sets an upper limit of 1000 Hz on the sample frequency. This won't be enough for smooth robot control.
The dhdGetButton function returns a numeric type that must be compared to DHD_ON
. This comparison should be done before publishing, since the client might not have access to the value of DHD_ON
.
See pull request 15. Increase the coverage of the Force Dimension SDK to include these functions.
The ROS2 launch file intended to facilitate running of the Python example should be expressed as YAML, since it is more easily interpreted by those that are new to ROS.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.