Giter Site home page Giter Site logo

robot_properties_solo's People

Contributors

ahmadgazar avatar avadesh02 avatar hammoudbilal avatar huaijiangzhu avatar jviereck avatar lhumd avatar luator avatar majidkhadiv avatar maximiliennaveau avatar nim65s avatar pfernbach avatar shahramkhorshidi avatar swuuu avatar thibnoel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robot_properties_solo's Issues

Create option to run simulation through ROS and roslaunch with the existing launch files

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.

Output of ls in my catkin_ws/src/ directory
ati_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.

From 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

Going over the `xacro_files` twice?

Hi, I'm just wondering if there is any special reason to iterate over the xacro_files twice ? or is just a confusion ?

for xacro_file in xacro_files:
for xacro_file in xacro_files:
# Generated file name
generated_urdf_path = str(
Path(build_folder) / Path(xacro_file).stem
)
self._build_single_xacro_file(xacro_file, generated_urdf_path)

Collision assessment in URDF

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?

Having trouble bringing up ROS package to run simulations

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.

Undue collision due to URDF meshes placement

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.

problematic_collision_view0
problematic_collision_view1

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
collision_config_space
zoom_problematic_config

PS : please tell me if this issue doesnt fit the standards for this repo

No module named 'robot_properties_solo.utils'

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'

Parent Link Collisions on Solo12

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.