open-dynamic-robot-initiative / robot_properties_solo Goto Github PK
View Code? Open in Web Editor NEWLicense: BSD 3-Clause "New" or "Revised" License
License: BSD 3-Clause "New" or "Revised" License
Currently, this repository is structured in the format of a ROS package and has all the elements of a ROS package including launch files. However, almost all the launch files fail on missing dependencies and there doesn't seem to be a guide on how to get all the dependencies installed and working correctly themselves. One of the dependencies I came across also doesn't seem to exist as a GitHub repository: robot_properties_stuggihop
.
ls
in my catkin_ws/src/
directoryati_ft_sensor/ mpi_cmake_modules/ serialization_utils/ tf2_msgs/
blmc_drivers/ pinocchio_bullet/ shared_memory/ tf2_py/
blmc_robots/ pybind11/ signal_handler/ tf2_ros/
CMakeLists.txt@ pybind11_catkin/ test_tf2/ tf2_sensor_msgs/
dg_blmc_robots/ real_time_tools/ tf2/ tf2_tools/
dynamic_graph_manager/ robot_interfaces/ tf2_bullet/ time_series/
geometry2/ robot_properties_solo/ tf2_eigen/ yaml_cpp_catkin/
master_board_sdk/ robot_properties_teststand/ tf2_geometry_msgs/
master_board_sdk_catkin/ rqt_dynamic_graph/ tf2_kdl/
All these packages I had to discover from error messages, find on GitHub, install the package, attempt to compile, and repeat. After that process, there were other errors preventing catkin_make
from compiling successfully that I have yet to solve.
catkin_ws/build/CMakeFiles/CMakeError.log
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_916b0/fast"
/usr/bin/make -f CMakeFiles/cmTC_916b0.dir/build.make CMakeFiles/cmTC_916b0.dir/build
make[1]: Entering directory '/home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_916b0.dir/CheckSymbolExists.c.o
/usr/bin/cc -o CMakeFiles/cmTC_916b0.dir/CheckSymbolExists.c.o -c /home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_916b0
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_916b0.dir/link.txt --verbose=1
/usr/bin/cc -rdynamic CMakeFiles/cmTC_916b0.dir/CheckSymbolExists.c.o -o cmTC_916b0
CMakeFiles/cmTC_916b0.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x1b): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_916b0.dir/build.make:97: recipe for target 'cmTC_916b0' failed
make[1]: *** [cmTC_916b0] Error 1
make[1]: Leaving directory '/home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_916b0/fast' failed
make: *** [cmTC_916b0/fast] Error 2
File /home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_3810d/fast"
/usr/bin/make -f CMakeFiles/cmTC_3810d.dir/build.make CMakeFiles/cmTC_3810d.dir/build
make[1]: Entering directory '/home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_3810d.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_3810d.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.10/Modules/CheckFunctionExists.c
Linking C executable cmTC_3810d
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3810d.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_3810d.dir/CheckFunctionExists.c.o -o cmTC_3810d -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_3810d.dir/build.make:97: recipe for target 'cmTC_3810d' failed
make[1]: *** [cmTC_3810d] Error 1
make[1]: Leaving directory '/home/andrew/Documents/School/MQP/solo_sim/catkin_ws/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_3810d/fast' failed
make: *** [cmTC_3810d/fast] Error 2
Hi, I'm just wondering if there is any special reason to iterate over the xacro_files
twice ? or is just a confusion ?
robot_properties_solo/setup.py
Lines 111 to 117 in 2201f45
Hello, Thank you for a great project!
I am using the RaiSim simulator for reinforcement learning. The simulator only supports URDF models.
I found the XACRO builder and it references the STL model for collision estimation.
Do you have pre generated urdf files with an explicit indication of collisions like:
<collision>
<origin rpy="0 1.57079632679 0" xyz="0 0 -0.125"/>
<geometry>
<box size="0.25 0.034 0.043"/>
</geometry>
</collision>
Or urdf file with links to .obj files?
Hi,
I wonder if there are any available URDF files of this robot model for ROS users.
Thank you in advance,
Jaehyun
Hello,
I'm looking to setup a simulation environment with the Solo 12 robot and am having trouble getting the ROS package (and its dependencies) to compile with catkin_make
. I wasn't able to find any documentation walking through the version requirements and installation of these ROS packages, so I went on the assumption of using ROS melodic with Ubuntu 18.04.
I'd appreciate any help in getting these packages up and running to run simulations of Solo 12 or any pointers to helpful documentation.
Thanks.
Hello,
I recently started working on the SOLO-12 model, especially on the characterization of the collisions. For now I only looked at the collision pair between the front left leg and the body (base link). I'm working with the FCL library to check the distance between the meshes in order to build a collision map in the shoulder's rotations space. My problem is that there is a subspace of the configuration space where the collision looks wrong (see attached pictures) : FCL detects a collision when there should not be one on the real robot in the same configuration.
Here as you can see, the collision that is detected is between the edge of the motor and the edge of the base link.
This problematic configuration is not unique and the subspace where it happens can be (I hope) better seen here, along with a more complete view of the collision map for the whole configuration space
PS : please tell me if this issue doesnt fit the standards for this repo
Hello,
I just installed all the related dependencies, but I get an import error when I try to run demo_simulate_solo8.py
$ python robot_properties_solo/demos/demo_simulate_solo8.py
pybullet build time: Dec 10 2021 10:04:01
/Users/emrecemal/miniconda3/lib/python3.8/site-packages/pinocchio/shortcuts.py:45: UserWarning: You passed package dir(s) via argument geometry_model and provided package_dirs.
geom_model = pin.buildGeomFromUrdf(model, filename, geometry_type, package_dirs)
Traceback (most recent call last):
File "tesst.py", line 16, in
from robot_properties_solo.solo8wrapper import Solo8Robot, Solo8Config
File "/Users/emrecemal/miniconda3/lib/python3.8/site-packages/robot_properties_solo/solo8wrapper.py", line 17, in
from robot_properties_solo.utils import find_paths
ModuleNotFoundError: No module named 'robot_properties_solo.utils'
Good day,
For a learning project, I am working with Solo8 and Solo12. During the learning process, I have found it very useful to enable self-collisions during simulation, as the impacts generated by self collisions and the resultant impact generalized forces are a strong cue to the control policy to avoid such states, simply by their energy expense. Therefore guiding the policy exploration towards safer and more energy-efficient dynamical states.
This is working properly for Solo8, however, I came to realize that the Solo12 URDF has constant links in collision and therefore self-collision cannot be enabled during simulation (because infinite forces are generated due to interpenetration).
I have not had the time to debug which links and specific points are in a constant self-collision, but I hope to do so soon and hopefully make a PR. In the meantime, I leave constancy of this issue (I believe is an issue)
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.